시스템 관리가 처음이며 권한 관련 쿼리가 있습니다. 라는 그룹이 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/spyglass
만 superuser
누릴 수 있습니다.
답변
ACL을 사용하여 특정 디렉토리에 대한 액세스 권한을 임의의 그룹에 부여 할 수 있습니다.
예를 들어,를 실행 setfacl -m g:dba:rwx /home/foo
한 경우 dba 그룹의 구성원은 디렉토리를 소유 한 그룹에 관계없이 rwx 권한을 갖습니다.
이 권한을 포함하도록 “기본”ACL (디렉토리 내에 새로 작성된 오브젝트의 ACL)을 설정하려고 할 수도 있습니다.
답변
불행히도 바닐라 리눅스에서 직접이 작업을 수행 할 수있는 방법은 없습니다.
실행을 허용하려는 허용 가능한 명령 목록이있는 부분 관리자에 대해 sudoers에서 새 그룹을 만들 수 있습니다.
그러나 원하는 것을 정확하게 얻으려면 Apparmor 또는 SELinux를 사용하여 원하는 것을 달성해야합니다. 불행히도 이러한 도구 중 어느 것도 쉽게 설정하고 사용할 수 없으며 예제는 빠른 답변 범위를 벗어납니다.