저는 "achille"로 로그인했으며 achille은 2개의 그룹에 속해 있습니다.
groups achille
achille: achille users
"tree.test" 파일의 그룹 소유자를 "users" 그룹으로 변경하고 싶습니다.
ls -l tree.test
-rw-r--r--. 1 achille achille 2512881 Dec 1 11:53 tree.test
나는 내 홈 디렉토리에 대한 모든 권한을 갖고 있습니다.
ls -ld $HOME
drwx------. 15 achille achille 4096 Dec 10 11:51 /home/achille
나는 시도한다:
chown :users tree.test
chown: changing group of 'tree.test': Operation not permitted
나는 시도한다:
chgrp users tree.test
chgrp: changing group of 'tree.test': Operation not permitted
좋습니다. 그래서 "사용자" 그룹을 기본 그룹으로 만들기로 결정했습니다.
usermod 명령은 achille에서 사용할 수 있으므로 이를 사용합니다(맞나요?).
usermod -g users achille
usermod: Permission denied.
usermod: cannot lock /etc/passwd; try again later
이 작업을 수행하기 위해 루트로 로그인했습니다(기본 그룹 변경).
su -
password:
그 다음에
usermod -g users achille
확인해보세요:
id -gn achille
users
그런 다음 ctrl + D를 눌러 achille에 다시 로그인하세요.
파일은 결국 "Users" 그룹에 속하게 되었지만 내 홈 디렉터리와 그 안의 모든 파일/디렉터리도 Users 그룹에 속했기 때문에 결과는 나빴습니다.
마침내 (루트로 로그인하지 않고) newgrp 명령을 사용하는 방법을 찾았습니다.
newgrp users
id -gn
users
touch file0
file0은 사용자를 그룹 소유자로 갖습니다.
그러나 achille이 변경하려는 그룹에 속해 있는 한 newgrp는 작동하는 것처럼 보입니다. 그렇지 않으면 다음과 같은 오류 메시지가 표시됩니다.
newgrp games
Password: (what password to put here?)
newgrp: failed to crypt password with previous salt: Invalid argument ????
이제 나는 chgrp, chown, usermod가 권한이 없는 사용자의 툴킷에 보관할 가치가 있는지 궁금해하고 묻고 있습니다. 다들 감사 해요!
답변1
아마도 이
질문
새 그룹에 사용자를 추가하면 디스크의 구성 파일에 일부 데이터가 기록됩니다. 기존 프로세스에는 변경 사항이 없습니다.
문제를 해결하는 방법.
로그아웃했다가 다시 로그인하거나 newgrp
새 그룹이 추가된 새 셸 프로세스를 생성할 수 있습니다(이것은 파일의 데이터를 읽은 다음 새 프로세스에서 새 셸을 시작하고 새 그룹을 추가하여 권한 확인을 수행합니다). 그룹에 추가).
답변2
나는 당신이 정확히 무엇을 찾고 있는지 알고 싶습니다. chown/chgrp 작업을 테스트하려면 다음을 사용할 수 있습니다.네임스페이스사용자 공간에서 하나 만들기chroot 감옥, 그런 다음 해당 감옥 내에서 권한 있는 프로세스를 시작하고 새 사용자 및 기타 필요한 항목을 만듭니다.
당신은 또한 사용할 수 있습니다fakechroot
같은 목적으로 이것은 같은 질문에서 언급되었습니다.