유닉스 사용자 계정의 이름을 바꿀 수 있습니까?


49

다른 사람이 사용하는 컴퓨터에 우분투를 설치했습니다. 본인의 이름으로 계정 이름을 변경했지만 사용자 이름이 아닌 전체 이름 만 변경되며 오른쪽 상단 ()에 계속 표시됩니다 fast-user-switch-applet. 유닉스 사용자 계정의 이름을 바꾸는 명령이 있습니까?

새 이름으로 새 사용자 계정을 만든 다음 "오래된"홈의 모든 항목을 새 계정의 홈으로 복사하려고합니다. 충분할까요? 그러나 파일에 이전 계정의 권한 소유자가 있다고 생각합니까? 그럼 내가해야 chown -R newuser ~합니까?

이 작업을 수행하는 더 간단하고 권장되는 방법이 있습니까?

답변:


52

시험

usermod --move-home --login <new-login-name> --home <new-home-dir> <old-login-name>

--move-home옵션은 기존 홈 디렉토리의 내용을 --home존재하지 않는 경우 작성된 ​​옵션으로 지정된 새 디렉토리로 이동 합니다.

기본 사용자 그룹 이을 일치 시키 려면 위 명령에 new-login-name추가 --gid <new-login-name>하되 그룹은 이미 존재해야합니다.

자세한 내용은 매뉴얼 페이지를 참조하십시오.

man usermod

감사! 나는이 명령에 대해 몰랐다. :) 그러나 이것은이 컴퓨터의 유일한 계정이며 사람은 다음과 같이 말합니다.«사용자 숫자 사용자 ID, 사용자 이름 또는 사용자 홈 디렉토리가 변경되고 있습니다. usermod는 Linux에서이를 확인하지만 사용자가 다른 아키텍처에서 utmp에 따라 로그인했는지 만 확인합니다. »라이브 CD를 사용하여이 작업을 수행하거나 일단 완료되면 임시 계정을 생성하여 제안 하시겠습니까?
Yann Dìnendal

2
Ubuntu를 사용 중이고 루트로 로그인 할 수 없으므로이 유형의 작업에만 사용하는 admin이라는 다른 계정을 만듭니다. 임시 계정도 잘 작동하지만 나중에 비슷한 작업을 수행 할 수 있으므로 유지해야 할 수도 있습니다.
gvkv

3
그주의 usermod --home예를 들어, 전체 경로를 포함해야합니다 /home/user.name- 그렇지 않으면 새로운 홈 디렉토리는 현재 작업 디렉토리 내에 생성됩니다.
feeela

그것은 그룹을 바꾸지 않을 것입니다!
Heanz

22

사용자 이름을 바꿀 수 있고 usermod일부 작업을 수행하지만 문제가 발생할 수 있습니다. 다음은 사용자 이름이 나타날 수있는 장소 목록입니다. 나는이 목록이 철저하다고 주장하지는 않는다.

  • 사용자의 항목 /etc/passwd및 관련 파일 (예를 들어 /etc/shadow, /etc/master.passwd).
  • /etc/group(및 /etc/gshadow)의 항목을 그룹화합니다 .
  • 의 항목이있을 수 /etc/sudoers있습니다.
  • 시스템 사서함, 일반적 /var/mail/$USER이나 /var/spool/mail/$USER.
  • 일반적으로 크론 탭 /var/spool/cron/crontabs/$USER
  • 에서 at작업 ( /var/spool/cron/atjobs/*)

홈 디렉토리는 훨씬 더 많은 위치에 나타날 수 있습니다. 많은 응용 프로그램이 다양한 도트 파일로 절대 경로를 작성합니다. 홈 디렉토리의 이름도 변경하기로 결정한 경우 (사용자 alice의 홈 디렉토리 가 혼동 /home/alice/home/bob수 있음을 요구하지는 않지만 ),이를 처리해야합니다. 전 세계 교체는 대부분의 응용 프로그램에서 작동하지만 약속하지는 않습니다. 가능하면 이전 홈 디렉토리 이름을 이름이 바뀐 디렉토리에 대한 심볼릭 링크로 유지하십시오.


4

데비안 시스템에서 사용한 명령을 요약하면 다음과 같습니다.

groupadd NEW
usermod -l NEW -m -d /home/NEW -g NEW OLD
chfn -f "New Fullname" NEW
cd /home
ln -s NEW OLD

마지막 두 명령은 이전 홈 디렉토리 이름 ( / home / OLD )에서 새 디렉토리 이름 ( / home / NEW ) 으로 심볼릭 링크를 만듭니다 .


무엇입니까 groupadd?
Yann Dìnendal

2
대신에 gid 변경을 피하는 groupadd것이 좋습니다 groupmod -n NEW OLD. 최소한 우분투에서는 사용자와 같은 이름의 그룹이 기본적으로 설정되어 있으므로 해당 이름도 변경하려고합니다.
jamadagni

1

위의 모든 것은 우아한 방법이지만, 새로운 사용자를 만들고, 처음부터 홈 컨텐츠를 모두 복사하면 안되는 이유는 무엇입니까? 물론 서비스 (응용 프로그램) 계정에 관한 것이면 아마도 모범 사례가 아닐 것입니다.


3
이것은 OP에 이미 언급 된 솔루션을 언급하는 것 외에 거의 아무것도 추가하지 않는 정답 게시물이 아닌 의견으로 더 잘 배치 될 수 있습니다. 이 솔루션이 더 우수하거나 수용 가능한 이유에 대한 정보를 추가하는 것을 고려해야합니다.
HalosGhost
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.