SCP가 umask를 존중하게 만드는 방법은 무엇입니까?
이거 추가해봤는데
Subsystem sftp internal-sftp -u 0002
/etc/ssh/sshd_config에서
그리고
session optional pam_umask.so umask=0002
/etc/pam.d/sshd에서
제가 시도할 수 있는 다른 것이 있나요?
scp가 umask에서 제안한 664 대신 644로 파일을 생성할 때마다
답변1
scp
원격 측에 별도의 사용자를 생성하고 umask
패스를 설정할 수 있습니다.login.conf(5)
(OpenBSD의 경우).
답변2
AFAIK, scp
쉘이 초기화되지 않으므로 파일을 가져올 수 없습니다(예: .profile
, .bashrc
, ) /etc/profile
.
따라서 이를 수행하는 유일한 방법은 pam 모듈을 사용하는 것 같습니다 pam_umask.so
. 그러나 이는 모든 사용자에게 적용됩니다(더 복잡한 PAM 설정을 사용하지 않는 한).
이 동작을 SSH 세션으로 제한하려면 /etc/pam.d/sshd
아마도 이 파일이 가장 적합한 장소일 것입니다.
session optional pam_umask.so umask=0007
답변3
rsync 명령과 같은 더 나은 것을 사용해야 한다고 생각합니다.
남성에게서 따옴:
rsync의 일부 추가 기능은 다음과 같습니다.
support for copying links, devices, owners, groups, and permissions
통사론:
Local: rsync [OPTION...] SRC... [DEST] Access via remote shell: Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
원본 파일의 수정 시간, 액세스 시간, 모드를 유지하려면 scp 뒤에 -p를 사용하세요. 하지만 그것은 당신이 찾고 있는 것이 아닙니다.
답변4
umask로는 원하는 작업을 수행할 수 없습니다. 대신 마스크를 사용해 보세요.
umask의 기능은 다음과 같습니다.
- 기본 폴더당 케이스는 775개, 파일은 664개로 생성됩니다(소유자/사용자 읽기 + 쓰기 그룹 읽기 + 쓰기 기타 읽기 - 폴더에는 사용자 그룹 및 기타에 대한 순회도 설정되어 있음)
이것이 마음에 들지 않으면 사용자가 그룹을 변경하지 않음을 의미하는 umask(예: 027)를 설정하여 권한을 차단할 수 있습니다. -2(기본값 빼기 쓰기) 기타 -7(기본값 빼기 폴더인 경우 읽기/쓰기/실행) 횡단)
간단히 말해서: umask 027 ~= chmod gw o-rwx
따라서 umask를 사용하면 권한을 낮추거나 삭감할 수만 있습니다.
마스크를 사용하여 권한 추가/높이기
더 많은 정보가 필요하면 umask 및 마스크에 대한 매뉴얼 페이지를 읽거나 Wikipedia의 항목을 확인하세요.http://en.m.wikipedia.org/wiki/Umask