Kako u LInux-u promeniti korisničko ime ili UID
Možda ste se pitali kako promeniti korisničko ime (username) ili UID (user ID) u Linux-u putem komandne linije? U ovom tekstu ćemo objasniti kako to da uradite pomoću komande usermod.
Za promenu korisničkog imena koristimo komandu usermod. Ova komanda menja sistemske fajlove u skladu sa zahtevom iz komandne linije.
Odmah da napomenemo da ne radite ručno editovanje /etc/passwd fajla.
Sintaksa
Za promenu korisničkog imena koristite sledeću sintaksu:
usermod -l login-name old-name
Komandu usermod koristimo da promenimo korisnički nalog. Korišćenjem ove komande ime korisnika će biti promenjeno iz old-name u login_name.
Za promenu naziva UID-a (user ID) koristite sledeću sintaksu:
usermod -u UID username
Pojašnjenje:
UID je numerička vrednost. Ova vrednost mora biti jedinstvena osim ukoliko koristite opciju -o i ne može biti negativna. Vrednosti između 0 i 99 su obično rezervisane za sistemske naloge. Svi fajlovi koji su u posedu nekog naloga i koji se nalaze u stablu direktorijuma root-ovanom u korisnikovom home dorektorijumu, imaće automatski promenjen UID. Fajlovi izvan home direktorijuma moraju biti zamenjeni ručno.
Izlistavanje svih korisnika
Kucajte sledeću cat komandu:
cat /etc/passwd
Možete koristiti i grep komandu da filtirate samo korisnička imena:
grep -w '^username' /etc/passwd
grep -w '^predrag' /etc/passwd
Druga opcija je da koristite cut komandu:
cut -d: -f1 /etc/passwd
Kako da promenite naziv korisničkog imena ili UID-a
Da vidimo kako se menja naziv user login-a. Prvo proverite da to korisničko ime nije ulogovano na server i da nijedan proces ne radi pod tim korisničkim imenom. Takođe, naša preporuka (kao i uvek) je da uradite bekap vaših podataka ili serverskih fajlova pre nego što pristupite ovom menjanju.
Prvo zatražite korisnički ID koristeći ID komandu:
id predrag
Sada upotrebite grep komandu da biste dobili login info korisnika pod nazivom predrag:
grep '^predrag:' /etc/passwd
Sada pogledajte group info o korisniku pod nazivom predrag, koristeći groups komandu:
grep 'predrag' /etc/group
groups predrag
Nakon toga pronađite prava pristupa home direktorijumu za korisnika pod nazivom predrag:
ls -ld /home/tom/
Na kraju, pogledajte sve Linus procese pokrenute pod tim korisnikom i grupom, koristeći ps komandu:
ps aux | grep tom
ps -u tom
Promenite korisničko ime iz predrag u nenad pomoću komande usermod
Kucajte sledeću usermod komandu:
# id predrag
# usermod -l nenad predrag
## Verify ###
# id predrag
# id nenad
# ls -ld /home/predrag
Jedna napomena u vezi sa pokrenutim procesima: Ukoliko je u ovom slučaju korisnik pod nazivom predrag ulogovan i ima aktivne procese, pojaviće se sledeća poruka:
# usermod -l nenad predrag
usermod: user predrag is currently used by process ….
U tom slučaju potrebno je da zatvorite sve Linux procese koji su aktivni pod korisnikom predrag i izlogujete ih iz sistema:
# pkill -u predrag pid
# pkill -9 -u predrag
# usermod -l nenad predragPromenite naziv primarnog groupname-a iz predrag u nenad
Kucajte sledeću usermod komandu:
# id predrag
# groupmod -n nenad predrag
## Verify it ###
# id predrag
# ls -ld /home/predrag
Kako da promenite korisnički direktorijum iz /home/predrag u /home/nenad
Evo sintakse:
# usermod -d /home/nenad -m nenad
# id nenad
# ls -ld /home/nenad
Primer izlaza:
uid=1001(nenad) gid=1001(nenad) groups=1001(nenad)
drwxr-xr-x 2 nenad nenad 4096 Mar 19 16:59 /home/nenad/
Kako da promenite korisnički UID za predraga iz 5001 u 10000
Kucajte sledeću usermod komandu:
# id predrag
# usermod -u 10000 predrag
# id predrag
Ukoliko je potrebno možete potražiti pomoć u vezi sa usermod komandom
Možete koristiti –-help opciju za usermodkomandu. Na primer, kucajte sledeću komandu:
usermod --help
Možete pogledati i listu svih opcija koje se mogu koristiti uz usermod komandu.
