명령줄에서 상속된 권한을 명시적 권한으로 변환

명령줄에서 상속된 권한을 명시적 권한으로 변환

CIFS/SAMBA 네트워크 공유 이름이 있습니다.공개_공유TrueNAS 규모(Debian 기반)에서는 로컬 네트워크의 모든 사람이 파일과 폴더를 삭제할 수 있는 전체 액세스 권한을 갖는 공유 영역입니다. 이 네트워크 공유에는 다양한 운영 체제, 도구, 가상 머신 부팅을 위한 ISO 이미지 등에 대한 실행 가능한 설치 프로그램이 모두 포함된 다운로드라는 폴더가 있습니다. 아래와 같이 트리에 디렉토리 구조가 나열되어 있습니다.

Public_Share
    Downloads
        Autoruns
        ISO Images
        ProcessMonitor
        Rufus

새 파일/디렉터리에 대한 전체 권한과 기본 권한을 갖도록 네트워크 공유에서 POSIX ACL을 활성화하려고 시도했지만 명시적으로 설정했습니다.읽다그리고구현하다권한만(쓰기 권한 없음)다운로드관리자가 아닌 사용자가 해당 내용을 삭제할 수 없도록 디렉터리 및 하위 디렉터리를 삭제합니다. 제가 찾고 있는 것은 명시적인 권한을 정의할 수 있는 것이라고 생각합니다. 이를 통해 부모로부터 권한을 분리한 다음 수정할 수 있습니다.다른삭제할 클래스쓰다허용하다.

TrueNAS CLI에서다운로드디렉터리에는 현재 다음과 같은 ACL이 있습니다.

root@FS-Home[~]# getfacl /mnt/pool0/public_dataset/Downloads
getfacl: Removing leading '/' from absolute path names
# file: mnt/pool0/public_dataset/Downloads
# owner: root
# group: root
user::rwx
group::rwx
group:builtin_administrators:rwx
mask::rwx
other::rwx
default:user::rwx
default:group::rwx
default:group:builtin_administrators:rwx
default:mask::rwx
default:other::rwx

Microsoft Window 파일 탐색기에서 다음을 클릭하여 상위 디렉터리(네트워크 공유)에서 상속을 제거/차단할 수 있습니다.상속 비활성화단추. 여기에 이미지 설명을 입력하세요.

그런 다음 클릭상속된 권한을 해당 개체에 대한 명시적 권한으로 변환옵션.

여기에 이미지 설명을 입력하세요. 명령줄에서 전체 네트워크 공유에 필요한 권한과 새 파일/디렉터리에 대한 기본 권한을 설정할 수 있지만 불행하게도 명령줄에서 다운로드 권한을 명시적인 권한으로 변환하는 방법을 찾을 수 없습니다.

# Public_Share
    # clear ACLs
        setfacl -R -b /mnt/pool0/public_dataset

    # Set default UNIX permissions
        chown -R root:root /mnt/pool0/public_dataset
        chmod -R 0777 /mnt/pool0/public_dataset

    # Allow built-in administrators full permissions and add full permissions to default permissions for new files/directories
        setfacl -R -m g:builtin_administrators:rwx /mnt/pool0/public_dataset
        setfacl -d -R -m group:builtin_administrators:rwx /mnt/pool0/public_dataset

어떻게 이것을 달성할 수 있는지에 대한 아이디어가 있습니까?

예상되는 모습은 다음과 같습니다.

root@FS-Home[~]# getfacl /mnt/pool0/public_dataset/Downloads
getfacl: Removing leading '/' from absolute path names
# file: mnt/pool0/public_dataset/Downloads
# owner: root
# group: root
user::rwx
user:root:rwx
group::rwx
group:root:rwx
group:builtin_administrators:rwx
mask::rwx
other::r-x
default:user::rwx
default:user:root:rwx
default:group::rwx
default:group:root:rwx
default:group:builtin_administrators:rwx
default:mask::rwx
default:other::r-x

여기에 이미지 설명을 입력하세요.

답변1

나는 몇 가지 명령으로 동일한 결과를 얻고 있다고 믿습니다.

쓰기 권한을 명시적으로 수정하는 것 같습니다.다운로드디렉터리에 대한 거부는 상위 디렉터리에 쓰기 권한이 부여되었을 때 전체 디렉터리가 네트워크 공유에서 권한 상속을 중지하도록 강제하는 것처럼 보입니다. 본질적으로 나 자신에 대한 쓰기 액세스를 거부하고 있습니다.다른허가 클래스.

setfacl -R -m other:r-x /mnt/pool0/public_dataset/Downloads
setfacl -d -R -m other:r-x /mnt/pool0/public_dataset/Downloads

관련 정보