사용자가 다른 사용자의 홈 디렉토리를 읽을 수 있도록 허용 권한 관련

시스템 관리가 처음이며 권한 관련 쿼리가 있습니다. 라는 그룹이 administration있습니다. 내부 administration그룹, 나는 사용자가 user1, user2, user3, superuser. 모든 사용자가 administration그룹에 있습니다. 이제 다른 사용자 superuser/home디렉토리 를 볼 수 있는 권한을 사용자에게 부여해야 합니다. 그러나, 나는 싶지 않아 user1, user2, user3자신 이외의 다른 사용자의 홈을 볼 수 있습니다. (즉, 집 등 user1만 볼 수 있어야합니다 user1).

사용자와 그룹을 만들고 모든 사용자를 그룹에 할당했습니다. superuser지금 의 권한을 어떻게 지정해야 합니까?

다시 말해서, 나는 두 그룹을 가지고 있다고 생각 NormalUsers하고 Superuser있습니다. NormalUsers그룹은 사용자가있을 것입니다 user1, user2하고 user3. Superuser그룹은 사용자 만이있을 것이다 Superuser. 이제 Superuser그룹의 사용자 파일에 대한 전체 액세스 권한이 필요합니다 NormalUsers. 리눅스에서 가능합니까?



답변

사용자가 협력적인 경우 액세스 제어 목록 (ACL)을 사용할 수 있습니다 . 에 user1대한 읽기 권한을 부여 하는 홈 디렉토리 (및 친구) 의 ACL을 설정하십시오 superuser. 새로 작성된 파일 및 기존 파일의 ACL에 대한 기본 ACL도 설정하십시오.

setfacl -R -m user:superuser:rx ~user1
setfacl -d -R -m user:superuser:rx ~user1

user1 원하는 경우 파일에서 ACL을 변경할 수 있습니다.

항상 파일에 superuser대한 읽기 권한을 부여 user1하려면 bindfs를 사용하여 다른 권한으로 사용자의 홈 디렉토리에 대한 다른보기를 작성할 수 있습니다 .

mkdir -p ~superuser/spyglass/user1
chown superuser ~superuser/spyglass
chmod 700 ~superuser/spyglass
bindfs -p a+rX-w ~user1 ~superuser/spyglass/user1

~ superuser / spyglass / user1을 통해 액세스 한 파일은 세계적으로 읽을 수 있습니다. 권한 이외의 의 홈 디렉토리 ~superuser/spyglass/user1보기입니다 user1. 에 superuser액세스 할 수있는 유일한 사용자 이므로이 혜택 ~superuser/spyglasssuperuser누릴 수 있습니다.


답변

ACL을 사용하여 특정 디렉토리에 대한 액세스 권한을 임의의 그룹에 부여 할 수 있습니다.

예를 들어,를 실행 setfacl -m g:dba:rwx /home/foo한 경우 dba 그룹의 구성원은 디렉토리를 소유 한 그룹에 관계없이 rwx 권한을 갖습니다.

이 권한을 포함하도록 “기본”ACL (디렉토리 내에 새로 작성된 오브젝트의 ACL)을 설정하려고 할 수도 있습니다.


답변

불행히도 바닐라 리눅스에서 직접이 작업을 수행 할 수있는 방법은 없습니다.

실행을 허용하려는 허용 가능한 명령 목록이있는 부분 관리자에 대해 sudoers에서 새 그룹을 만들 수 있습니다.

그러나 원하는 것을 정확하게 얻으려면 Apparmor 또는 SELinux를 사용하여 원하는 것을 달성해야합니다. 불행히도 이러한 도구 중 어느 것도 쉽게 설정하고 사용할 수 없으며 예제는 빠른 답변 범위를 벗어납니다.


답변