디렉토리에서 ACL을 제거하고 일반적인 액세스 제어로 돌아가는 방법은 무엇입니까? 실행합니다. 웹 페이지의 이전

우리는 수퍼 유저 권한이없는 FreeBSD 10.3의 호스팅 서버를 사용합니다. 우리는 서버를 사용하여 회사의 웹 페이지에 apache2를 실행합니다. 웹 페이지의 이전 관리자가 디렉토리에 대한 ACL 권한을 설정 한 것으로 보이지만이를 제거하려고합니다. 디렉토리가라고하자 foobar.

이제 결과 ls -al foobar는 다음과 같습니다.

drwxrwxr-x+   2 myuser  another_user   512 Nov 20  2013 foobar

권한은 다음과 같습니다.

[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x

여기서 권한 목록의 마지막에있는 ACL 권한과 더하기 부호를 제거하려고합니다. 따라서 우리는

setfacl -b foobar

ACL이 관리하는 특수 권한을 제거했지만 더하기 부호는 지우지 않았습니다 +.

우리의 질문은 +‘ls -al foobar’로 표시되는 권한 목록에서 더하기 부호 를 어떻게 지울 수 있습니까?



답변

우리의 문제는 다음을 사용하여 해결되었습니다.

setfacl -bn foobar

요점은 -n 옵션을 사용하여 디렉토리에서 aclMask를 제거해야한다는 것입니다 … 맨 페이지는 setfacl다음과 같이 말합니다.

 -n      Do not recalculate the permissions associated with the ACL mask
         entry.  This option is not applicable to NFSv4 ACLs.

이 옵션이 왜 효과가 있었는지 잘 모르겠지만 …


d?????????위의 해결 방법 후에 권한 을 얻는 경우 chmod -R a+rX아래에 설명 된대로 두 가지를 시도하십시오 .


답변

홀수 … 재현 할 수 없습니다 :

ls -l | grep foobar
drwxr-xr-x+ 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

setfacl -b foobar/
ls -l | grep foobar
drwxr-xr-x 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

불행히도 지금 테스트 할 BSD에 액세스 할 수 없습니다.

시스템 정보 :

Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:    8.7
Codename:   jessie


답변