잘 모르시겠지만 최대한 간단하게 만들어 보겠습니다. IT팀과 마케팅팀이 있어요. 두 그룹 모두 동일한 디렉터리(예: Retail)에 액세스할 수 있기를 바랍니다. 제가 원하는 것은 소매 및 마케팅 읽기/쓰기에 대한 모든 권한을 IT에 부여하는 것입니다.
sudo chmod를 사용한다면 두 그룹 모두에 동일한 권한을 부여하게 됩니다. 이 문제를 해결하거나 동일한 디렉터리에 속한 다른 그룹에 다른 권한을 부여할 수 있는 다른 방법이 있습니까?
답변1
디렉터리에 ACL(액세스 제어 목록)이 필요할 수 있습니다. 바라보다그 설명Arch Linux 위키에서 또는그것들우분투의 도움. 두 가지의 혼합:
설치: acl 패키지는 systemd의 종속성이므로 이미 설치되어 있어야 합니다. 저장소에서 acl 유틸리티를 설치해야 할 수도 있습니다. 서버 버전에서는 이것이 필수이지만 데스크탑 버전에서는 acl이 기본적으로 설치됩니다.
$ sudo apt-get install acl
ACL 활성화: acl 옵션을 사용하여 파일 시스템을 마운트해야 합니다. fstab을 사용하여 시스템에 영구적으로 만들 수 있습니다. 다음 명령을 사용하여 ext* 형식 파티션에 대한 옵션을 확인하십시오.
# tune2fs -l /dev/sdXY | grep "Default mount options:
기본 설치 옵션:
user_xattr acl
필요한 경우 ACL을 활성화하려는 파티션에 acl 옵션을 추가합니다
/etc/fstab
. 예를 들어:... UUID=07aebd28-24e3-cf19-e37d-1af9a23a45d4 /home ext4 defaults,acl 0 2 ...
필요한 경우 ACL 지원 파티션을 다시 마운트하여 적용하세요. 예를 들어:
$ sudo mount -o remount /home
ACL 설정: 그룹에 대한 권한을 설정합니다(그룹은 그룹 이름 또는 ID임).
# setfacl -m "g:group:permissions" <file/dir>
액세스 제어 목록 표시:
# getfacl <file/dir>
답변2
rwx
죄송합니다. IT 및rw
마케팅 부서 에 먼저 연락했어야 했는데
ACL을 사용하여 이 작업을 수행할 수 있지만 그다지 유용하지는 않습니다.
x
디렉터리의 모든 파일에 액세스하려면 권한이 필요하므로 rw-
별 의미가 없습니다. r
(없이 ) 만 사용하면 x
디렉토리에 있는 파일 이름을 나열할 수 있지만(소유자, 크기 등은 나열할 수 없음), w
이것이 없으면 x
전혀 쓸모가 없습니다.
또한삭제하고파일은 권한에 따라 w
제어 됩니다.디렉토리에, 그리고 소유자문서거기에서는 중요하지 않습니다. 예외는 "고정 비트"( )가 디렉토리에 설정된 경우입니다 chmod +t
. 이 경우 사용자는 자신이 소유한 파일만 삭제할 수 있습니다.
권한에 관계없이 다른 사용자의 파일로 작업할 수 있는 가능성과 같이 이 이상의 기능을 찾고 있다면 루트에 대한 대안은 없습니다.
바라보다:
(기술적으로 이는 루트가 되는 것과 관련이 없으며 액세스를 우회할 수 있는 특정 기능이 있는 프로세스입니다. 그러나 디렉터리별로 설정할 수 없으므로 해당 기능이 있는 프로세스는 실제로 루트입니다.)
답변3
첫 번째 옵션은 확장 ACL을 사용하는 것입니다. 나 이거 싫어해. ACL 확장으로 인해 문제를 해결하는 데 시간이 더 오래 걸리고 일반적으로 관리하기가 더 어렵다는 것을 알았습니다. 제안자들은 동의하지 않고 이러한 유형의 요구 사항에 매우 적합하다고 지적할 수 있습니다. 하지만 문제를 해결하기 위해 새벽 3시에 전화를 받았는지 의심스럽습니다.
어떤 접근 권한이 필요한지 알아야 합니다. 표준 Unix/Linux에는 다음이 있습니다.
Type of access For directory For files
r Read access can list the dir can read the file
w write access can create, remove can write to the file
rename files in
the dir
x execute can cd to the dir can execute the file as
program
Windows Full Control을 보면 이는 다음을 의미합니다.
- 읽다
- 쓰다
- 조정
- 구현하다
- 속성/권한 변경
- 소유권을 가지다
수정은 다른 권한(읽기, 쓰기, 수정, 실행 및 파일 속성 변경)에 대한 컨테이너이므로 살펴보지 않겠습니다.
읽기와 쓰기는 두 그룹에 할당되어야 하므로 토론해서는 안 됩니다. 귀하의 그룹이 디렉터리에서 작업을 수행해야 하는 경우에도 마찬가지입니다 x
.
파일에 대한 권한은 디렉토리에 대한 쓰기 액세스 권한을 부여하여 변경할 수 있습니다. 대부분의 변경 가능한 속성(이름, 타임스탬프)은 디렉터리에 기록하여 변경할 수도 있습니다. 그러나 이것이 문제가 되어서는 안 됩니다.
파일의 소유권을 변경하려면 루트 액세스가 필요합니다(아마도 sudo를 통해). 이것은 일반 사용자에게 부여하는 것이 아닙니다.
따라서 이는 이 두 그룹의 일반 액세스 권한 간에 실질적인 차이가 없음을 의미합니다(IT 직원이 그렇게 하도록 허용하는 경우 제외 sudo chown
).
이는 또한 복잡한 ACL이 필요하지 않음을 의미합니다.