it-swarm-ko.tech

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

이름이 hedgehog 인 사용자가 이름이 squirrel 인 것을 원하지만 숫자 사용자 ID를 변경하고 싶지 않습니다.
이 작업을 어떻게 수행 할 수 있습니까?

98
Szymon Jeż

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
144
Szymon Jeż

참고 : 디렉토리가 암호화되어 있으면 시도하지 마십시오! 이 경우 먼저 확인하고 싶을 수도 있습니다. 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합니다.

13
mimoralea

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

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


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

4
voretaq7