ACL이 chmod와 충돌합니다.

ACL이 chmod와 충돌합니다.

Digital Ocean ubuntu14.04에 opencart 1.5.6.1을 설치했습니다. 사용자 이름으로 "demo"를 사용하고 ightvnc를 통해 로그인했습니다.

opencart에는 소유자 및 그룹으로 "www-data"가 필요합니다.

$ sudo chown -R www-data:www-data /var/www/html  
$ sudo chmod -R a=r,a+X,u+w /var/www/html
$ cd /var/www/html/ 
$ ls -la  
drwxr-xr-x+  6 www-data www-data  4096 Aug 17 07:19 catalog
-rw-r--r--+  1 www-data www-data     0 Aug 15 13:14 config-dist.php
$ sudo getfacl /var/www/html/
# file: var/www/html/
# owner: www-data
# group: www-data
user::rwx
group::r-x
other::r-x

그런 다음 데모를 소유자로 추가하여 ACL도 변경했습니다.

$ sudo setfacl -R -m u:demo:rwx /var/www/html/
# file: var/www/html/
# owner: www-data
# group: www-data
user::rwx
user:demo:rwx
group::r-x
mask::rwx
other::r-x

vnc에서 파일과 폴더 편집을 시연할 수 있습니다.

그러나 이렇게 하면 다음 파일의 권한도 변경됩니다.

$ ls -la
drwxrwxr-x+  6 www-data www-data  4096 Aug 17 07:19 catalog
-rw-rwxr--+  1 www-data www-data     0 Aug 15 13:14 config-dist.php

그룹이 rwx로 변경되었습니다....

다음을 통해 그룹 권한을 변경하는 경우:

$ sudo chmod -R g-x /var/www/html

ACL 마스크가 변경되었습니다....

# file: var/www/html/
# owner: www-data
# group: www-data
user::rwx
user:demo:rwx                   #effective:rw-
group::r-x                      #effective:r--
mask::rw-
other::r-x

마스크를 바꾸면:

$ sudo setfacl -R -m m:rwx /var/www/html/

그룹이 rwx로 돌아왔습니다!

문제는 chmod를 사용하여 변경할 때마다 ACL이 변경된다는 것입니다. 사용된 ACL을 변경하면 그룹 권한이 변경되었습니다!

이는 다음과 관련될 수 있습니다. http://www.novell.com/documentation/suse91/suselinux-adminguide/html/apbs03.html

-n을 사용해야 할 수도 있습니다.

sudo setfacl -nR -mu:demo:rwx /var/www/html/

아마도 "ls -dl mydir에 표시된 그룹 클래스 권한 비트는 이제 마스크 항목에 해당합니다."

이는 표시된 rwx가 그룹 권한이 아닌 마스크 권한을 나타냄을 의미합니다.

답변1

귀하의 목록에는 getfacl이 실행되지 않은 파일에 +가 표시되므로 무슨 일이 일어나고 있는지 알기가 어렵습니다. 단일 파일에 대해 반복하고 상태 및 모든 명령 전후에 나열/보고합니다.

이전에 acl이 없었던 파일에서 문제가 지속된다면 acl 구현에 버그가 있는 것입니다. 이전에 철회된 ACL 초안 소스에 대한 참조인 Solaris에서 문제를 재현할 수 없었기 때문입니다.

관련 정보