/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 常にファイルを作成するプロセスの実行に関連付けられています。