リモートsshfsファイルシステムをマウントしました/mnt/data
。以下は関連行です/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
マウントされたファイルシステムの所有権をuid 1000にマップします。
マーティンとしてCDを使用すると、/mnt/data/
正しいファイル権限/所有権がありますが、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マウント共有には影響しません。
答え1
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
常にファイルを生成した実行中のプロセスに関連付けられています。