W moim systemie jest tylko jeden użytkownik. Jak mogę zmienić jego identyfikator użytkownika z domyślnego 1000?
Jeśli konieczne są dodatkowe kroki, aby uniknąć przerwania procesu logowania podczas typowej instalacji na pulpicie, należy je uwzględnić w odpowiedzi.
user-management
ændrük
źródło
źródło
Odpowiedzi:
Problem polega na tym, że, jak wspomniałeś, nie możesz zmienić identyfikatora UID użytkownika, gdy jest on zalogowany w sesji. Aby kontynuować, musisz użyć innego konta użytkownika.
Ale nie musisz tworzyć nowego konta użytkownika, awansować go na administratora, wylogować się, zalogować na nowe konto administratora, zmienić UID konta podstawowego, wylogować się, zalogować na konto podstawowe, a następnie usunąć nowego użytkownika administratora wystarczy zmienić identyfikator UID. ;)
Możesz uruchomić system w trybie odzyskiwania (jest to opcja pojawiająca się podczas uruchamiania komputera lub przytrzymanie klawisza Shift zaraz po zakończeniu komunikatów BIOS; Użyj ESCna komputerach Dell z systemem OEM-Ubuntu). Spowoduje to zalogowanie się w sesji root. Będąc zalogowanym rootem, a nie zwykłym kontem użytkownika , będziesz mógł modyfikować swój UID.
Ponieważ tryb odzyskiwania działa tylko w interfejsie wiersza poleceń, po zalogowaniu się do sesji roota będziesz musiał:
Użyj instrukcji BubbaJ by zamontować główny system plików w trybie odczytu i zapisu :
mount -o remount,rw /
.Użyj polecenia Luis Alvarado :
usermod -u NEW_UID your_username
.reboot
), aby można było uruchomić system w trybie normalnym.źródło
usermod -u NEW_UID your_username
ifind / -uid 1000 -exec chown -h 5000 '{}' \+
ponowne uruchomienie prowadzi do logowania GUI tylko do zgadywania./etc/login.defs
i/etc/adduser.conf
pliki, jeśli zmieniłeś swój identyfikator użytkownika poza zasadami określonymi w tych plikach konfiguracyjnych. Użytkownicy poza limitami zasad nie są wyświetlani w pętli logowania, ale możesz zmienić zasady. Zobacz tę odpowiedźusermod: user user_name is currently used by process 1118
@Alexandre P.Można go zmienić w
/etc/passwd
,/etc/group
i/etc/shadow
lub użyć jednego z preferowanych possibilties powyżej. Ale - co najważniejsze - musisz zmienić własność wszystkich plików należących do użytkownika.Na przykład, jeśli stary identyfikator użytkownika to 1000, a nowy to 5000:
To samo dotyczy identyfikatora grupy (jeśli go również zmienisz).
źródło
sudo find / -xdev -uid 1000 -exec chown 5000 '{}' \+
, w przeciwnym razie uwzględnilibyśmy zamontowane dane (w/mnt
, co jest prawdopodobnie niepożądane) i pliki, z którymi lepiej nie zadzierać w/proc
i/dev
. Zobacz ten postKompletne rozwiązanie oparte na @AlexandreP. oraz @ddeimeke + oficjalna dokumentacja. Ponowne uruchomienie nie jest konieczne.
Polityka Debiana / Ubuntu mówi, że jeśli istnieje użytkownik
jim
o identyfikatorze użytkownika1001
, istnieje również grupajim
o identyfikatorze grupy1001
. To rozwiązanie aktualizuje również te identyfikatory grup.Włącz konto root :
Zaloguj się jako root i uruchom to, podając nazwę użytkownika i stary / nowy identyfikator UID:
$username
Wyłącz konto root :
źródło
sudo setfacl -m "u:<NEWUID>:r-x" /media/<USERNAME> sudo setfacl -x "u:<OLDUID>" /media/<USERNAME>
Jeśli przejdziesz do konsoli i wpiszesz:
usermod --help
otrzymasz jeden z parametrów:-u, --uid UID nowy UID dla konta użytkownika
więc jeśli chcesz zmienić UID dla użytkownika cyrex, wykonaj następujące czynności:
usermod -u 1000 cyrex
zmieniłoby to uid dla cyrexu z jakiejkolwiek wartości, jaką miał wcześniej, na 1000
Jeśli chcesz to zrobić wizualnie, zrób to:
Iść do
Wybierz siebie z listy i kliknij USTAWIENIA ZAAWANSOWANE
UID znajduje się na końcu tego okna.
źródło
źródło
Z KDE: w menu Zmień zaawansowane ustawienia użytkownika:
Zmiana z innego użytkownika nie działa dla 1000, który jest użytkownikiem domyślnym.
musisz to zrobić ręcznie - moje doświadczenie
źródło
Najpierw musisz zalogować się jako root, przynajmniej przez jakiś czas, więc pozwól nam to umożliwić:
Uruchom ponownie, ctrl + alt + f1, aby przełączyć się na konsolę, zaloguj się jako root, wykonaj następujące czynności (własność w katalogu domowym zostanie załatwiona automatycznie):
W przypadku plików w miejscach innych niż katalog domowy:
Usuń i zablokuj hasło roota, jeśli chcesz. (Staram się to utrzymywać):
źródło
Śledziłem ddeimeke za instrukcjami z następującymi zmianami:
sudo su
/etc/shadow
Widziałem już wspomniane w innych odpowiedziach, że powinieneś albo uruchomić komputer w celu odzyskania, albo zalogować się jako
root
. Mój był świeżą instalacją Ubuntu 14, więc byłem gotów przetestować, czy zadziała bez logowania jakoroot
. Robiłem to również na instancji EC2 przez SSH.źródło