ext4 파티션이 있고 모든 하위 디렉토리의 그룹 소유자를 mygroup으로 설정했습니다.
# chgrp -R mygroup /mount/abc
# chmod -R g+swrx /mount/abc
내 사용자는 해당 그룹의 일부입니다. 해당 파티션 안에는 ‘nobody’사용자가 소유 한 폴더가 있으며 ‘mygroup’그룹이 소유하고 있습니다. 내 사용자는 ‘mygroup’의 일부입니다. 다음은 ls -l입니다.
myuser@host:/mount/abc/folder$ ls -l
drwxr-sr-x 2 nobody mygroup 4096 Apr 25 12:08 ./
drwxrwsrwx 6 nobody mygroup 4096 Apr 24 07:57 ../
-rw-r-xr-- 1 otheruser mygroup 159539 Apr 23 23:44 test.png*
myuser@host:/mount/abc/folder$ groups myuser
myuser : mygroup {... a list of other groups also...}
myuser@host:/mount/abc/folder$ rm test.png
rm: remove write-protected regular file ‘test.png’? y
rm: cannot remove ‘test.png’: Permission denied
myuser@host:/mount/abc/folder$ touch test.txt
touch: cannot touch ‘test.txt’: Permission denied
내 사용자가 속한 그룹이 소유 한 파일을 삭제하거나 만들 수 없습니다.
그룹이 어떻게 작동하는지 완전히 이해하지 못하는 것 같습니다. 나는 당신이 그룹의 일부라면 그 그룹의 권한을 상속받는다고 생각했습니다. 내가 뭔가 잘못하고 있습니까?
감사
답변
최근에 해당 사용자를 로그 아웃 / 로그인하지 않고 해당 그룹에 추가 했습니까? 그러면 “groups”에 그룹이 표시되지만 사용자에게는 아직 그룹 권한이 없습니다.
당신은을 사용하여 효과적인 그룹을 보여줄 수 있습니다
$ id
예를 들어, 사용자 ps
를 그룹에 추가 fax
한 다음
$ id
그룹을 표시하지 fax
않지만
$ groups ps
보여줍니다 fax
.
이렇게 su
자신의 사용자에게 당신에게 새 그룹 소속을 제공합니다 :
$ su ps
$ id
출력에는 이제도 포함 fax
됩니다.
답변
사용한 방법이 올바른 것 같습니다. 방금 복제를 시도했지만 정상적으로 작동했습니다.
오타가 있는지 확실하지 않지만 명령에 약간의 문제가 있습니다. 거기에 “mygroup”이 언급 될 필요는 없습니다. 다음 작품
# chmod -R g+swrx /mount/abc
심지어 s
비트를 제거 할 수 있습니다 g+rwx
. 권한을 변경하고 변경 ls -l
하면 관련 권한이 표시됩니다.
답변
디렉토리를 열려면 x 비트 세트 (해당 비트가 검색 비트로 표시되는 디렉토리)가 필요합니다. 따라서 트리를 사용하여 폴더 세트 만 가져오고 모든 파일을 실행 파일로 설정하는 악몽을 피하십시오 (tree 옵션은 -d List directories only.
).
sudo tree -faid /mount/abc | xargs -L1 -I{} sudo chmod 755 "{}"
경고!!! 이 점을 고려해야합니다.
-
루트
/
디렉토리 또는 시스템 디렉토리 에서 chmod 또는 chown 재귀를 사용 하면 OS가 손상됩니다 (실제로/
디렉토리 또는 시스템 디렉토리의 재귀 는 위험합니다) -
이것은 권한 대량을 설정하는 좋은 보안 관행이 아닙니다.
답변
그룹 mygroup
은 파일 test.png
뿐만 아니라 폴더 에 대한 쓰기 권한이 없기 때문에 파일을 제거 할 수 없습니다 . 파일에서 쓰기 작업을 수행하려면 파일 권한이 다음과 같아야합니다.
-rw-rwxr-- 1 otheruser mygroup 159539 Apr 23 23:44 test.png*
권한 형식을 자세히 살펴보면
duuugggooo
처음 세 자리는 uuu
사용자이다 r에 , EAD 승 의식 전자 X ecute. 다음 세 자리 표시 ggg
자는 그룹과 ooo
다른 사람들을위한 것입니다. 영업 그룹에 의해 게시 된 조각에서 누락 승 의식의 허가.
답변
허용 된 답변에 추가하려면 (아직 댓글을 달 수 없기 때문에) :
BitVise와 같은 소프트웨어를 사용하여 서버에 SSH 연결을 만드는 경우 터미널을 닫았다가 다시 열면 로그인 및 로그 아웃으로 계산되지 않습니다. 그것은 것입니다 다시로드하여 같은 일을 ~/.bashrc
하지만, 하지 (당신이 당신의 “로그인”세션에서 그룹을 추가 한 경우) 실제 그룹 업데이트를 수행합니다. 이를 적용하려면 SSH 키 / 자격 증명으로 완전히 로그 아웃했다가 다시 로그인해야합니다.