우분투 서버의 SFTP에 대한 기본 권한을 어떻게 설정합니까?


16

우분투 10.04 서버가 있습니다. SFTP 또는 SSH를 통해 생성 (또는 복사) 된 새 파일에 g + rw 및 g + rwx 권한 (해당되는 경우)이 있도록 설정하려면 어떻게해야합니까?

또한 setgid (chmod g + s)를 사용하여 적절한 그룹 소유자를 상속합니다.

답변:


12

/ etc / ssh / sshd_config에서 다음과 같이 (-u 0002)에 플래그와 값을 전달하여 umask 값을 설정할 수 있습니다.

Subsystem sftp /usr/lib/openssh/sftp-server -u 0002

구성 파일의 기존 서브 시스템 sftp 행에 -u 0002를 추가하십시오.

그런 다음 변경 사항을 적용하려면 ssh를 다시 시작해야합니다.

service ssh restart

이것은 최신 버전의 OpenSSH에만 적용되지만 가능한 경우 선호되는 솔루션이어야합니다.
Andrew B

2
클라이언트가 설정 한 것보다 더 제한적인 권한이 필요한 경우에만 작동합니다.
Joost

Joost가 말했듯이 이것은 그룹 쓰기 권한을 강제하는 데 도움이되지 않습니다. 나는 그룹 쓰기 금지.
비행

최근 문서에 따르면 동일한 옵션을 사용할 수 있습니다 Subsystem sftp internal-sftp.
underscore_d

10

/ etc / ssh / sshd_config에서 다음을 변경하십시오.

Subsystem sftp /usr/lib/openssh/sftp-server

에:

Subsystem sftp /bin/sh -c 'umask 0002; exec /usr/libexec/openssh/sftp-server'

물론 : http://jeff.robbins.ws/articles/setting-the-umask-for-sftp-transactions


1
쓸모없는 프로세스 가 생기지 않도록 execfinal 앞에을 넣는 것이 좋습니다 . /usr/.../sftp-serversh
user1686 2016 년

또한 umask는 숫자 일뿐입니다. 0002로 짧게 쓸 수 있습니다 02.
user1686 2016 년

umask가 8 진이라고 생각했지만 exec 부분에 감사드립니다.
wag2639

2
예, umask 8 진수입니다. 그렇다고 세 개의 0이 필요하다는 의미는 아닙니다. 하나는 충분합니다. (사실, umask명령은 필요하지 않습니다 어떤 . 항상 8 진수로 인수를 읽고, 앞에 0을) ...하지만 두 번째 생각에, 어쩌면 0002이해하는 것이 명확하다.
user1686 2016 년

2
이것은 나를 위해 작동하지 않습니다. g + w 권한이 적용되지 않습니다.
비행
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.