유닉스 사용자의 이름을 바꾸려면 어떻게해야합니까? 사용자 hedgehog가 있고 이름이 지정 squirrel되기를

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



답변

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

답변

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


답변

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

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


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