Správa uživatelských účtů v Linuxu
Z MiS
(Rozdíly mezi verzemi)
(→Konfigurační soubory: Přidána informace o /etc/shadow) |
(→Příkaz usermod: Opraven název skupiny správců a doplněno, že se může lišit.) |
||
(Není zobrazeno 22 mezilehlých verzí od 1 uživatele.) | |||
Řádka 1: | Řádka 1: | ||
− | [[Category:VSE]] | + | [[Category:VSE]][[Category:Informatika]][[Category:OSY]][[Category:Linux]][[Category:Uživatelské účty]] |
− | [[Category:Informatika]] | + | |
− | [[Category:OSY]] | + | |
+ | <div class="Poznamka">Všechny probírané akce lze samozřejmě provést i v grafickém rozhraní. Přesné provedení se ale liší.</div> | ||
== Co se máte naučit == | == Co se máte naučit == | ||
Řádka 9: | Řádka 10: | ||
== Vytvoření uživatelského účtu == | == Vytvoření uživatelského účtu == | ||
− | + | <div class="Upozorneni">Tyto příkazy smí provádět pouze správce počítače!</div> | |
=== Příkaz adduser === | === Příkaz adduser === | ||
− | * intuitivní, „user-friendly“ | + | * intuitivní, „user-friendly“ — vhodný pro ruční vytváření uživatelských účtů |
− | * zeptá se na všechny potřebné údaje | + | ** zeptá se na všechny potřebné údaje |
+ | ** volá příkazy <code>useradd</code>, <code>usermod</code>, <code>groupadd</code> a další | ||
+ | * bývá v distribucích založených na Debianu, v ostatních distribucích to bývá jen alias pro příkaz <code>useradd</code> | ||
+ | adduser karel | ||
+ | |||
=== Příkaz useradd === | === Příkaz useradd === | ||
− | *parametry: | + | * Na rozdíl od <code>adduser</code> je třeba pomocí parametrů nastavit parametry uživatelského účtu. |
+ | *Parametry: | ||
**-m | **-m | ||
***vytvoří uživatelskou složku v /home | ***vytvoří uživatelskou složku v /home | ||
**-g | **-g | ||
***přiřadí uživateli primární skupinu | ***přiřadí uživateli primární skupinu | ||
− | **- | + | **-N |
− | *** | + | ***Nevytvoří zároveň skupinu se stejným jménem (standardně se vytváří) |
**-s | **-s | ||
***nastaví default-ní shell | ***nastaví default-ní shell | ||
**-p | **-p | ||
***nastaví úvodní heslo | ***nastaví úvodní heslo | ||
− | ***ale | + | *** musíme ale zadat heslo zašifrované funkcí crypt() |
− | *** | + | *** praktičtější je nastavit heslo dodatečně příkazem <code>passwd</code> nebo použít <code>adduser</code> |
− | useradd -m | + | useradd -m -s /bin/bash bittnerova_pavlina<br />passwd bittnerova_pavlina |
− | === Příkaz newusers === | + | |
− | * | + | === Příkaz <code>newusers</code> === |
− | + | * Příkazu předáme soubor s účty a hesly: | |
− | * | + | newusers seznam_uctu.txt |
− | + | * Bohužel musíme zadávat ručně i UID. | |
− | + | * Obsah souboru <tt>seznam_uctu.txt</tt> může vypadat například takto: | |
− | + | franta:password:1001:1001:Vedouci:/home/franta:/bin/bash | |
− | + | josef:password:1002:1002:Manager:/home/josef:/bin/bash | |
− | + | alice:password:1050:uctari:Ucetni:/home/alice:/bin/bash | |
− | + | * Bezpečnostní doporučení: | |
− | + | ** Soubor vytvořte v domovském adresáři uživatele <tt>root</tt>, | |
− | + | ** nastavte práva na <code>0600</code>, | |
− | + | ** soubor po použití smažte. | |
+ | |||
+ | Více viz: [http://www.cyberciti.biz/tips/linux-how-to-create-multiple-users-accounts-in-batch.html cyberciti.biz > Tips > Linux-how-to-create-multiple-users-accounts-in-batch] nebo <code>man newusers</code>. | ||
== Změna vlastností a zrušení uživatele == | == Změna vlastností a zrušení uživatele == | ||
+ | |||
+ | <div class="Upozorneni">Tyto příkazy smí provádět pouze správce počítače!</div> | ||
=== Příkaz usermod === | === Příkaz usermod === | ||
* Například zařazení uživatele do skupiny: | * Například zařazení uživatele do skupiny: | ||
− | usermod -aG skupina uzivatel | + | usermod -aG ''skupina'' ''uzivatel'' |
− | + | <div class="Varovani">POZOR! Změna se projeví až po dalším přihlášení! Nebo ji můžete aktivovat příkazem: | |
− | + | newgrp ''skupina'' | |
− | usermod -a -G | + | </div> |
+ | <div class="Priklad"> | ||
+ | ; Příklad: | ||
+ | Povolte uživateli volat příkaz sudo (nastavte uživateli oprávnění správce) | ||
+ | * Využívá toho, že všichni správci jsou zařazeni v specifické skupině. Název skupiny se liší v různých distribucích, příkladem může být <tt>sudo</tt> (Debian) či <tt>wheel</tt> (Red Hat). | ||
+ | * Viz také [[Oprávnění pro přístup k souborům]]. | ||
+ | usermod -a -G sudo ''novyadmin'' | ||
+ | </div> | ||
+ | |||
+ | === Příkaz chage === | ||
+ | * Omezení platnosti uživatelského účtu a nutnost změnit heslo. | ||
+ | <div class="Priklad"> | ||
+ | ; Příklad: | ||
+ | Uživatel <code>karel</code> si vždy po 60 dnech musí změnit heslo: | ||
+ | chage -M 60 karel | ||
+ | </div> | ||
=== Příkaz userdel === | === Příkaz userdel === | ||
* Smaže uživatelský účet. | * Smaže uživatelský účet. | ||
+ | |||
+ | == Zjištění informací o uživateli == | ||
+ | |||
+ | Příkaz <code>id</code> | ||
+ | * Standardně pracuje s UID a GID, přepínač <code>-n</code> to mění. | ||
+ | * Další přepínače zjišťují doplňující informace. | ||
+ | * Př: Do kterých skupin uživatel patří? | ||
+ | id -Gn student | ||
+ | * Neuvedeme-li uživatele, bere se aktuálně přihlášený. | ||
+ | |||
+ | Alternativy: | ||
+ | echo $USER | ||
+ | whoami | ||
+ | who | ||
+ | |||
== Vytvoření skupiny, přiřazení uživatelů do skupiny == | == Vytvoření skupiny, přiřazení uživatelů do skupiny == | ||
Řádka 59: | Řádka 99: | ||
=== Vytvoření, zrušení skupiny === | === Vytvoření, zrušení skupiny === | ||
− | *groupadd | + | * <code>groupadd</code> |
− | *groupdel | + | * <code>groupdel</code> |
=== Přiřazení uživatelů === | === Přiřazení uživatelů === | ||
− | *groupmod | + | * <code>groupmod</code> |
− | *usermod: viz [Správa_uživatelských_účtů# | + | * <code>usermod</code>: viz [[Správa_uživatelských_účtů#Příkaz_usermod|výše]]. |
+ | === Výpis uživatelů ve skupině === | ||
+ | * Seznam uživatelů je v souboru <tt>/etc/group</tt>. | ||
+ | * Viz také [[Konfigurační soubory GNU/Linuxu - Uživatelské účty]]. | ||
+ | grep ^''skupina'': /etc/group | ||
+ | <div class="Priklad"> | ||
+ | Pro zajímavost: | ||
+ | * Co vlastně příkaz <code>grep ^''skupina'': /etc/group</code> přesně dělá? | ||
+ | * Šel by upravit, aby vypsal JEN jména uživatelů ve skupině??? ;) | ||
+ | </div> | ||
== Konfigurační soubory == | == Konfigurační soubory == | ||
− | + | Informace o uživatelských účtech jsou uloženy v [[Konfigurační_soubory|konfiguračních souborech]]. Konkrétně se jedná o soubory: | |
− | + | /etc/passwd | |
− | + | /etc/group | |
− | + | /etc/shadow | |
− | + | /etc/sudoers | |
− | + | Více viz [[Konfigurační soubory GNU/Linuxu - Uživatelské účty]]. | |
− | + | ||
− | + | ||
− | + | ||
− | === | + | |
− | * Jak zjistit | + | == Zjištění informací o uživatelích a skupinách == |
+ | |||
+ | ; Poslední přihlášení | ||
+ | last | ||
+ | * Poslední přihlášení | ||
+ | lastb | ||
+ | * Poslední nezdařené přihlášení | ||
+ | |||
+ | ; Informace o uživateli | ||
+ | Tyto informace lze získat i z konfiguračních souborů. | ||
+ | id | ||
+ | |||
+ | |||
+ | == Úkoly == | ||
+ | * Jak zjistit uživatelská jména uživatelů, kteří mají účet na tomto počítači? | ||
* Co udělá příkaz: | * Co udělá příkaz: | ||
cat /etc/passwd | cut -d : -f 1 | sort | cat /etc/passwd | cut -d : -f 1 | sort | ||
− | * Vytvořte na svém počítači | + | * Vytvořte na svém počítači uživatelské účty pro sebe a svého kolegu. Nastavte účtům heslo. |
− | * Vytvořte uživatelskou skupinu treti_b. | + | * Vytvořte uživatelskou skupinu <tt>treti_b</tt>. |
− | * Zařaďte | + | * Zařaďte vytvořené účty do skupiny <tt>treti_b</tt>. |
* Zkontrolujte v konfiguračních souborech, že vytváření proběhlo v pořádku. | * Zkontrolujte v konfiguračních souborech, že vytváření proběhlo v pořádku. | ||
+ | * Vyzkoušejte připojení ze sousedního počítače (řekněte kolegovi jeho heslo a login a nechte ho, ať se přihlásí ze sousedního počítače). (Viz také [[Vzdálené připojení k počítači]].) | ||
+ | * Jak se liší „administrátorský“ účet od běžného? | ||
+ | |||
== Zdroje == | == Zdroje == | ||
* [http://www.abclinuxu.cz/clanky/navody/unixove-nastroje-5-opravneni-chmod-chown-chgrp AbcLinuxu.cz > Unixové nástroje, oprávnění, chmod-chown-chgrp] | * [http://www.abclinuxu.cz/clanky/navody/unixove-nastroje-5-opravneni-chmod-chown-chgrp AbcLinuxu.cz > Unixové nástroje, oprávnění, chmod-chown-chgrp] |
Aktuální verze z 23. 2. 2023, 08:31
Všechny probírané akce lze samozřejmě provést i v grafickém rozhraní. Přesné provedení se ale liší.
Obsah |
Co se máte naučit
- Vytvořit uživatelský účet v příkazovém řádku GNU/Linuxu
- Vytvořit skupinu uživatelů a
- Znát strukturu konfiguračních souborů /etc/passwd a /etc/group.
Vytvoření uživatelského účtu
Tyto příkazy smí provádět pouze správce počítače!
Příkaz adduser
- intuitivní, „user-friendly“ — vhodný pro ruční vytváření uživatelských účtů
- zeptá se na všechny potřebné údaje
- volá příkazy
useradd
,usermod
,groupadd
a další
- bývá v distribucích založených na Debianu, v ostatních distribucích to bývá jen alias pro příkaz
useradd
adduser karel
Příkaz useradd
- Na rozdíl od
adduser
je třeba pomocí parametrů nastavit parametry uživatelského účtu. - Parametry:
- -m
- vytvoří uživatelskou složku v /home
- -g
- přiřadí uživateli primární skupinu
- -N
- Nevytvoří zároveň skupinu se stejným jménem (standardně se vytváří)
- -s
- nastaví default-ní shell
- -p
- nastaví úvodní heslo
- musíme ale zadat heslo zašifrované funkcí crypt()
- praktičtější je nastavit heslo dodatečně příkazem
passwd
nebo použítadduser
- -m
useradd -m -s /bin/bash bittnerova_pavlina
passwd bittnerova_pavlina
Příkaz newusers
- Příkazu předáme soubor s účty a hesly:
newusers seznam_uctu.txt
- Bohužel musíme zadávat ručně i UID.
- Obsah souboru seznam_uctu.txt může vypadat například takto:
franta:password:1001:1001:Vedouci:/home/franta:/bin/bash josef:password:1002:1002:Manager:/home/josef:/bin/bash alice:password:1050:uctari:Ucetni:/home/alice:/bin/bash
- Bezpečnostní doporučení:
- Soubor vytvořte v domovském adresáři uživatele root,
- nastavte práva na
0600
, - soubor po použití smažte.
Více viz: cyberciti.biz > Tips > Linux-how-to-create-multiple-users-accounts-in-batch nebo man newusers
.
Změna vlastností a zrušení uživatele
Tyto příkazy smí provádět pouze správce počítače!
Příkaz usermod
- Například zařazení uživatele do skupiny:
usermod -aG skupina uzivatel
POZOR! Změna se projeví až po dalším přihlášení! Nebo ji můžete aktivovat příkazem:
newgrp skupina
- Příklad
Povolte uživateli volat příkaz sudo (nastavte uživateli oprávnění správce)
- Využívá toho, že všichni správci jsou zařazeni v specifické skupině. Název skupiny se liší v různých distribucích, příkladem může být sudo (Debian) či wheel (Red Hat).
- Viz také Oprávnění pro přístup k souborům.
usermod -a -G sudo novyadmin
Příkaz chage
- Omezení platnosti uživatelského účtu a nutnost změnit heslo.
- Příklad
Uživatel karel
si vždy po 60 dnech musí změnit heslo:
chage -M 60 karel
Příkaz userdel
- Smaže uživatelský účet.
Zjištění informací o uživateli
Příkaz id
- Standardně pracuje s UID a GID, přepínač
-n
to mění. - Další přepínače zjišťují doplňující informace.
- Př: Do kterých skupin uživatel patří?
id -Gn student
- Neuvedeme-li uživatele, bere se aktuálně přihlášený.
Alternativy:
echo $USER whoami who
Vytvoření skupiny, přiřazení uživatelů do skupiny
- Uživatel může být ve více skupinách, ve skupině může být více uživatelů.
- Jedna skupina je ale pro uživatele „primární“, obvykle má název stejný jako je jeho uživatelské jméno.
Vytvoření, zrušení skupiny
-
groupadd
-
groupdel
Přiřazení uživatelů
-
groupmod
-
usermod
: viz výše.
Výpis uživatelů ve skupině
- Seznam uživatelů je v souboru /etc/group.
- Viz také Konfigurační soubory GNU/Linuxu - Uživatelské účty.
grep ^skupina: /etc/group
Pro zajímavost:
- Co vlastně příkaz
grep ^skupina: /etc/group
přesně dělá? - Šel by upravit, aby vypsal JEN jména uživatelů ve skupině??? ;)
Konfigurační soubory
Informace o uživatelských účtech jsou uloženy v konfiguračních souborech. Konkrétně se jedná o soubory:
/etc/passwd /etc/group /etc/shadow /etc/sudoers
Více viz Konfigurační soubory GNU/Linuxu - Uživatelské účty.
Zjištění informací o uživatelích a skupinách
- Poslední přihlášení
last
- Poslední přihlášení
lastb
- Poslední nezdařené přihlášení
- Informace o uživateli
Tyto informace lze získat i z konfiguračních souborů.
id
Úkoly
- Jak zjistit uživatelská jména uživatelů, kteří mají účet na tomto počítači?
- Co udělá příkaz:
cat /etc/passwd | cut -d : -f 1 | sort
- Vytvořte na svém počítači uživatelské účty pro sebe a svého kolegu. Nastavte účtům heslo.
- Vytvořte uživatelskou skupinu treti_b.
- Zařaďte vytvořené účty do skupiny treti_b.
- Zkontrolujte v konfiguračních souborech, že vytváření proběhlo v pořádku.
- Vyzkoušejte připojení ze sousedního počítače (řekněte kolegovi jeho heslo a login a nechte ho, ať se přihlásí ze sousedního počítače). (Viz také Vzdálené připojení k počítači.)
- Jak se liší „administrátorský“ účet od běžného?