FS 권한 시나리오

FS 권한 시나리오

이 파일 및 폴더 권한 시나리오를 구현하는 방법:

다음 폴더를 고려하세요.
폴더 A: 640 root apache /var/www/A/
폴더 www: 640 root apache /var/www/
및 이 Linux 사용자:
id user1:uid=1000(user1) gid=1000(user1) groups=1000(user1)

user1Linux 사용자에게 읽기/쓰기 액세스를 허용하고 싶습니다.오직폴더 A로,하지만폴더 A의 소유자나 그룹을 변경하지 마십시오.

다음 시나리오를 시도했지만 어느 것도 이상적이지 않았습니다.

  • user1그룹에 추가 apache:
    단점: user1에 있는 다른 파일을 읽을 수 있습니다 /var/www/.
  • user1집에 있는 폴더(예: 폴더 B)를 /var/www/A/A 대신 폴더 B에 하드 링크하고 적절한 권한을 설정합니다.
    단점: 여러 장치에서 디렉터리에 대한 하드 링크가 불가능합니다.
  • 추가 : user1단점 : 복잡성 과 더불어 사람의 실수로 인해 폴더 A의 소유자/그룹 정책 및/또는 권한이 위반될 가능성이 있습니다.sudoers
    user1user1

어떤 아이디어가 있나요?

답변1

user1다음을 통해 관리되는 콘텐츠에 액세스하고 있으므로 /var/www/A에 대한 액세스 권한을 부여하고 싶다고 가정합니다.user1http://도메인 이름/A? 아파치가 콘텐츠를 사용자의 홈 디렉터리 아래 디렉터리로 리디렉션하도록 허용하지 않는 이유는 무엇입니까?

Alias /A/ /path/to/users/homedir/A

이렇게 하면 /path/to/users/homedir/A의 그룹/사용자 소유권/권한을 변경하지 않고도 결과를 얻을 수 있습니다.

하지만 파일 권한을 통해 이를 수행하려는 경우에만 이를 달성할 수 있습니다.통과/var/www의 소유권/권한 변경그리고/var/www/A.

"새 그룹"( groupadd대부분의 UNIX에서 제공되는 명령)을 만들고 여기에 apache 및 user1을 추가합니다. /var/www/A의 그룹 소유권을 이 "새 그룹"으로 변경합니다( chown또는 사용 chgrp). chmod 711 /var/www/var/www 디렉토리에 대한 "새 그룹" 및 "다른 사용자"의 rw 액세스를 거부하도록 권한을 설정하고 ( ) /var/www/A에 "새 그룹" 액세스를 부여합니다( ) chmod g+rwx /var/www/A.

인용하다:

Apache 별칭 지시어

답변2

그룹을 생성하고 및 을 group1추가한 후 다음과 같이 소유 그룹을 사용 으로 변경합니다.apacheuser1group1/var/www/Agroup1chgrp

# use `-R' if you want to do this recursively, that is grant `group1' access to 
# all sub-directories of `A' as well as access to `A' itself.

# as a regular user with sudo rights:

sudo chgrp -R group1 /var/www/A 

# as root 

chgrp -R group1 /var/www/A 

따라서 user1apache의 구성원이 아니므로 읽을 수는 없지만 /var/www여전히 읽을 수 있고 /var/www/Aapache도 계속 읽을 수 있습니다 /var/www/A.

마지막으로 아래와 같이 그룹 구성원에게 read/write액세스 권한이 있는지 다시 확인하세요.chmod

# use `-R' at your own discretion--it acts the same way as `-R' in `chgrp'

# as root 

chmod -R g=rw /var/www/A

# as a regular user with sudo rights

sudo chmod -R g=rw /var/www/A

또는 그런 것.

관련 정보