/mnt/data
にリモートsshfsファイルシステムをマウントしています 。以下は、/etc/fstab
の関連行です。 :
[email protected]:/var/www/ /mnt/data fuse.sshfs rw,noauto,nodev,nosuid,noexec,_netdev,allow_other,default_permissions,uid=martin,gid=martin 0 0
/var/www/
内のファイル リモートシステムでは、ユーザーwww-data
が所有しています 、しかし私はuid=martin,gid=martin
を使用しています マウントされたファイルシステムの所有権をuid1000にマップします。
/mnt/data/
にcdしたとき マーティンとして、私は正しいファイル権限/所有権を持っていますが、umaskを変更する必要があります。
リモートファイルシステムでは、ユーザーwww-data
umask 0027
があります 。私のローカルファイルシステムでは、ユーザーmartin
umask 0077
があります 。 umaskを保持したい0077
ローカルファイルで、ただし0027
を使用します sshfsにマウントされたファイル(つまり、/ mnt / data /内のすべてのファイル)。
これも可能ですか?
リモートファイルシステムのディレクトリ全体にACLアクセス許可を設定してみました:
setfacl -d -m g::rx /var/www/
setfacl -d -m o::--- /var/www/
ただし、これはsshfsにマウントされた共有には影響しません。
承認された回答:
sshfs
sftp
を使用しています ボンネットの下とumask
新しいファイルを作成するために、リモートのsftp-server
によって処理されます 。 umask
を設定できます sftp-server
への引数として /etc/ssh/sshd_config
にあります
Subsystem sftp /usr/lib/openssh/sftp-server -u 027 # Debian/Ubuntu
または
Subsystem sftp /usr/libexec/openssh/sftp-server -u 027 # RHEL/Fedora
または
Subsystem sftp /usr/lib/ssh/sftp-server -u 027 # Arch
umask設定と拡張ACLは、opensshによって実装されたSFTPプロトコルを介して転送されません。また、「umask
」がないことにも注意してください ファイル上」、ただしumask
常にファイルを作成するプロセスの実行に関連付けられています。