사용자 이름을 변경하려고 시도했지만 이제 사용자가 로그인 옵션에 없습니다.

사용자 이름을 변경하려고 시도했지만 이제 사용자가 로그인 옵션에 없습니다.

사용자 이름을 변경하려고 합니다. 터미널을 열었고 올바르게 기억하면 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

관련 정보