루트의 UID 및 GID 표시

루트의 UID 및 GID 표시

foo우리는 루트의 uid, guid 및 그룹에 어떻게든 연결된 사용자 계정을 가지고 있습니다 . 실행하면 id foo모든 루트 ID 정보가 반환됩니다.

id foo

uid=0(root) gid=0(root) groups=0(root)

이 사용자 계정은 더 이상 여기에 없는 옛 동료의 계정이며 서버에서 해당 계정을 완전히 제거하고 싶습니다. 실행하면 ps -ef | grep foo해당 사용자에 대한 프로세스가 반환되지 않으므로 해당 사용자 이름으로 실행 중인 것이 아무것도 없다고 확신합니다.

실행하면 userdel foo표시되는 계정이 루트이고 uid=0이라고 확신하지만 해당 계정 이 여전히 foo표시되므로 사용자 계정이 존재하지 않는 것으로 표시됩니다./etc/passwdfoo:x:0:0::/home/foo:/bin/bash

이 계정을 취소하려면 어떤 조치를 취해야 합니까? usermod를 수행하고 uid, gid 및 그룹을 변경해야 합니까? 사용되지 않는 임의의 uid(예: uid=1099(foo))를 선택하면 문제가 발생합니까?

저는 CentOS 7을 사용하고 있으며 서버는 Active Directory에 연결되어 있지만 foo 계정은 Linux 서버의 로컬 계정입니다. Linux를 AD에 연결하기 전에 사용자가 종료되었으므로 계정이 더 이상 Active Directory에 존재하지 않습니다.

답변1

uid가 userdel왜 존재하는지 명확하지 않고 실수로 루트를 제거하고 싶지 않기 때문에 이와 같은 도구를 사용하지 않는 것이 좋습니다 .foo0

대신 항목이 /etc/passwd자체적으로 편집되고 삭제됩니다 foo. 루트 자체에 올바른 항목이 있는지 확인하십시오.

root:x:0:0:root:/root:/bin/bash

에 대해서도 동일한 작업을 수행합니다 /etc/group. 제거된 항목 foo및 확인된 항목 root:

root:x:0:

그런 다음 비밀번호 입력을 확인 /etc/shadow하고 삭제 하고 입력을 foo확인하십시오 root. 항목은 다음 root과 같아야 합니다.

root:SOMEPASSWORDCODE:17219:0:99999:7:::

foo어쩌면 in에 대한 추가 항목 이 있을 수도 있습니다 /etc/group. 가능한 예:

audio:x:29:foo,pulse

정리 작업의 경우 이러한 항목에서 foo해당 콘텐츠 도 삭제합니다 foo,.

존재하는 경우 /home/foo확인하고 삭제하십시오.

현재 foo와 동일합니다 root. foo가 소유한 프로세스나 파일은 모두 에 속하므로 찾을 수 없습니다 root. 파일 및 프로세스 소유자는 이름이 아닌 uid로 등록됩니다. 따라서 uid가 0인 모든 프로세스나 파일은 루트로 표시됩니다. (또는 모든 루트 프로세스와 파일이 대신 표시될 수 있습니다 foo) root.

답변2

vipw및를 사용하여 해당 계정의 행을 삭제할 수 있습니다 . 이 작업이 완료되면 해당 계정은 기술적으로 사라집니다.foo/etc/passwd/etc/shadow

vipw버전 에 따라 변경 작업에 사용하면 /etc/passwd"당신도 편집하시겠습니까? (Y/N)"라는 메시지가 표시되거나 편집에 /etc/shadow사용하라고 제안 할 수 있습니다 .vipw -s/etc/shadow

vigr많은 Linux 배포판에는 해당 편집 명령이 있습니다 /etc/group( /etc/gshadow있는 경우).

vipw및를 사용하면 vigr파일을 직접 편집하는 것보다 더 안전합니다. 이러한 명령은 편집하기 전에 파일의 복사본을 만들고 원본 파일을 편집된 복사본으로 바꾸기 전에 일부 온전성 검사를 수행하기 때문입니다.

계정을 제거하면 사용자의 홈 디렉토리와 로컬 메일 풀에 대해 원하는 모든 작업을 수행 /etc/passwd할 수 있습니다 (예 : . 일반적으로 보관해야 할 특별한 이유가 없는 한 삭제하기를 원합니다./home/foo/var/mail/foo

또한 작업 스케줄러를 확인하고 싶을 수도 있습니다. 레이아웃이 약간 다를 수 있지만 적어도 데비안 시스템에는 디렉토리가 있고 : atjobs에 사용자가 언급되어 있는지 확인 하고 해당 파일을 삭제하세요.atspoolcrontabs/var/spool/cron/foo

관련 정보