Narzędzia użytkownika

Narzędzia witryny


materialy:podstawy-administracji:konta-uzytkownikow

Konta użytkowników

W każdym systemie potrzebne są konta użytkowników. Konta można podzielić na dwa rodzaje - konta osób korzystających z systemu: administratorów, użytkowników poczty, samby itp. oraz konta techniczne - czyli konta dedykowane dla działania konkretnej usługi: konto ftp, apache, httpd. Te ostatnie tworzone są po to, aby konkretny demon działał w kontekście i z uprawnieniami użytkownika technicznego. W ten sposób administrator może kontrolować do jakich zasobów dana usługa ma dostęp.

Tworzenie nowego konta użytkownika

Dodanie nowego konta do systemu można dokonać za pomocą komendy useradd:

[root@lpi-c7 ~]# useradd
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

Przydatnymi parametrami używanymi do zakładania kont są:

  • -m aby automatycznie był tworzone katalog domowy użytkownika (raczej nie używany przy kontach technicznych)
  • -s /bin/bash aby ustawić powłokę Bash jako tą podstawową po zalogowaniu
  • -r dla kont technicznych (systemowych)
  • -g GRUPA_PODSTAWOWA aby dopisać inną niż domyślnie grupę podstawową, konto użytkownika może należeć tylko do jednej grupy podstawowej
  • -G GRUPA2,GRUPA3,… aby dodać użytkownika od razu do innych grup dodatkowych w systemie
  • -u UID aby przypisać konkretną wartość identyfikatora użytkownika (UID) - powinien on być unikalny dla każdego z użytkowników w systemie; czasami jest potrzeba, aby użytkownikowi nadać określony, stały UID w różnych współpracujących systemach dla wygody operowania uprawnieniami na tych systemach (uprawnienia oparte są o UID a nie nazwę użytkownika).

Przykładowo, aby utworzyć konto kasia z jej katalogiem domowym i z domyślną powłoką Bash:

useradd -m -s /bin/bash kasia

Nazwy loginów nie mogą zawierać polskich znaków diakrytycznych. Zachowanie domyślne komendy useradd może być definiowane w pliku /etc/login.defs.

Tworzenie nowej grupy użytkowników

Grupy w systemie pozwalają wygodniej zarządzać zbiorem kont (np. uprawnieniami do określonych obiektów). Aby dodać nową grupę do systemu należy użyć komendy groupadd:

[root@lpi-c7 ~]# groupadd
Usage: groupadd [options] GROUP

Options:
  -f, --force                   exit successfully if the group already exists,
                                and cancel -g if the GID is already used
  -g, --gid GID                 use GID for the new group
  -h, --help                    display this help message and exit
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -o, --non-unique              allow to create groups with duplicate
                                (non-unique) GID
  -p, --password PASSWORD       use this encrypted password for the new group
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into

Przykładowo, aby dodać grupy księgowi oraz admini:

groupadd ksiegowi
groupadd admini

Nazwy loginów nie mogą zawierać polskich znaków diakrytycznych. Zachowanie domyślne komendy groupadd może być definiowane w pliku /etc/login.defs.

Zmiana hasła konta

Aby nadać lub zmienić hasło dla konta należy użyć komendy passwd:

[root@lpi-c7 ~]# passwd --help
Użycie: passwd [OPCJA...] <nazwaKonta>
  -k, --keep-tokens       zatrzymuje niewygasłe tokeny uwierzytelniania
  -d, --delete            usuwa hasło dla danego konta (tylko root)
  -l, --lock              zablokowuje hasło danego konta (tylko root)
  -u, --unlock            odblokowuje hasło danego konta (tylko root)
  -e, --expire            wygasza hasło dla danego konta (tylko root)
  -f, --force             wymusza działanie
  -x, --maximum=DAYS      maksymalny czas ważności hasła (tylko root)
  -n, --minimum=DAYS      minimalny czas ważności hasła (tylko root)
  -w, --warning=DAYS      liczba dni ostrzegania użytkownika przed wygaśnięciem hasła
                          (tylko root)
  -i, --inactive=DAYS     liczba dni po wygaśnięciu hasła, kiedy konto zostanie wyłączone
                          (tylko root)
  -S, --status            zgłasza stan hasła dla danego konta (tylko root)
  --stdin                 odczytuje nowe tokeny ze standardowego wejścia (tylko root)

Help options:
  -?, --help              Show this help message
  --usage                 Display brief usage message

Użytkownik root ma uprawnienia zmiany hasła dowolnemu użytkownikowi, np.:

passwd kasia

Każdy użytkownik może może zmienić swoje hasło za pomocą komendy:

passwd

Identyfikacja użytkownika

Aby upewnić się, że konto w systemie istnieje oraz sprawdzić jakie są jego podstawowe przynależności do grup oraz wartości UID użytkownika i GID podstawowej grupy należy wywołać komende id:

[root@lpi-c7 ~]# id kasia
uid=1004(kasia) gid=1004(kasia) grupy=1004(kasia)

lub jako Kasia:

[kasia@lpi-c7 ~]$ id
uid=1004(kasia) gid=1004(kasia) grupy=1004(kasia)

Modyfikacje parametrów konta

Aby zmodyfikować parametry konta (najczęściej zmieniamy przypisanie użytkownika do grup) należy użyć komendy usermod:

[root@lpi-c7 ~]# usermod
Usage: usermod [options] LOGIN

Options:
  -c, --comment COMMENT         new value of the GECOS field
  -d, --home HOME_DIR           new home directory for the user account
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -g, --gid GROUP               force use GROUP as new primary group
  -G, --groups GROUPS           new list of supplementary GROUPS
  -a, --append                  append the user to the supplemental GROUPS
                                mentioned by the -G option without removing
                                him/her from other groups
  -h, --help                    display this help message and exit
  -l, --login NEW_LOGIN         new value of the login name
  -L, --lock                    lock the user account
  -m, --move-home               move contents of the home directory to the
                                new location (use only with -d)
  -o, --non-unique              allow using duplicate (non-unique) UID
  -p, --password PASSWORD       use encrypted password for the new password
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             new login shell for the user account
  -u, --uid UID                 new UID for the user account
  -U, --unlock                  unlock the user account
  -Z, --selinux-user SEUSER     new SELinux user mapping for the user account

Komenda przyjmuje podobne parametry do useradd, ale dotyczy kont już istniejących użytkowników. Aby przykładowo zmienić ustawienia konta kasia tak, aby należała do grupy ksiegowi jako grupy podstawową oraz do grupy dokumentyfirmy jako grupy dodatkowej:

usermod -g ksiegowi -G dokumentyfirmy kasia

Z usermod może korzystać jedynie administrator. Użytkownik nie może zmienić swojej przynależności do grup ze względów bezpieczeństwa.

Kasowanie obiektów

Aby skasować konto użytkownika lub grupę należy użyć komend userdel lub groupdel:

[root@lpi-c7 ~]# userdel
Usage: userdel [options] LOGIN

Options:
  -f, --force                   force some actions that would fail otherwise
                                e.g. removal of user still logged in
                                or files, even if not owned by the user
  -h, --help                    display this help message and exit
  -r, --remove                  remove home directory and mail spool
  -R, --root CHROOT_DIR         directory to chroot into
  -Z, --selinux-user            remove any SELinux user mapping for the user

Przydatnym parametrem userdel jest -r dzięki któremu oprócz kasowania samego konta zostanie dodatkowo usunięty jego katalog domowy z zawartością oraz poczta użytkownika.

Składnia komendy groupdel:

[root@lpi-c7 ~]# groupdel
Usage: groupdel [options] GROUP

Options:
  -h, --help                    display this help message and exit
  -R, --root CHROOT_DIR         directory to chroot into

Zakres materiału LPI 107.1 niepełny!

FIXME

Informacyjnie: materiał na stronie nie wypełnia jeszcze całego zekresu tematu 107.1 LPI, brakuje opisów:

  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/skel
  • chage
  • groupmod
materialy/podstawy-administracji/konta-uzytkownikow.txt · ostatnio zmienione: 2014/11/29 23:59 przez mzalewski

(C) 2017 ITMZ Mariusz Zalewski