chown을 사용하여 디렉토리의 그룹 소유자를 변경할 수 없습니다… 왜?


10

chown다음 권한과 소유자가있는 디렉토리 에서 실행하려고합니다 .

drwxrwxr-x 2 justin devs  4096 Jan  1 20:42 test

justin사용자 로 간단히 다음을 실행하려고합니다 .

chown justin:nginx test

따라서 기본적으로 그룹 소유자를로 변경 nginx하지만 다음과 같은 결과가 나타납니다.

chown: changing ownership of `test/': Operation not permitted

어떤 아이디어?

답변:


15

먼저 chgrpchown 대신 명령을 사용하면 작동합니다.

chown .....을 사용하는 경우 대부분의 Linux 컨텍스트에서 보안상의 이유로 소유권 변경은 파일, 디렉토리 등의 소유자로 표시 되더라도 루트 사용자 이벤트로 제한됩니다. 한 가지 경우로, 파일 권한 비트를 777로 설정하고 파일 소유권을 다른 알 수없는 사용자로 변경하고 할당량을 차지하여 사용자가 할당량을 회피하지 못하도록합니다.

따라서 chown사용자 컨텍스트에서 명령을 사용하면 , 특히 소유권이 변경되지 않는 경우 파일 그룹을 변경하는 데 사용해서는 안됩니다.

참고 : 파일을 변경하려는 그룹의 구성원이어야합니다. 에 의해 확인할 수 있습니다 id -a. 그룹에 속하지 않으면 파일 소유자 인 경우이 메시지가 표시됩니다.


1
와 동일한 chgrp nginx test작업이 허용되지 않습니다.
Justin

chgrp 명령을 inode의 소유자로 실행중인 경우 작동합니다. 파일 시스템이 읽기 전용으로 마운트되어 있습니까?
mdpc

아뇨. 테스트 사례는 다음과 같습니다.$ mkdir test $ chgrp nginx test/ chgrp: changing group of test/: Operation not permitted $ ll total 4 drwxrwxr-x 2 justin justin 4096 Jan 1 21:18 test
Justin

1
알았습니다 .... 허용되지 않은 그룹의 소유권을 변경할 수 없습니다. id -a파일을 변경하려는 그룹이 사용 가능한지 확인 하십시오 .
mdpc

1
예, 이것이 해결책입니다.
mdpc

4

현재 그룹 소유권을로 변경하려면 그룹에 속해 있어야합니다. /etc/groupsjustin 사용자가 nginx 그룹의 일부인지 확인하기 위해 파일을 루트로 편집 할 수 있습니다 . 그룹을 변경 한 후에는 시스템에 다시 로그인하여 그룹에 영향을 주거나 재시작 / 로그 아웃하지 않고 그룹을 변경해야합니다. cmd를 사용할 수 있습니다.newgrp nginx .

이제 chgrp nginx testjustin 사용자 로 cmd 를 사용 하여 파일 또는 폴더 그룹을 변경할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.