사용자 액세스 개인 디렉터리

사용자 액세스 개인 디렉터리

User1가지고 있어야 한다쓰기 액세스파일을 다운로드하려면"사람들"도착하다뿌리디렉터리 /bucket에 대한 다른 작업은 허용되지 않습니다.

User2필요읽기 권한보관소"사람들"존재하다뿌리디렉터리 /bucket및 가져오기 파일"사람들"User2서버에 들어가세요 .

/bucket위 사용자의 루트 디렉터리 권한과 사용자 권한을 설정하는 방법은 무엇입니까 ?

답변1

"루트 디렉토리"가 무엇을 의미하는지 명확히 할 수 있습니까? 또한 Linux 배포판을 지정하지 않았으므로 내 명령은 Ubuntu를 기반으로 합니다.

ACL이 없으면 옵션이 제한됩니다. 나는 이러한 사용자가 /bucket 디렉토리를 소유하는 것을 원하지 않는다고 가정합니다. 그룹을 만들고(예제에서는 "Readers"라고 함) User2를 "Readers" 그룹에 추가합니다.

addgroup readers
adduser User2 readers

/bucket 디렉터리의 그룹 소유권을 "독자"에게 부여합니다.

chgrp readers /bucket

이제 독자 그룹에 /bucket 디렉터리에 대한 읽기 액세스 권한을 부여하고 "other"가 쓰기 액세스만(읽기 불가) 갖도록 설정할 수 있습니다. 또한 쓰기 권한이 있는 사람이 다른 사용자의 파일을 삭제하는 것을 방지하기 위해 고정 비트를 설정했습니다.

chmod 1753 /bucket

완료되면 권한은 다음과 같아야 합니다.

drwxr-x-wt 1 root   readers     0 Feb 26 17:08 bucket

이는 루트에게 모든 권한을 부여하며, 독자는 읽을 수는 있지만 쓸 수는 없고, 다른 사람은 디렉터리에 쓸 수 있지만 읽을 수는 없습니다.

보다 세부적인 제어(예: 사용자당 권한)가 필요한 경우 ACL 사용을 고려할 수 있습니다. ACL을 사용하기 위해 위의 프로세스를 약간 변경하겠습니다.

먼저 두 사용자를 모두 포함하는 그룹을 만듭니다. 내 예에서는 이 그룹을 "bucket-users"라고 부르겠습니다.

addgroup bucket-users
adduser User1 bucket-users
adduser User2 bucket-users

다음으로 버킷 사용자 그룹을 제공합니다.완전히 통제하다/버킷 디렉토리. User1이 디렉토리에 넣지 않은 파일을 삭제하는 것을 방지하려면 고정 비트가 다시 필요합니다.

chmod 1770 /bucket

완료되면 권한은 다음과 같아야 합니다.

drwxrwx--T  1 root    bucket-users 0 Feb 26 17:08 bucket

다음으로 setfacl 명령을 사용하여 이러한 사용자의 권한을 추가로 제한하겠습니다.

setfacl -m "u:User1:-wx" /bucket
setfacl -m "u:User2:r-x" /bucket

그런 다음 getfacl 명령을 사용하여 이러한 권한을 확인할 수 있습니다.

$ getfacl bucket
# file: bucket
# owner: root
# group: bucket-users
# flags: --t
user::rwx
user:User1:-wx
user:User2:r-x
group::r-x
mask::rwx
other::---

관련 정보