Debianマシンのsshfs
からリモートディレクトリをマウントしたいのですが、/work
のように言ってください。そこで、ユーザーをFuse
グループに追加して、次のコマンドを実行します。
sshfs [email protected]:/remote/dir /work
そして、すべてが正常に動作します。ただし、起動時にディレクトリをマウントしておくと非常に便利です。そこで、以下の/etc/fstab
エントリを試しました。
sshfs#[email protected]:/remote/dir /work Fuse user,_netdev,reconnect,uid=1000,gid=1000,idmap=user 0 0
sshfs
はパスワードを要求し、ほぼ正しくマウントします。ほとんどの場合、通常のuser
はマウントされたディレクトリにアクセスできず、ls -la /
を実行すると次のようになります。
d????????? ? ? ? ? ? work
Fstabを介して適切な権限を取得するにはどうすればよいですか?
allow_other
でオプション/etc/fstab
を使用すると、実際のマウントを行っているユーザー以外のユーザーが、マウントされたファイルシステムにアクセスできます。システムを起動してsshfsをマウントすると、通常のユーザーではなくユーザーrootによって実行されます。 allow_other
を追加すると、root以外のユーザーがマウントポイントにアクセスできます。マウントポイントの下のファイル権限は以前と同じままなので、そこに0700マスクのあるディレクトリがある場合、rootと所有者以外は誰もアクセスできません。
したがって、代わりに
sshfs#[email protected]:/remote/dir /work Fuse user,_netdev,reconnect,uid=1000,gid=1000,idmap=user 0 0
使用する
sshfs#[email protected]:/remote/dir /work Fuse user,_netdev,reconnect,uid=1000,gid=1000,idmap=user,allow_other 0 0
これは少なくとも私にとってはトリックでした。私はシステムを起動してこれをテストしませんでしたが、代わりにrootとしてmountコマンドを発行し、マウントされたsshfsに通常のユーザーとしてアクセスしようとしました。
また、前の回答を補足するために:
Sshfs#[user] @ [Host]構文よりも[user] @ [Host]構文を優先する必要があります。
Root以外のユーザーが/etc/Fuse.confでallow_otherマウントオプションを指定できるようにしてください。
ホストのシグネチャが.ssh/known_hostsファイルに追加されるように、各sshfsマウントをrootで少なくとも1回は手動で使用してください。
$Sudosshfs [user] @ [Host]:[remote_path] [local_path] -o allow_other、IdentityFile = [path_to_id_rsa]
また、受け入れられた回答を補足します。ターゲットのユーザーは、ターゲットマシンでシェルへの権利を持っている必要があります:Sudo chsh username
-> /bin/bash
。
/ bin/falseを持つユーザーがいて、これが問題を引き起こしました。