11. diel - Linuxový terminál (Bash) - Správa užívateľov
Už vieme, že je Linux viacužívateľský operačný systém, a tak si môžeme otvoriť niekoľko okien terminálu av každom z nich sa prihlásiť ako iný používateľ. V dnešnej lekcii sa naučíme efektívne vytvárať a ďalej spravovať užívateľov.
Používatelia v Linuxe
Linux všetkých užívateľov zapisuje do zoznamu, ktorý nájdeme v súborepasswd
v adresári /etc
. Poďme súbor otvoriť a
pozrieť sa, akí sú v systéme používatelia:
less /etc/passwd
Na každom riadku nájdeme jedného používateľa, a tak si
ľahko môžeme spočítať koľko používateľov v systéme existuje.
Použijeme na to filter wc
(word count) s prepínačom
-l
, ktorý bude počítať riadky:
less /etc/passwd | wc -l
V systéme budeme mať pravdepodobne okolo 30 užívateľov. Na prvom riadku
nájdeme vždy užívateľov root
s UID 0
, potom budú
nasledovať užívateľov jednotlivých služieb, ako napríklad
lp
, mail
, www-data
a ďalšie. Na konci
súboru potom nájdeme užívateľov, ktorých sme si vytvorili my.
Ak sa pozrieme na ľubovoľný riadok súboru, všimneme si, že sa skladá z
niekoľkých informácií oddelených dvojbodkou (:
). Ich význam
je nasledujúci:
zaboj | x | 1001 | 1001 | ,,, | /home/zaboj |
/bin/bash |
Meno používateľa | Heslo používateľa | Unikátne ID užívateľa (UID) | ID skupiny (GID) | Informácie o profile | Domovský adresár | Predvolené shell |
x
. Všetky heslá sú uložené v zahashovanej podobe v súbore
/etc/shadow
.
Pokiaľ by sme chceli vedieť, ktorí užívatelia sú aktuálne prihlásený, zadáme do terminálu príkaz:
users
Vytvorenie užívateľa
Začneme tým, že si príkazomadduser
vytvoríme nového
používateľa itnetwork
. Do terminálu napíšeme:
sudo adduser itnetwork
Systém nás následne vyzve na zadanie bezpečného hesla a ďalších informácií:
Adding user `itnetwork' ... Adding new group `itnetwork' (1002) ... Adding new user `itnetwork' (1002) with group `itnetwork' ... Creating home directory `/home/itnetwork' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for itnetwork Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n]
Informácie o užívateľovi nie je povinné vyplňovať. Stačí ich iba
potvrdiť klávesom Enter a nakoniec odsúhlasiť správnosť
všetkých údajov stlačením Y. Spolu s novým
užívateľom sa automaticky vytvorí aj jeho domovský adresár. Ten
nájdeme v adresári /home
a jeho názov bude zhodný s menom
používateľa.
Nového užívateľa môžeme vytvoriť aj príkazom
useradd
. V tomto prípade však musíme heslo a ďalšie
informácie nastaviť ručne pomocou prepínačov, a tak sa tento spôsob
využíva napríklad v skriptoch.
Zmena hesla
Pre nastavenie nového hesla, či na zmenu existujúceho hesla využijeme príkazpasswd
. Po zadaní príkazu nás systém vyzve na zadanie
hesla pre aktuálne prihláseného užívateľa:
Changing password for itnetwork.
Current password:
New password:
Retype new password:
passwd: password updated successfully
Ak máme administrátorské práva, môžeme zmeniť heslo aj inému užívateľovi:
passwd david
Nastavenie používateľa
Každého používateľa potrebujeme ďalej spravovať, napríklad ho pridať do ďalšej skupiny, zmeniť mu domovský adresár či používateľské meno. K tomuto slúži príkazusermod
a niekoľko prepínačov.
Zmena primárnej skupiny
Užívateľ musí patriť aspoň do jednej skupiny. Takúto skupinu potom označujeme ako primárnu. Poďme zmeniť primárnu skupinu používateľaitnetwork
na netadmins
:
usermod -g netadmins itnetwork
Pridanie do skupiny
Každý používateľ však môže byť členom až 32 sekundárnych skupín. Do sekundárnej skupinyredactors
pridáme používateľa
itnetwork
príkazom:
usermod -a -G redactors itnetwork
Ak chceme používateľa pridať do viacerých skupín naraz, napíšeme ich za seba bez medzery a oddelíme čiarkou:
usermode -a -G redactors,prteam itnetwork
Pri pridávaní užívateľa do novej skupiny vždy
používame prepínač -a
. Ak ho vynecháme, používateľ
bude odstránený zo všetkých skupín, ktoré nie som v aktuálnom
zozname.
Zmena domovského adresára
Nový domovský adresár používateľa nastavíme prepínačom-d
:
usermod -d /home/itnetwork_new -m itnetwork
Takmer vždy chceme použiť prepínač -m
, a tým
presunúť obsah existujúceho adresára do nového.
Zmena užívateľského mena
Zmenu užívateľského mena nevykonávame príliš často, ale môže nastať situácia, ktorá bude zmenu vyžadovať. Nové užívateľské menoadmin
nastavíme s využitím prepínača -l
:
usermod -l admin itnetwork
Príkazom usermod
je ďalej možné zmeniť UID
užívateľa, zamknúť či odomknúť profil, pridať k účtu komentár a
podobne. Nápovedu k týmto možnostiam získame príkazom:
usermod --help
Prepnutie užívateľa
Niekedy potrebujeme využiť oprávnenie iného užívateľského profilu. Dočasné prihlásenie ako iný používateľ nám umožní prístup k adresárom a súborom, ku ktorým z nášho profilu nemáme prístup. Na to slúži príkazsu
, ktorý nasleduje meno užívateľa za ktorého
sa prihlasujeme:
sudo su administrator
Táto relácia je dostupná iba z aktuálneho terminálu, v inom
budeme stále prihlásení pod naším užívateľom. Reláciu ukončíme
príkazom exit
.
Odstránenie užívateľa
Na odstránenie užívateľa máme príkazuserdel
:
sudo userdel itnetwork
Pokiaľ k príkazu pridáme prepínač -r
, odstránime súčasne
aj domovský adresár:
sudo userdel -r itnetwork
To je pre dnešnú lekciu všetko.
V budúcej lekcii, Linuxový terminál (Bash) - Správa skupín a ACL , sa naučíme spravovať skupiny. Ukážeme si, ako v Linuxe prideľovať oprávnenia jednotlivým užívateľom pomocou ACL.