하나의 디렉터리에 대해 두 세트의 독립적인 권한이 있습니까?

하나의 디렉터리에 대해 두 세트의 독립적인 권한이 있습니까?

잘 모르시겠지만 최대한 간단하게 만들어 보겠습니다. IT팀과 마케팅팀이 있어요. 두 그룹 모두 동일한 디렉터리(예: Retail)에 액세스할 수 있기를 바랍니다. 제가 원하는 것은 소매 및 마케팅 읽기/쓰기에 대한 모든 권한을 IT에 부여하는 것입니다.

sudo chmod를 사용한다면 두 그룹 모두에 동일한 권한을 부여하게 됩니다. 이 문제를 해결하거나 동일한 디렉터리에 속한 다른 그룹에 다른 권한을 부여할 수 있는 다른 방법이 있습니까?

답변1

디렉터리에 ACL(액세스 제어 목록)이 필요할 수 있습니다. 바라보다그 설명Arch Linux 위키에서 또는그것들우분투의 도움. 두 가지의 혼합:

  1. 설치: acl 패키지는 systemd의 종속성이므로 이미 설치되어 있어야 합니다. 저장소에서 acl 유틸리티를 설치해야 할 수도 있습니다. 서버 버전에서는 이것이 필수이지만 데스크탑 버전에서는 acl이 기본적으로 설치됩니다.

    $ sudo apt-get install acl
    
  2. 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
    
  3. ACL 설정: 그룹에 대한 권한을 설정합니다(그룹은 그룹 이름 또는 ID임).

    # setfacl -m "g:group:permissions" <file/dir>
    
  4. 액세스 제어 목록 표시:

    # 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이 필요하지 않음을 의미합니다.

관련 정보