여러 그룹에 파일에 대한 권한을 부여하는 방법은 무엇입니까?

여러 그룹에 파일에 대한 권한을 부여하는 방법은 무엇입니까?

Projekte라는 디렉토리를 만드는 연습이 있습니다. Auftrag 및 Support 그룹에는 r 및 w 권한을 부여해야 하지만 다른 그룹에는 r 권한만 부여해야 합니다.

나는 이것이 불가능하다는 것을 방금 깨달았습니다. 어떡해?

당신의 도움에 감사드립니다

답변1

일부 사용자에게는 읽기 권한이 필요하고 일부 사용자에게는 읽기/쓰기 권한이 필요하기 때문에 새 그룹을 생성하여 이 작업을 수행할 수 없습니다. 읽기/쓰기 및 읽기/쓰기 권한이 있는 Auftrag사용자가 필요하지 않은 경우Support모든 사람그렇지 않은 경우에는 읽기 권한이 있으며, 이 경우 Auftrag모든 사용자를 포함하는 그룹 을 생성 Support하고 그룹 쓰기 및 전역 읽기를 설정할 수 있습니다.

또는 파일 시스템이 이를 지원한다고 가정하면 확장 ACL을 사용할 수 있습니다. https://wiki.archlinux.org/index.php/Access_Control_Lists

예를 들어:

# setfacl -m "g:Auftrag:rw" /file/path

# setfacl -m "g:Support:rw" /file/path

답변2

디렉터리로 변경하기 위한 실행 비트도 대상에 포함되어 있다고 가정해야 합니다.

루트 사용자가 됩니다.

sudo -i

디렉터리를 만듭니다. (루트 사용자는 소유자이자 그룹 소유자입니다.)

mkdir Projekte

권한을 정의합니다. ACL의 영향을 강조하기 위해 루트 액세스만 허용하겠습니다.

chmod 0700

이제 ACL을 사용하여 표준 권한이 향상되었습니다.

setfacl -d -m g:Auftrag:7 Projekte
setfacl -m g:Auftrag:7 Projekte

setfacl -d -m g:Support:7 Projekte
setfacl -m g:Support:7 Projekte

setfacl -d -m o::5 Projeckte
setfacl -m o::5 Projeckte

위에서 -m스위치는 마스크이며 스위치는 -d마스크를 디렉터리의 모든 새 파일 시스템 개체에 대한 기본 마스크로 만듭니다. 8진수 값을 사용할 필요가 없습니다. 다음과 같이 작성할 수도 있습니다.

setfacl -d -m g:Auftrag:rwx Projekte
setfacl -m g:Auftrag:rwx Projekte

setfacl -d -m g:Support:rwx Projekte
setfacl -m g:Support:rwx Projekte

setfacl -d -m o::r-x Projeckte
setfacl -m o::r-x Projeckte

사용자, 그룹 및 기타 마스크는 동일한 방식으로 작동 g:groupname:---하거나 다음과 조합하여 작동합니다. u:username:---,g:groupname:---,o::---이는 o기타를 의미합니다. 사용자 이름이나 그룹 이름을 지정하지 않으면 현재 사용자/그룹 소유권에 마스크가 적용됩니다.

마스크 적용 방법과 기본 마스크를 확인하세요. 마스킹(마스킹 없음 -d)은 디렉터리 자체에 적용됩니다. 마스크( 포함 -d)는 디렉토리의 모든 새 파일 시스템 객체에 적용됩니다. 그것은 간단합니다이건 잊어 버려.

관련 정보