내 시스템에는 한 명의 사용자 만 있습니다. 사용자 ID를 기본값 1000에서 어떻게 변경합니까?
일반적인 데스크탑 설치에서 로그인 프로세스가 중단되는 것을 피하기 위해 필요한 추가 단계가있는 경우 해당 단계를 답변의 일부로 포함해야합니다.
내 시스템에는 한 명의 사용자 만 있습니다. 사용자 ID를 기본값 1000에서 어떻게 변경합니까?
일반적인 데스크탑 설치에서 로그인 프로세스가 중단되는 것을 피하기 위해 필요한 추가 단계가있는 경우 해당 단계를 답변의 일부로 포함해야합니다.
답변:
문제는 언급했듯이 사용자가 세션에 로그인 할 때 UID를 변경할 수 없다는 것입니다. 계속하려면 다른 사용자 계정을 사용해야합니다.
그러나 새 사용자 계정을 만들거나 관리로 승격, 로그 아웃, 새 관리자 계정으로 로그인, 기본 계정의 UID 변경, 로그 아웃, 기본 계정으로 로그인 한 다음 새 관리자를 삭제할 필요는 없습니다. UID 만 변경하면됩니다. ;)
복구 모드 로 부팅 할 수 있습니다 (컴퓨터를 시작할 때 나타나는 옵션이거나 BIOS 메시지가 완료된 직후 Shift 키를 누르 ESC십시오 (OEM-Ubuntu를 실행하는 Dell 컴퓨터에서 사용 )). 루트 세션에 로그인됩니다. 일반적인 사용자 계정이 아닌 루트로 로그인 하면 UID를 수정할 수 있습니다.
복구 모드는 명령 행 인터페이스에서만 작동하므로 일단 루트 세션에 로그인하면 다음을 수행해야합니다.
사용하여 읽기 - 쓰기 모드에서 루트 파일 시스템을 다시 마운트 BubbaJ의 지침을 : mount -o remount,rw /
.
사용 루이스 알바라도의 명령을 : usermod -u NEW_UID your_username
.
reboot
) 일반 모드로 부팅 할 수 있습니다.usermod -u NEW_UID your_username
및을 수행 한 후 find / -uid 1000 -exec chown -h 5000 '{}' \+
재부팅하면 추측 세션 전용 GUI 로그인이 발생합니다.
usermod: user user_name is currently used by process 1118
@Alexandre P.
당신은 그것을에서 변경할 수 있습니다 /etc/passwd
, /etc/group
그리고 /etc/shadow
하거나 위의 선호 possibilties 중 하나를 사용합니다. 그러나 가장 중요한 것은 사용자에게 속한 모든 파일의 소유권을 변경해야합니다.
예를 들어, 이전 사용자 ID가 1000이고 새 사용자 ID가 5000 인 경우 :
find / -uid 1000 -exec chown -h 5000 {} +
그리고 그룹 ID에 대해서도 동일합니다 (변경할 경우).
find / -gid 1000 -exec chgrp -h 5000 {} +
@AlexandreP를 기반으로 한 완벽한 솔루션. 그리고 @ddeimeke + 공식 문서. 재부팅이 필요 없습니다.
데비안 / 우분투 정책은 jim
사용자 ID를 가진 사용자 가있는 경우 그룹 ID를 가진 그룹 1001
도 있다는 것입니다 . 이 솔루션은 해당 그룹 ID도 업데이트합니다.jim
1001
sudo passwd root
루트로 로그인하고 제공된 사용자 이름 및 이전 / 새 UID를 사용하여이를 실행하십시오.
# put the information we need in variables
username=...
old_uid=`id -u $username` # looks up current (old) uid
new_uid=...
# update the user ID and group ID for $username
usermod -u $new_uid $username
groupmod -g $new_uid $username
# update the file ownerships
# NB: you cannot combine the next two chowns, or files where
# only the uid xor the gid matches won't be updated
chown -Rhc --from=$old_uid $new_uid / # change the user IDs
chown -Rhc --from=:$old_uid :$new_uid / # change the group IDs
$username
sudo passwd -dl root
sudo setfacl -m "u:<NEWUID>:r-x" /media/<USERNAME> sudo setfacl -x "u:<OLDUID>" /media/<USERNAME>
콘솔로 이동하여 입력 usermod --help
하면 다음과 같은 매개 변수 중 하나가 나타납니다.
-u, --uid UID 사용자 계정의 새 UID
cyrex 사용자의 UID를 변경하려면 다음을 수행하십시오.
usermod -u 1000 cyrex
그것은 cyrex의 uid를 이전의 값에서 1000으로 바꿀 것입니다.
시각적으로 수행하려면 다음을 수행하십시오.
이동
시스템-> 관리-> 사용자 및 그룹
목록에서 자신을 선택하고 고급 설정을 클릭하십시오
UID는 해당 창의 끝에 있습니다.
먼저 최소한 잠시 동안 루트로 로그인해야하므로이를 가능하게하십시오.
sudo passwd root
재부팅, ctrl + alt + f1 콘솔로 전환하고 루트로 로그인하여 다음을 수행하십시오 (home 디렉토리의 소유권은 자동으로 처리됩니다).
groupmod --gid NEWGID username
usermod --uid NEWUID username
홈 디렉토리 이외의 장소에있는 파일의 경우 :
sudo chown -R username:username /path/to/files
원하는 경우 루트 암호를 삭제하고 잠급니다. (나는 그것을 유지하는 경향이있다) :
passwd -dl root