Tutoriel Linux

Linux에서 Userdel 명령어를 사용하여 계정을 삭제할 때 잘못된 홈 디렉터리를 삭제하지 않는 방법

Débutant2 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

오래된 기술자 계정을 삭제하거나 더 이상 필요하지 않은 로컬 사용자 계정을 정리해야 합니다. 다음 명령어를 사용하세요. 사용자델 -아르 자형 개인 폴더와 그 안에 있는 데이터까지 모두 삭제될 수 있습니다. 계정 이름이 잘못되었거나 홈 디렉터리가 정상적이지 않은 경우에도 잘못된 폴더가 삭제될 수 있습니다.

계정 삭제와 파일 삭제는 분리해서 진행하는 것이 좋습니다. 먼저 사용자 ID(UID), 홈 디렉터리, 그룹, 세션, 프로세스 등의 정보를 기록해 두세요. 그런 다음 데이터를 보관할지, 다른 곳으로 옮길지, 아니면 삭제할지 결정하십시오. 이 방법은 몇 분밖에 걸리지 않으며, 복구 불가능한 데이터 손실을 방지할 수 있습니다.

Tux는 Linux 환경에서 userdel 명령어를 사용하여 삭제할 계정과 개인 폴더를 확인합니다.

로컬 계정과 개인 파일을 확인하세요.

다음 예시에서, 바꾸십시오 앨리스 올바른 로그인 정보를 사용하세요. 먼저, 여러 출처를 통해 계정을 확인하세요.

getent passwd 앨리스
grep '^alice:' /etc/passwd
이드 앨리스

getent LDAP, SSSD 또는 다른 디렉터리에서 계정을 반환할 수 있습니다. 사용자가 다음과 같이 표시되는 경우 getent 하지만 안에는 없어 /etc/passwd발사하지 마세요 사용자델 맹목적으로: 해당 계정을 관리하는 디렉터리에서 계정을 처리합니다. 가이드 이 글에서는 지역 계정과 NSS에서 제공하는 계정 간의 차이점을 자세히 설명합니다.

다음으로 관리자 세션에서 UID와 홈 경로를 저장하세요.



"UID=$uid HOME=$home"에 에코
id -nG 앨리스
sudo ls -ld "$home"

계속 진행하기 전에 출력 내용을 검토하십시오. 서비스 계정은 홈 디렉터리를 가질 수 있습니다. /var/lib, /srv 또는 공유 디렉터리를 사용할 수도 있습니다. 접두사만으로는 충분하지 않습니다. /집또한 본인의 SSH 계정이나 애플리케이션에서 사용하는 계정을 삭제하고 있지 않은지 확인하십시오.

제어 세션, 프로세스 및 예약된 작업

로그인 화면에 표시되지 않는 계정이라도 서비스, 백업 또는 cron 작업이 실행 중일 수 있습니다. 중지하기 전에 세션과 프로세스를 검토하십시오.


승
loginctl 세션 목록
pgrep -a -u 앨리스
ps -u 앨리스 -o pid,ppid,lstart,cmd

비즈니스 프로세스를 발견하면 해당 서비스를 식별하고 삭제하기 전에 구성을 기술 계정으로 이전하십시오. 죽이기 -9 이는 직원의 퇴사 절차가 아닙니다. 해당 기사는 다음과 같습니다. 리눅스에서 죽여라 정차를 요청하는 방법과 강제로 통과하기 전에 신문을 읽는 방법을 설명합니다.

sudo crontab -u alice -l
[:space:]sudo grep -R --line-number '^[]*User=alice[]*$' /etc/systemd/system /usr/lib/systemd/system 2>/dev/null[:space:]

설정 USERDEL_CMD ~ 안에 /etc/login.defs cron, at 또는 인쇄 작업을 정리하는 스크립트를 실행할 수 있지만, 모든 배포판에서 동일하게 작동하는 것은 아닙니다. login.defs 문서 이 스크립트의 결과가 고려되지 않음을 확인합니다. 사용자델그러므로 계정을 만들기 전에 작업을 명시적으로 저장하거나 삭제하십시오.

점검 중에 비밀번호 인증을 일시적으로 중지하려면 다음 단계를 따르세요.

sudo passwd -l alice

이 잠금은 활성 세션을 종료하지 않으며 SSH 키를 차단하지도 않습니다. 이러한 액세스 포인트를 별도로 확인하십시오. 가이드는 다음과 같습니다. Linux에서의 비밀번호 이 한도를 자세히 설명합니다.

홈페이지를 방문하기 전에 계정 파일을 먼저 검색하세요.

사용자의 홈 폴더만이 파일을 저장할 수 있는 유일한 장소는 아닙니다. 서버에서 사용하는 위치에서 사용자의 UID를 찾아보세요.

볼륨에 맞춰 시작점을 조정하세요. -xdev 각 검색이 다른 파일 시스템으로 이동하는 것을 방지합니다. 따라서 영향을 받는 데이터 마운트에서 해당 명령을 반복하십시오. 찾다 / 운영 서버 또는 매우 큰 네트워크 저장소에서 즉석으로 구현되었습니다.

데이터를 보존해야 하는 경우 사용 가능한 공간을 확인한 후 홈 디렉터리의 아카이브를 생성하십시오.

df -h /root "$home"

sudo tar --one-file-system -C "$(dirname "$home")" -czf "/root/alice-home-$(date +%F).tar.gz" "$(basename "$home")"
sudo tar -tzf "/root/alice-home-$(date +%F).tar.gz" | head

홈 디렉토리를 유지할지 삭제할지 선택하세요.

없는 주문 -아르 자형 시스템 파일에서 계정을 제거하지만 개인 폴더는 유지합니다.

sudo userdel alice

데이터 소유자가 아직 데이터를 검증하지 않았거나 다른 계정으로 이전하지 않은 경우 기본적으로 이 방법을 사용합니다. 검토 후 나중에 디렉토리를 삭제할 수 있습니다.

집 우편함과 지역 우편함이 정말로 없어져야 한다면 다음을 사용하세요.

sudo userdel -r alice

에 따르면 userdel 매뉴얼 페이지, -아르 자형 이 명령은 홈 폴더와 메일 스풀 폴더를 삭제하지만, 다른 파일 시스템에 있는 사용자 소유 파일은 삭제하지 않습니다. 따라서 이 명령은 UID를 사용하여 수행된 인벤토리 작업을 대체하지 않습니다.

사용하지 마십시오 사용자델 -f 활성 프로세스를 나타내는 메시지를 건너뛰려면 이 옵션을 선택하십시오. 이 옵션은 보안 검사를 무시하며 시스템이 불안정한 상태가 될 수 있습니다. 돌아가기 pgrep

사용자 삭제 후 남은 항목을 확인하세요

변수를 유지하려면 동일한 셸 세션을 유지하세요. $uid 그리고 $집그다음 결과를 확인하세요:

getent passwd alice || echo "계정을 사용할 수 없습니다."
이드 앨리스
pgrep -a -u "$uid"
test -e "$home" && sudo ls -ld "$home" || echo "개인 폴더가 없습니다"
sudo find /home /srv /var/www -xdev -uid "$uid" -ls

이드 앨리스 이는 해당 로그인이 더 이상 존재하지 않음을 나타냅니다. 이전 UID로 파일이 남아 있는 경우, 폴더별로 보관, 재할당 또는 삭제 여부를 결정하십시오. (이 부분은 문맥상 맞지 않을 수 있으므로 번역에서 제외합니다.) chown -R 데이터의 역할을 알지 못한 채 전 세계적으로 사업을 하는 것.

sudo apt update && sudo apt upgrade