rootが無効化された環境でsshfsで権限の必要なファイルを変更する方法
sshfsは便利だ。リモートのファイルシステムをローカルのファイルシステムにマウントして扱うことができる。これにより、ローカル側のGUIのファイルシステムビューワーやエディターを使った温かみののある手作業による管理ができる。
ところで、Ubuntu Serverではrootが無効化されている。そのため、sshfs root@host:remote_path local_path はできない。代わりに、root権限が必要な操作はsudoを使って行う。しかし、sshfsではsudoができない。一体どうすればいいのだろうか。
試していないが、調べたところ、sftp_serverを指定する方法で行けるようだ。
まず、sudoのcredentialをキャッシュさせるために、ssh軽油でsudo -vを実行しておく。
そして、以下のようにsshfsでsftp-serverを指定する。
sshfs user@host:remote_path local_path -o sftp_server="/usr/bin/sudo /path-to/sftp-server"
おそらく行けるはずである。