내 사용자의 홈 디렉터리에 대한 읽기/쓰기 권한에 몇 가지 문제가 있습니다.
FTP를 통해 데이터를 업로드할 수 있는 사용자가 있는데(예를 들어 ftp_user
) 이 사용자는 자신의 /home/ftp_user
디렉토리를 가지고 있습니다.
/home/ftp_user
필요한 경우 업로드된 콘텐츠를 보고 복사하려면 다른 표준 사용자(모든 사람은 아님)가 읽기 전용 모드로 액세스 해야 합니다 .
/home/ftp_user/에서 a chgrp
및 (644)를 사용해 보았지만 소유권과 읽기/쓰기 권한을 잃었습니다 chmod
. ftp_user
777을 설정할 수 있지만 이것이 최선의 해결책이라고 생각하지 않습니다. 특정 사용자에게만 읽기 액세스 권한을 부여하고 싶습니다.
어떤 제안이 있으십니까?
감사해요!
추가: 완벽한 솔루션은 특정 디렉토리만 공유하는 것입니다 /home/ftp_user/shared
. 예를 들어 필요한 경우 Ubuntu 16.04를 실행하고 있습니다.
답변1
액세스 권한이 있어야 하는 모든 사람이 이 그룹의 구성원이라고 가정합니다 ftp_user
.
# get everything in a defined state
chown -R ftp_user:ftp_user /home/ftp_user
chmod -R u=rwX,g=,o= /home/ftp_user
# allow the group to access contents of the home dir (no content listing)
chmod 710 /home/ftp_user
# give the group read access to everything
chmod -R u=rwX,g=r,o= /home/ftp_user/shared
# give the group access to directories and give newly created (`cp`, not `mv`) objects the same group
find /home/ftp_user/shared -type d -exec chmod g=rxs {} +
/home/ftp_user
이는 나중에 소유자의 읽기/실행 권한 이상의 권한으로 생성된 파일이나 디렉터리 에 대한 액세스를 차단하지 않습니다 . 이는 기본 ACL을 사용하여 수행할 수 있습니다 /home/ftp_user
.
setfacl -d -m u::rwx,g::-,o:- /home/ftp_user