사용자 이름을 변경하려고 합니다. 터미널을 열었고 올바르게 기억하면
sudo /etc/shadow
변경
sudo /etc/passwd
되지 않은 것을 확인하여 임시 사용자를 만들고 로그인하여 명령을 사용했습니다.
sudo usermod -l newusername -d /home/newusername -m oldusername
다시 로그인해 보니 아무것도 바뀌지 않았습니다.
sudo usermod -l newusername oldusername
그런 다음 기억나지 않는 몇 가지 작업을 더 시도하고 컴퓨터를 다시 시작했습니다. 그리고 임시 사용자만 가능합니다. 로그인 후 원래 사용자의 파일을 찾을 수 있는데 계정에 로그인할 수 없습니다. 내가 할 수 있는게 있습니까?
답변1
이미 사용자를 변경했기 때문에 아래 명령 중 일부는 작동하지 않습니다. 따라서 단계를 수행하여 어떤 것이 적합한지 확인하세요. @doneal24가 말했듯이 이것은 단지 추측일 뿐이므로 가능한 모든 변형을 확인해야 합니다. 귀하에게 적합한 것이 무엇인지 알려주세요.
사용자 이름을 변경하는 단계:
변수 정의
new_username=newUSER
old_username=oldUSER
해당 아이디가 기존 사용자인지 확인하세요.
id ${old_username}
사용자 및 홈 디렉터리 이름 바꾸기
usermod -d /home/${new_username} ${old_username}
usermod -l ${new_username} ${old_username}
그룹 변경
groupmod --new-name ${new_username} ${old_username}
메일 폴더 및 소유자 변경(usermod가 변경하지 않은 경우)
mv /var/spool/mail/{${old_username},${new_username}}
chown ${new_username} /var/spool/mail/${new_username}
새로운 사용자의 ID를 확인하세요
id ${new_username}
홈 폴더 이름 바꾸기(usermod가 이름을 바꾸지 않은 경우)
mv /home/{${old_username},${new_username}}
이름 변경이 완료되었는지 확인
ls -la /home
/etc/passwd 사용자 homedir을 수동으로 변경합니다(usermod가 이를 변경하지 않은 경우).
grep "${old_username}" /etc/passwd
nano /etc/passwd
SSH 공개 키에서 사용자를 수동으로 변경합니다(기본적으로 SSH 키는 생성 시 사용한 사용자를 저장하므로 새 사용자 이름이 필요함).
grep "${old_username}" /home/${new_username}/.ssh/*.pub
nano /home/${new_username}/.ssh/*.pub
visudo에서 사용자를 수동으로 변경(선택 사항)
visudo