sshfsマウントファイルシステムのumask設定

sshfsマウントファイルシステムのumask設定

リモート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-dataumaskを持っています0027。私のローカルファイルシステムでは、ユーザーはmartinumaskです0077。 umaskを0077ローカルファイルに保持したいのですが、0027sshfsマウントファイル(/mnt/data/のすべてのファイル)で使用したいと思います。

可能ですか?

リモートファイルシステムのディレクトリ全体にacl権限を設定してみました。

setfacl -d -m g::rx  /var/www/
setfacl -d -m o::--- /var/www/

ただし、これはsshfsマウント共有には影響しません。

答え1

sshfssftp背後で使用されており、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常にファイルを生成した実行中のプロセスに関連付けられています。

関連情報