-
[Linux] Ubuntu 계정 이름 변경 방법Linux 2024. 2. 6. 20:29
Windows11 터미널로 wsl 우분투 여러 버전 사용하려니 버전 간 구분이 안 돼서 계정 이름으로 구별하려고 이름 바꾸다가, 프로세스랑 한바탕 싸우고 열받아서 쓰는 글
(설치 시에 생성한 계정 1개만 존재한다고 가정)
방법1. 기존 계정 삭제 후 새 이름으로 계정 생성
간단하지만 기존 계정 데이터를 모두 삭제해도 되는 경우에만 가능
방법2. 기존 계정 이름 변경
기존 계정 데이터를 지켜야 하는 경우.
방법 1. 기존 계정 삭제 후 새 이름으로 계정생성
1. 새 계정 생성
# 새 계정 이름 생성 sudo adduser {new username} # 새 계 sudo 권한 부여 sudo adduser {new username} sudo
2. 루트 계정 로그인
su -
'su: Authentication failure' 로그 발생 시 sudo passwd로 pw 설정
3. 계정 삭제 시도, 기존 계정에서 실행 중인 프로세스 id 확인
userdel -f {username}
위와 같은 에러가 뜨는 경우, 4번 실행
4. 기존 계정 프로세스 종료 & 기존 계정 삭제
*종료&삭제를 동시에 하지 않고 종료 명령 후 삭제하게 되면 자동으로 다시 기존 계정에 로그인 돼서 프로세스가 다시 생성됨
kill -9 {pid} && userdel -f {username}
방법 2. 기존 계정 이름 변경
1. 임시 계정 생성
*임시 계정을 생성하지 않으면, 기존 계정의 프로세스를 죽여도 계속 새로 생김
# 새로운 임시 사용자 이름 생성 sudo adduser {tmp username} # 새로 만든 임시 사용자 sudo 권한 부여 sudo adduser {tmp username} sudo
2. 루트 계정 로그인
su -
3. 계정이름, 홈 디렉토리, 그룹 변경
usermod -d /home/{변경하고자 하는 사용자 이름} -m {기존 사용자 이름} usermod -l {변경하고자 하는 사용자 이름} {기존 사용자 이름} groupmod -n {변경하고자 하는 사용자 이름} {기존 사용자 이름}
’usermod: user {username} is currently used by process {pid}’ 로그 발생 시, 명령어 앞에 kill -9 {pid} && 붙이기
4. 임시 계정 삭제
userdel {임시 사용자 이름} rm -r /home/{임시 사용자 이름}
Ref.
[Linux] Ubuntu 22.04 사용자 이름(username) 변경하기
When trying to change username, terminal tells me user is currently used by process