나는 다음을 읽었습니다newgrp
:
The newgrp command is used to change the current group ID during a
login session.
이로 인해 기본 기본 그룹을 변경하는 방법에 대해 생각하게 되었습니다.영구적인?
newgrp
쉘의 시작 파일에 한 줄을 포함 할 수 있을 것 같지만 에 의존하지 않고 각 로그인 세션의 기본 ID를 변경할 수 있는 방법이 있습니까 newgrp
?
일반적인 해결 방법에 관심이 있지만 분포에 따라 달라지는 경우 다음 솔루션에 관심이 있습니다.우분투11.10그리고레드햇 엔터프라이즈 리눅스 서버(전자에는 관리자 권한이 있지만 후자에는 관리자 권한이 없습니다).
부록:
아래 질문에 대한 @Shawn의 탁월한 답변에서 "루트 액세스 없이는 이 작업을 수행할 수 없습니다"를 읽었습니다.
이것이 나를 궁금하게 만든다:왜?newgrp
로그인하자마자 실행할 권한이 있다고 가정하면 이는 모든 실제 목적을 위해 기본 기본 GUID를 변경하는 것과 동일합니까?
답변1
Linux(BusyBox 아님), Solaris, NetBSD, OpenBSD:
usermod -g group
usermod 명령은 명령줄에 지정된 변경 사항을 반영하도록 시스템 계정 파일을 수정합니다.
-g, --gid 그룹
사용자의 새로운 초기 로그인 그룹의 그룹 이름 또는 번호입니다. 그룹이 존재해야 합니다. 사용자의 이전 기본 그룹이 소유했던 사용자 홈 디렉토리의 모든 파일은 새 그룹의 소유가 됩니다.
사용자 홈 디렉터리 외부에 있는 파일의 그룹 소유권은 수동으로 복구해야 합니다.
FreeBSD에서:
pw usermod -g group
BusyBox에서:
addgroup -g user group
루트 권한이 없으면 이 작업을 수행할 수 없습니다.