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
)는 디렉토리의 모든 새 파일 시스템 객체에 적용됩니다. 그것은 간단합니다이건 잊어 버려.