사용자가 자신이 소유한 파일에 대한 그룹 권한을 변경할 수 없는 이유는 무엇입니까? 사용자가 있다고 가정 해 보겠습니다 martin
.
$ ls -lAd /home/martin/
drwx------ 8 martin martin 4096 Apr 20 01:06 /home/martin/
어떤 이유에서인지 사용자가 paul
내 집을 방문할 수 있기를 바랍니다.
$ chgrp paul /home/martin/
chgrp: changing group of `/home/martin/': Operation not permitted
사용자가 자신의 파일에 대한 그룹 소유권을 변경할 수 없는 보안상의 이유가 있나요?
나는 사용하고있다데비안 7(숨을 헐떡이며).
답변1
chgroup
자신이 속한 그룹에 대해서만 다음 작업을 수행 할 수 있습니다 .
$ groups
terdon sudo netdev fuse vboxsf vboxusers
$ chgrp fuse file
$ ls -l file
-rw-r--r-- 1 terdon fuse 531 Apr 15 19:17 file
$ chgrp mysql file
chgrp: changing group of ‘file’: Operation not permitted
이 행동은POSIX 사양:
파일 소유자 또는 적절한 권한을 가진 사용자만이 파일 소유자 또는 그룹을 변경할 수 있습니다.
일부 구현에서는 지정된 그룹이 유효한 그룹 ID 또는 호출 프로세스의 보충 그룹 ID 중 하나가 아닌 경우 적절한 권한이 있는 사용자에게 chgrp 사용을 제한합니다.
그 주된 이유는 귀하가 그룹의 구성원이 아닌 경우 그룹이 액세스할 수 있는 항목을 수정할 수 없기 때문입니다.이 답변chown
권한 과 도 관련이 있습니다.
전통적으로 공유 시스템에는 users
모든 일반 사용자가 속한 하나의 그룹이 있으며 이것이 각 사용자의 기본 그룹입니다. 이렇게 하면 생성된 파일은 users
그룹의 소유가 되며 모든 사용자가 해당 파일을 읽을 수 있습니다.
어쨌든 이것은 현재 데비안 기반 배포판이 설정되는 방식이 아니기 때문에 특정 사용자에게 디렉토리에 대한 액세스 권한을 부여하는 방법은 다음과 같습니다.
디렉토리의 그룹 소유권을 귀하와 다른 사용자가 구성원으로 속한 그룹으로 변경하십시오.
그에 따라 디렉토리의 권한을 변경하십시오.
$ chmod 755 /home/martin $ ls -ld /home/martin/ drwxr-xr-x 170 martin martin 491520 Apr 20 13:43 /home/martin/
이렇게 하면 모든 사람이 디렉토리에 액세스할 수 있게 됩니다. 폴도 포함됐다.