모든 그룹을 기본값으로 재설정

모든 그룹을 기본값으로 재설정

최근에 내 컴퓨터에 일부 그룹과 사용자를 설정했는데 이제 이러한 사용자와 그룹을 모두 삭제하고 싶습니다. 다소 어리석게도 우분투 포럼이나 유사한 곳에서 모든 그룹 정보가 포함된 텍스트 파일을 편집하는 것이 가능하다는 내용을 읽었습니다. 하지만 이제는 터미널을 시작할 때마다

groups: cannot find name for group ID 1002

이것은 분명히 옳은 일이 아닙니다.

그렇다면 몇 달 전에 생성된 모든 그룹과 사용자를 어떻게 삭제합니까?

답변1

/etc/passwd친구( /etc/group, /etc/shadow, )를 수동으로 편집할 수 있지만 /etc/gshadow실수(의도하지 않은 줄 삭제 등)의 위험은 고급 도구를 사용할 때보다 더 큽니다.

vigr편집기를 직접 호출하는 대신 /etc/group( vigr -sfor /etc/gshadow, vipw( -s) for /etc/passwd( )) 를 사용하세요 /etc/shadow. 여기에는 두 가지 이점이 있습니다. 첫째, 이러한 유틸리티는 다른 사람이나 다른 도구가 동시에 파일을 편집할 수 없도록 파일을 잠급니다. 둘째, 백업( /etc/group-, ...) 을 생성합니다 .

/etc/group-다른 도구(예: )의 백업이 있는지 확인하세요 /etc/group.bak. 조금 구식일 수도 있지만 처음부터 시작하는 것보다는 낫습니다.

수정하지 않은 경우 /etc/gshadow누락된 그룹의 이름은 찾을 수 있지만 번호는 찾을 수 없습니다. 제거하는 항목 수가 100개 미만인 경우 해당 Ubuntu 버전의 모든 설치에서 해당 이름과 번호가 동일합니다(필요에 따라 시스템 그룹에 로컬 사용자를 추가해야 합니다). 101에서 999 사이의 항목은 패키지가 설치될 때 할당되며 이를 다시 만드는 쉬운 방법이 생각나지 않습니다. 1000을 초과하는 항목은 사용자가 생성하는 항목입니다.

이렇게 /etc하면 작업 버전에서 복원할 수 있습니다. 바라보다설치할 수 있는 시스템 로그가 있나요?. 간단히 말해서:

apt-get install etckeeper
etckeeper init

변경 사항은 하루에 한 번, 패키지를 설치하기 전과 후에 또는 bzr commit에서 시작할 때마다 저장("커밋")됩니다 /etc. 변경 사항을 보려면 를 실행하세요 bzr diff. 최신 커밋된 버전을 복원하려면 bzr revert group에서 실행하세요 /etc.

답변2

실제로 텍스트 파일만 편집할 수 있습니다 /etc/group. 너무 많이 삭제했거나 파일을 손상된 상태로 두었던 것 같습니다. 다음 형식으로 한 줄에 하나씩 항목을 입력해야 합니다.

group_name:x:###:

"빈" 그룹의 경우 또는

group_name:x:###:username

구성원이 한 명뿐인 그룹의 경우 또는

group_name:x:###:username2,username2

구성원이 여러 명인 그룹의 경우. 그룹을 기본 그룹으로 설정하면 해당 그룹의 구성원이 될 수도 있기 때문에 "비어 있음"을 따옴표로 묶었습니다 /etc/passwd. 이것이 네 번째 필드입니다.

("x"는 실제로 비밀번호 해시일 수 있지만 요즘에는 거의 사용되지 않습니다. 시스템의 모든 "x"인 것이 거의 확실합니다.)

관련 없는 빈 줄이 있거나 잘못된 형식의 빈 줄이 있으면 문제가 발생할 수 있습니다.

또한 파일에는 누구나 읽을 수 있는 권한이 있어야 합니다.

이상적으로는 몇 달 전의 파일을 백업해 두는 것이 좋습니다. 그러나 나는 현실 세계를 이해합니다. :)


파일도 있습니다 /etc/gshadow. 만약 너라면그룹 비밀번호를 사용하면(내가 말했듯이 거의 아무도 이 작업을 수행하지 않음) 해시를 대신 여기에 저장해야 합니다. /etc/group이 파일은 루트에서만 읽을 수 있어야 하기 때문입니다. 이 파일은 특정 명령줄 도구를 사용하여 구성원을 추가할 수 있는 그룹 관리자를 지정하는 데에도 사용할 수 있습니다. (나도 이 기능을 사용하는 사람은 없다.)

이 파일~해야 한다과(와) 동기화를 유지하세요 /etc/group. 명령줄이나 GUI 도구를 사용하여 그룹을 관리하면 이 작업이 자동으로 수행됩니다. 이는 단순히 파일을 편집하는 대신 이러한 도구를 사용하는 것을 고려하는 또 다른 이유입니다. 그러나 실제로 이 파일은 완전히 동기화되지 않거나 완전히 엉망이 될 수도 있지만 시스템은 일반적으로 정상적으로 작동합니다. 표시되는 오류는 발생하지 않습니다.


Giles는 아래 설명에 /etc/gshadow문서에서 작동하는 방식에 대한 정보를 찾을 수 있다고 추가했습니다.~해야 한다예. 여기에는 중요한 정보(예: 그룹 ID 번호 등)가 모두 포함되지는 않지만 그룹 이름 및 그룹 멤버십 정보가 포함될 수 있습니다.

파일이 있을 수도 있습니다 /etc/group-( -마지막 파일 참고). 이는 일부 작업에서 사용됩니다 /etc/group/. 운이 좋으면 필요한 모든 것이 거기에 있을 것입니다. (대체로 이것은 별로 도움이 되지 않습니다.하나지원. 그리고 이와 같은 프로그램은 gpasswd업데이트하지 않습니다. )

답변3

passwd 파일의 기본 그룹이 1002인데 그룹 파일에서 이 그룹을 삭제한 것처럼 간단합니까? 따라서 이름을 확인할 방법이 없습니다. 또한 파일에는 여전히 이전 사용자 및 그룹 ID가 있습니다.

사용자와 그룹을 추가하는 것은 좋은 생각이 아니며 비활성화하는 것이 좋습니다. 시스템에 일부 참조가 남아 있고 이전 ID로 새 사용자/그룹을 추가하면 개인 정보 등에 대한 액세스를 제공하는 파일을 만든 것처럼 보입니다.

관련 정보