그룹이 특정 사용자가 소유한 폴더를 읽고 쓸 수 있도록 허용

그룹이 특정 사용자가 소유한 폴더를 읽고 쓸 수 있도록 허용

그룹 manager과 사용자가 있습니다 user1.

user1예제를 통해 웹서버 경로에 디렉터리가 생성됩니다 /var/www/user1Project.

그룹이 manager소유한 디렉토리에서 읽고 쓸 수 있도록 하려면 어떻게 해야 합니까 user1?

manager. 에 그룹을 추가하려고 시도했지만 user1문제가 해결되지 않았습니다. 그룹의 사용자는 manager쓰기가 허용되지 않습니다 user1Project. 이유는 모르겠습니다.

답변1

이는 매우 구체적이며 Unixoid 시스템의 레거시 권한 아키텍처를 사용하여 관리할 수 없습니다. 귀하의 의도에 가장 가까운 방법은 다음을 사용하는 것입니다.ACL. 다음 명령을 실행합니다(선택적으로 수퍼유저로):

setfacl -d -R -m g:manager:rwx /dir/of/user1
setfacl -R -m g:manager:rwx /dir/of/user1

첫 번째 명령은 user1이 새로 만든 파일에 적용되도록 디렉터리에 대한 기본 권한을 설정합니다. 두 번째 명령은 폴더와 파일에 대한 실제 사용 권한을 재귀적으로 설정합니다.

ACL 인프라는 Apache 웹 서버에서 작동하지 않습니다. Apache는 레거시 권한(사용자/그룹/기타 권한)에만 관심을 갖습니다. 따라서 네트워크 폴더 내에서 모든 파일/폴더는 해당 www-data그룹에 있어야 하며 모든 파일에는 인덱스 검색을 위한 실행 권한이 www-data있어야 합니다 .www-data

고쳐 쓰다:

디렉터리에 새로 생성된 파일이 디렉터리 그룹을 상속하도록 하려면 디렉터리의 gid 비트를 설정하세요.

chmod g+s /web/directory

내부에 새로 생성된 파일이 /web/directory이 그룹을 상속합니다./web/directory

답변2

이 그룹의 일부가 되는 것 외에도 디렉터리에 대한 쓰기 권한도 설정해야 합니다.

 chmod 770 /var/www/user1Project/example_dir

(전세계에 읽기 권한을 부여하려면 775를 사용하십시오. 이는 웹 디렉토리에서 더 가능성이 높습니다.)

또한 사용자 관리자는 그룹에 추가된 후 다시 로그인해야 한다는 점에 유의하세요 user1.

user1그룹이 생성한 모든 디렉토리를 그룹 구성원이 쓸 수 있도록 하려면 다음 user1을 설정할 수 있습니다.

umask 0002

이렇게 하면 권한이 있는 디렉토리가 생성됩니다 rwxrwxr-x.

답변3

디렉터리 그룹을 관리자로 설정합니다.

chgrp -hR manager /your/target/directory/path

그런 다음 권한에 set-GID-bit를 추가하면 user1변경 사항이 있을 경우 그룹에서 다시 쓸 수 있습니다.

chmod g+s /your/target/directory/path

답변4

setfacl당신에게 가장 좋은 것 같습니다. 설치 되어 있는지 확인하세요 acl utilities. 이미 설치되어 있는지 확인

Redhat 기본 시스템에서 다음 작업을 수행합니다.

yum list acl

Debian 기반 시스템의 경우

dpkg -l acl

Redhat 기반 시스템의 경우 아직 설치되지 않은 경우 다음을 수행하십시오.

yum install acl.x86_64 # Or use dnf for later versions of Fedora and so

Debian 기반 시스템의 경우

dpkg install acl

파일 시스템에서 acl을 활성화하려면 /etc/fstab을 수정합니다.

UUID=your_uuid_here   /partition    filesystemtype   options,acl   0   2

참고 ,acl는 추가된 유일한 부분입니다. 이제 파티션을 다시 마운트하십시오.

mount -o remount /your_partition_here

acl( 이미 설치되어 있으면 완료하지 않았을 수도 있는 설정 부분이 완료됩니다 .)


setfacl 적용

setfacl -m g:manager:rw file /var/www/user1Project #you need root privileges

이제 가도 돼

관련 정보