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/user 소유 www-data이지만 uid=martin,gid=martin마운트된 파일 시스템의 소유권을 uid 1000에 매핑합니다.

마틴 으로 CD를 사용하면 /mnt/data/올바른 파일 권한/소유권이 있지만 umask를 변경해야 합니다.

원격 파일 시스템에서 사용자는 www-dataumask 를 가지고 있습니다 0027. 내 로컬 파일 시스템에서 사용자 martin는 umask 입니다 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항상 파일을 생성한 실행 중인 프로세스와 연결되어 있습니다.

관련 정보