유닉스 사용자의 이름을 바꾸려면 어떻게해야합니까?


89

이름이 지정된 사용자 hedgehog가 있고 이름이 지정 squirrel되기를 원하지만 숫자 사용자 ID를 변경하고 싶지 않습니다.
어떻게하면됩니까?


2
아마도 사용자 이름을 바꾸는 것이 전문 SA가 해결해야 할 작업이 아니기 때문일 수 있습니다. (질문 downvotes.)
HopelessN00b

2
@Jeznet 나는 다운 제목을 구글에 입력하여 해결할 수있는 매우 간단한 작업 일뿐 만 아니라 요청하자마자 자신의 질문에 대답했기 때문에 다운 투표했다. 시간 낭비를 보였다.
boburob

10
@boburob "당신은 또한 당신이 질문하자마자 자신의 질문에 대답했습니다. 시간 낭비를 보았습니다": blog.stackoverflow.com/2011/07/…
Szymon Jeż

10
@boburob Answer your own question – share your knowledge, Q&A-style질문 할 때 틱 박스가 보 입니까? 이유가 있기 때문에 사용하지 않으려는 경우에는 없을 것입니다. (이상적으로 더 나은 질문이지만, 자신의 질문에 대답하기 위해 누군가를 공세하는 것은 좋지 않습니다.)
HopelessN00b

1
네, 또한 시간 낭비의 비트가 질문을하고 같은 분의 구글 결과를 붙여 나에게 전하지만 내 자신의 질문에 대답 한
boburob

답변:


133

Linux에서 usermod명령은 사용자 이름을 변경합니다. 명령 줄에 지정된 변경 내용을 반영하도록 시스템 계정 파일을 수정합니다.

사용자 이름 만 변경하려면 다음을 수행하십시오.

usermod --login new_username old_username

사용자 이름 및 홈 디렉토리 이름을 변경하려면 다음을 수행하십시오.

usermod --login new_username --move-home --home path_to_the_new_home_dir old_username

사용자와 관련된 그룹 이름을 변경할 수도 있습니다.

groupmod --new-name new_username old_username

12
usermod를 사용하여 모든 작업을 수행 할 수 있습니다. usermod -l new-user-name -m -d / new / home / dir old-user-name
user9517

5
또한 그룹도 변경되지 않습니다. old-user-name그룹 이름을 바꾸려면을 사용하십시오 # groupmod -n new-user-name old-user-name.
alxs

1
를 사용하는 시스템의 경우 autofs업데이트해야합니다 /etc/auto.home. 방금 이것에 부딪쳤다.
Steven C. Howell

2
해당되는 경우 새 사용자 이름을 sudoers 목록에 넣으려면 visudo를 다시 실행해야 할 수 있습니다.
Nagev

2
또한 /var/spool/cron/crontabs/작업이 설치된 경우 에있는 crontab 파일의 이름을 바꿔야합니다.
Daniel F

12

참고 : 디렉토리가 암호화되어 있으면 시도하지 마십시오! 이 경우 먼저 확인하고 싶을 수도 있습니다 : https://askubuntu.com/questions/107410/can-you-unencrypt-remove-encryption-from-a-user-home-folder

이 작업을 수행하는 방법은 다음과 같습니다.

  1. sudo 권한으로 새 임시 계정을 작성하십시오.

    sudo adduser temp
    sudo adduser temp sudo
    
  2. 현재 계정에서 로그 아웃 한 후 임시 계정으로 다시 로그인하십시오.

  3. 사용자 이름과 디렉토리의 이름을 바꾸십시오 :

    sudo usermod -l new-username -m -d /home/new-username old-username
    
  4. 사용자 이름 기본 그룹의 이름을 바꾸십시오.

    sudo groupmod -n new-username old-username
    
  5. 임시 계정에서 로그 아웃 한 후 새 사용자 이름으로 계정에 다시 로그인하십시오.

  6. 임시 계정을 제거하십시오.

    sudo userdel -r temp
    

그렇지 않으면 (1) 새 사용자를 만들고 (2) rsync이전 사용자 홈 폴더를 새 사용자로 만든 다음 (3) 사용자 chown입니다.


CentOS에서는`passwd temp '와'usermod -aG wheel temp '도 필요했습니다.
브라이언 Z

4

일반적으로 /etc/passwd(및 /etc/shadow해당되는 경우) 파일 에서 사용자 이름을 변경하여 사용자 이름을 바꿀 수 있습니다. 대부분의 유닉스 시스템에서는 vipw이 파일을 편집하는 데 명령이 사용됩니다 (많은 시스템에서는 문제를 심각하게 엉망으로 만들지 않도록하는 보호 장치가 포함되어 있습니다).
에 대한 매뉴얼 페이지를 참조하십시오 passwd(5), shadow(5)vipw(8)자세한 정보를.

위의 방법은 원래 사용자 이름을 가질 수있는 다른 것의 이름을 바꾸지 않습니다 (홈 디렉토리는 주된 예이고 사용자 별 개인 그룹 (사용하는 시스템의 경우)는 다른 것임). passwd 파일에서 해당 필드를 변경하고 디렉토리 이름을 바꾸어 일관성을 유지하기 위해 정리할 수도 있습니다.


여러 운영 체제는 시스템 별 사용자 이름 바꾸기 방법을 제공합니다. 예를 들어 많은 Linux 시스템에는 usermod(8)명령이 포함 되어 있으며 AIX에서는 SMIT (또는 smitty터미널)를 사용하여 계정 이름을 변경할 수 있습니다 .
이러한 명령은 종종 요청하면 홈 디렉토리 이름 바꾸기와 같은 정리 항목을 처리합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.