Wyszukiwanie w witrynie

Kompletny przewodnik po poleceniu „usermod” – 15 praktycznych przykładów ze zrzutami ekranu


W dystrybucjach Unix/Linux polecenie „usermod” służy do modyfikacji lub zmiany dowolnych atrybutów już utworzonego konta użytkownika za pomocą wiersza poleceń. Polecenie „usermod” jest podobne do polecenia „useradd” lub „adduser”, ale zawiera login przyznany istniejącemu użytkownikowi.

Polecenie „useradd” lub „adduser” służy do tworzenia kont użytkowników w systemach Linux. Aby dowiedzieć się więcej na temat tworzenia użytkowników systemu, przeczytaj nasz kompletny przewodnik pod adresem:

  1. Kompletny przewodnik po poleceniu „useradd” w systemie Linux

Po utworzeniu kont użytkowników, w niektórych sytuacjach musimy zmienić atrybuty istniejącego użytkownika, np. zmienić katalog domowy użytkownika, nazwę logowania, powłokę logowania, datę wygaśnięcia hasła itp., gdzie w takim przypadku używane jest polecenie „usermod”.

Kiedy wykonujemy polecenie „usermod” w terminalu, używane są następujące pliki i ma to wpływ.

  1. /etc/passwd – Informacje o koncie użytkownika.
  2. /etc/shadow – Bezpieczne informacje o koncie.
  3. /etc/group – Informacje o koncie grupowym.
  4. /etc/gshadow – Bezpieczne informacje o koncie grupowym.
  5. /etc/login.defs – konfiguracja zestawu haseł w tle.

Podstawowa składnia polecenia to:

usermod [options] username

Wymagania

  1. Aby wykonać polecenie usermod, musimy mieć istniejące konta użytkowników.
  2. Tylko superużytkownik (root) może wykonywać polecenia usermod.
  3. Polecenie usermod można wykonać w dowolnej dystrybucji Linuksa.
  4. Musi posiadać podstawową wiedzę na temat poleceń usermod z opcjami

Opcje Usermod

Polecenie „usermod” jest proste w użyciu i oferuje wiele opcji wprowadzania zmian w istniejącym użytkowniku. Zobaczmy, jak używać polecenia usermod, modyfikując niektórych istniejących użytkowników w systemie Linux za pomocą następujących opcji.

  1. -c=Możemy dodać pole komentarza dla konta użytkownika.
  2. -d=Aby zmodyfikować katalog dla dowolnego istniejącego konta użytkownika.
  3. -e=Za pomocą tej opcji możemy ustawić wygaśnięcie konta w określonym czasie.
  4. -g=Zmień grupę podstawową użytkownika.
  5. -G=Aby dodać dodatkowe grupy.
  6. -a=Aby dodać dowolną osobę z grupy do grupy dodatkowej.
  7. -l=Aby zmienić nazwę logowania z tecmint na tecmint_admin.
  8. -L=Aby zablokować konto użytkownika. Spowoduje to zablokowanie hasła i uniemożliwienie korzystania z konta.
  9. -m=przeniesienie zawartości katalogu domowego z istniejącego katalogu domowego do nowego katalogu.
  10. -p=Aby użyć niezaszyfrowanego hasła dla nowego hasła. (NIEzabezpieczone).
  11. -s=Utwórz określoną powłokę dla nowych kont.
  12. -u=Służy do przypisania UID do konta użytkownika w zakresie od 0 do 999.
  13. -U=Aby odblokować konta użytkowników. Spowoduje to usunięcie blokady hasłem i umożliwi nam korzystanie z konta użytkownika.

W tym artykule zobaczymy „15 poleceń usermod” z ich praktycznymi przykładami i zastosowaniem w systemie Linux, co pomoże Ci nauczyć się i udoskonalić umiejętności korzystania z wiersza poleceń, korzystając z tych opcji.

1. Dodanie informacji do Konta Użytkownika

Opcja „-c” służy do ustawienia krótkiego komentarza (informacji) o koncie użytkownika. Na przykład dodajmy informacje o użytkowniku „tecmint”, używając następującego polecenia.

usermod -c "This is Tecmint" tecmint

Po dodaniu informacji o użytkowniku ten sam komentarz można obejrzeć w pliku /etc/passwd.

grep -E --color 'tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

2. Zmień katalog domowy użytkownika

W powyższym kroku widzimy, że nasz katalog domowy znajduje się w /home/tecmint/. Jeśli będziemy musieli zmienić go na inny katalog, możemy go zmienić za pomocą -d opcja za pomocą polecenia usermod.

Na przykład chcę zmienić nasz katalog domowy na /var/www/, ale przed zmianą sprawdźmy bieżący katalog domowy użytkownika za pomocą poniższego polecenia.

grep -E --color '/home/tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

Teraz zmień katalog domowy z /home/tecmint na /var/www/ i po zmianie potwierdź dyrektora domowego.

usermod -d /var/www/ tecmint
grep -E --color '/var/www/' /etc/passwd

tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh

3. Ustaw Datę Wygaśnięcia Konta Użytkownika

Opcja „-e” służy do ustawienia daty ważności konta użytkownika w formacie RRRR-MM-DD. Przed ustawieniem daty wygaśnięcia dla użytkownika sprawdźmy najpierw aktualny stan wygaśnięcia konta za pomocą polecenia „chage” (zmiana informacji o wygaśnięciu hasła użytkownika).

chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Dec 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

Status wygaśnięcia użytkownika „tecmint” to 1 grudnia 2014, zmieńmy go na 1 listopada 2014 za pomocą „usermod -e ” i potwierdź datę ważności poleceniem „chage”.

usermod -e 2014-11-01 tecmint
chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Nov 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

4. Zmień grupę podstawową użytkownika

Aby ustawić lub zmienić podstawową grupę użytkowników, używamy opcji „-g” z poleceniem usermod. Przed zmianą podstawowej grupy użytkowników sprawdź najpierw, czy w bieżącej grupie znajduje się użytkownik tecmint_test.

id tecmint_test

uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)

Teraz ustaw grupę babin jako grupę podstawową dla użytkownika tecmint_test i potwierdź zmiany.

usermod -g babin tecmint_test
id tecmint_test

uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)

5. Dodawanie grupy do istniejącego użytkownika

Jeśli chcesz dodać nową grupę o nazwie „tecmint_test0” do użytkownika „tecmint”, możesz użyć opcji „-G” z poleceniem usermod jak pokazano niżej.

usermod -G tecmint_test0 tecmint
id tecmint

Uwaga: zachowaj ostrożność, ponieważ dodanie nowej grupy do istniejącego użytkownika za pomocą samej opcji „-G” spowoduje usunięcie wszystkich istniejących grup, które użytkownik należy. Dlatego zawsze dodawaj opcję „-a” (dołącz) z opcją „-G”, aby dodać lub dołączyć nowe grupy.

6. Dodawanie grupy dodatkowej i podstawowej do użytkownika

Jeśli chcesz dodać użytkownika do którejś z grup dodatkowych, możesz skorzystać z opcji „-a” i „-G”. Na przykład tutaj dodamy konto użytkownika tecmint_test0 z użytkownikiem wheel.

usermod -a -G wheel tecmint_test0
id tecmint_test0

Zatem użytkownik tecmint_test0 pozostaje w swojej grupie podstawowej, a także w grupie dodatkowej (koło). Spowoduje to, że moje zwykłe konto użytkownika będzie mogło wykonywać dowolne polecenia uprzywilejowane przez roota w systemie Linux.

eg : sudo service httpd restart

7. Zmień nazwę logowania użytkownika

Aby zmienić dowolną istniejącą nazwę logowania użytkownika, możemy użyć opcji „-l” (nowy login). W poniższym przykładzie zmieniamy nazwę logowania tecmint na tecmint_admin. Dlatego nazwa użytkownika tecmint została zmieniona na nową nazwę tecmint_admin.

usermod -l tecmint_admin tecmint

Teraz sprawdź, czy jest użytkownik tecmint. Nie będzie go obecny, ponieważ zmieniliśmy go na tecmint_admin.

id tecmint

Sprawdź konto tecmint_admin, będzie tam z tym samym UID i istniejącą grupą, którą dodaliśmy wcześniej.

id tecmint_admin

8. Zablokuj konto użytkownika

Aby zablokować dowolne konto użytkownika systemu, możemy użyć opcji '-L' (blokada). Po zablokowaniu konta nie będziemy mogli zalogować się przy użyciu hasła i wyświetli się ! dodany przed zaszyfrowanym hasłem w pliku /etc/shadow oznacza wyłączenie hasła.

usermod -L babin

Sprawdź zablokowane konto.

grep -E --color 'babin' cat /etc/shadow

9. Odblokuj Konto Użytkownika

Opcja „-U” służy do odblokowania każdego zablokowanego użytkownika. Spowoduje to usunięcie ! przed zaszyfrowanym hasłem.

grep -E --color 'babin' /etc/shadow
usermod -U babin

Zweryfikuj użytkownika po odblokowaniu.

grep -E --color 'babin' /etc/shadow

10. Przenieś katalog domowy użytkownika do nowej lokalizacji

Załóżmy, że masz konto użytkownika „pinky” z katalogiem domowym „/home/pinky”, chcesz przenieść się do nowej lokalizacji, powiedz „/var /różowy”. Możesz użyć opcji „-d” i „-m”, aby przenieść istniejące pliki użytkownika z bieżącego katalogu domowego do nowego katalogu domowego.

Sprawdź konto i jego bieżący katalog domowy.

grep -E --color 'pinky' /etc/passwd

Następnie wypisz pliki, których właścicielem jest użytkownik Pinky.

ls -l /home/pinky/

Teraz musimy przenieść katalog domowy z /home/pinky do /var/pinky.

usermod -d /var/pinky/ -m pinky

Następnie sprawdź zmianę katalogu.

grep -E --color 'pinky' /etc/passwd

Sprawdź pliki w folderze „/home/pinky”. Tutaj przenieśliśmy pliki za pomocą opcji -m, więc nie będzie żadnych plików. Pliki użytkownika Pinky będą teraz znajdować się w katalogu /var/pinky.

ls -l /home/pinky/
ls -l /var/pinky/

11. Utwórz niezaszyfrowane hasło dla użytkownika

Aby utworzyć niezaszyfrowane hasło, używamy opcji „-p” (hasło). W celach demonstracyjnych ustawiam nowe hasło „redhat” dla użytkownika pinky.

usermod -p redhat pinky

Po ustawieniu hasła sprawdź teraz plik cienia, aby sprawdzić, czy jest w formacie zaszyfrowanym, czy niezaszyfrowanym.

grep -E --color 'pinky' /etc/shadow

Uwaga: czy widziałeś na powyższym obrazku, hasło jest wyraźnie widoczne dla wszystkich. Dlatego nie zaleca się korzystania z tej opcji, ponieważ hasło będzie widoczne dla wszystkich użytkowników.

12. Zmień powłokę użytkownika

Powłokę logowania użytkownika można zmienić lub zdefiniować podczas tworzenia użytkownika za pomocą polecenia useradd lub zmienić za pomocą polecenia „usermod” za pomocą opcji „-s” ( powłoka). Na przykład użytkownik „babin” ma domyślnie powłokę /bin/bash, teraz chcę ją zmienić na /bin/sh .

grep -E --color 'babin' /etc/passwd
usermod -s /bin/sh babin

Po zmianie powłoki użytkownika sprawdź powłokę użytkownika za pomocą następującego polecenia.

grep -E --color 'babin' /etc/passwd

13. Zmień identyfikator użytkownika (UID)

W poniższym przykładzie widać, że moje konto użytkownika „babin” ma identyfikator UID 502, teraz chcę go zmienić na 888 jako mój UID. Możemy przypisać UID od 0 do 999.

grep -E --color 'babin' /etc/passwd
OR
id babin

Teraz zmieńmy UID użytkownika babin za pomocą opcji „-u” (uid) i zweryfikujmy zmiany.

usermod -u 888 babin
id babin

14. Modyfikowanie konta użytkownika z wieloma opcjami

Tutaj mamy jacka użytkownika i teraz chcę zmodyfikować jego katalog domowy, powłokę, datę wygaśnięcia, etykietę, UID i grupę jednocześnie, używając jednego polecenia ze wszystkimi opcjami, jak omówiliśmy powyżej.

Użytkownik Jack ma domyślny katalog domowy /home/jack, teraz chcę go zmienić na /var/www/html i przypisać mu powłoki jako bash, ustaw datę ważności na 10 grudnia 2014, dodaj nową etykietę jako This is jack, zmień UID na 555 i będzie członkiem grupy Apple.

Zobaczmy teraz, jak zmodyfikować konto jack przy użyciu wielu opcji.

usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack

Następnie sprawdź zmiany w UID i katalogu domowym.

grep -E --color 'jack' /etc/passwd

Kontrola wygaśnięcia konta.

chage -l jack

Sprawdź grupę, do której należą wszystkie Jacki.

grep -E --color 'jack' /etc/group

15. Zmiana UID i GID Użytkownika

Możemy zmienić UID i GID bieżącego użytkownika. Do zmiany na nowy GID potrzebujemy istniejącej grupy. Tutaj już istnieje konto o nazwie orange z GID 777.

Teraz moje konto użytkownika jack chce mieć przypisany UID 666 i GID Orange (777).

Przed modyfikacją sprawdź bieżący UID i GID.

id jack

Zmodyfikuj UID i GID.

usermod -u 666 -g 777 jack

Sprawdź zmiany.

id jack

Wniosek

Tutaj widzieliśmy bardzo szczegółowo, jak używać polecenia usermod z jego opcjami. Zanim dowiesz się o poleceniu usermod, musisz znać polecenie „useradd” i jego opcje, aby móc korzystać z usermod. Jeśli pominąłem jakiś punkt artykułu, daj mi znać w komentarzach i nie zapomnij dodać swoich cennych komentarzy.