Správa uživatelských účtů v Linuxu

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Pročištění struktury souboru)
(Příkaz usermod: Opraven název skupiny správců a doplněno, že se může lišit.)
 
(Není zobrazeno 26 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 ==  
* V grafickém rozhraní
+
<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&nbsp;distribucích založených na Debianu, v&nbsp;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
+
**-N
***vytvoří i skupinu se stejným jménem
+
***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 kryptované funkcí crypt()
+
*** musíme ale zadat heslo zašifrované funkcí crypt()
***takže spíše dodatečně příkazem passwd
+
*** praktičtější je nastavit heslo dodatečně příkazem <code>passwd</code> nebo použít <code>adduser</code>
  useradd -m -n -s /bin/bash bittnerova_pavlina<br />passwd bittnerova_pavlina
+
  useradd -m -s /bin/bash bittnerova_pavlina<br />passwd bittnerova_pavlina
=== Příkaz newusers ===
+
 
* cyberciti.biz > Tips > Linux-how-to-create-multiple-users-accounts-in-batch <http://www.cyberciti.biz/tips/linux-how-to-create-multiple-users-accounts-in-batch.html>
+
=== Příkaz <code>newusers</code> ===
* podle souboru s uživatelskými jmény a hesly
+
* Příkazu předáme soubor s účty a hesly:
* ale je třeba zadat i UID
+
newusers seznam_uctu.txt
touch /root/batch-user-add.txt<br />chmod 0600 /root/batch-user-add.txt
+
* Bohužel musíme zadávat ručně i UID.
*obsah /root/batch-user-add.txt
+
* Obsah souboru <tt>seznam_uctu.txt</tt> může vypadat například takto:
  user1:password:1001:513:Student Account:/home/user1:/bin/bash
+
  franta:password:1001:1001:Vedouci:/home/franta:/bin/bash
  user2:password:1002:513:Sales user:/home/user2:/bin/bash
+
  josef:password:1002:1002:Manager:/home/josef:/bin/bash
  user100:password:1100:513:Sales user:/home/user100:/bin/bash
+
  alice:password:1050:uctari:Ucetni:/home/alice:/bin/bash
tom:password:1110:501:Guest Account:/home/guest:/bin/menu
+
* Bezpečnostní doporučení:
jerry:password:1120:501:Guest Account:/home/guest:/bin/menu
+
** Soubor vytvořte v domovském adresáři uživatele <tt>root</tt>,
* poté:
+
** nastavte práva na <code>0600</code>,
newusers /root/batch-user-add.txt
+
** 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 ==
****usermod
+
 
*****usermod -a -G admin simunek
+
<div class="Upozorneni">Tyto příkazy smí provádět pouze správce počítače!</div>
******Všichni admini jsou ve skupině admin
+
 
*****usermod -aG skupina uzivatel
+
=== Příkaz usermod ===
****userdel
+
* Například zařazení uživatele do skupiny:
 +
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''
 +
</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&nbsp;specifické skupině. Název skupiny se liší v&nbsp;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&nbsp;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 ===
 +
* 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 ==
***Uživatel může být ve více skupinách, ve skupině může být více uživatelů.
+
* Uživatel může být ve více skupinách, ve skupině může být více uživatelů.
***Vytvoření, zrušení
+
* Jedna skupina je ale pro uživatele „primární“, obvykle má název stejný jako je jeho uživatelské jméno.
****groupadd
+
 
****groupdel
+
=== Vytvoření, zrušení skupiny ===
***Přiřazení uživatelů
+
* <code>groupadd</code>
****groupmod
+
* <code>groupdel</code>
****usermod <#_Freemind_Link_490610556>
+
 
**Soubory:
+
=== Přiřazení uživatelů ===
***/etc/group
+
* <code>groupmod</code>
****man -s 5 group
+
* <code>usermod</code>: viz [[Správa_uživatelských_účtů#Příkaz_usermod|výše]].
***/etc/passwd
+
 
****Jak zjistit uživatelské jméno, které jsem si vytvořil při instalaci Ubuntu???
+
=== Výpis uživatelů ve skupině ===
****Co udělá?
+
* Seznam uživatelů je v souboru <tt>/etc/group</tt>.
*****cat /etc/passwd | cut -d : -f 1 | sort
+
* Viz také [[Konfigurační soubory GNU/Linuxu - Uživatelské účty]].
***UK* Vytvoření účtu.
+
grep ^''skupina'': /etc/group
***Vytvořte pro každého z vás uživatelský účet na počítači, u kterého pracujete.
+
<div class="Priklad">
***Vytvořte skript, kterým nastavíte x uživatelů.
+
Pro zajímavost:
***Vytvořte skupinu treti_b. Přiřaďte uživatele.
+
* Co vlastně příkaz <code>grep ^''skupina'': /etc/group</code> přesně dělá?
***Zkontrolujte v konfiguračních souborech.
+
* Šel by upravit, aby vypsal JEN jména uživatelů ve skupině??? ;)
**Složka ~
+
</div>
***~/Desktop
+
 
 +
 
 +
== 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]].
 +
 
 +
 
 +
== 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&nbsp;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 <tt>treti_b</tt>.
 +
* 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.
 +
* 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?
  
== Přepínání uživatelů ==
 
**su + sudo <#Freemind_Link_1014734255>
 
**su
 
***nebo sudo -i
 
**spuštění jednoho příkazu jako admin
 
***sudo
 
**spuštění grafického programu jako admin
 
***gksu
 
****například gparted
 
***v KUbuntu
 
****kdesu
 
  
 
== 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ření uživatelského účtu

Tyto příkazy smí provádět pouze správce počítače!

Příkaz adduser

adduser karel

Příkaz useradd

useradd -m -s /bin/bash bittnerova_pavlina
passwd bittnerova_pavlina

Příkaz newusers

newusers seznam_uctu.txt
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

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

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

Příklad

Uživatel karel si vždy po 60 dnech musí změnit heslo:

chage -M 60 karel

Příkaz userdel

Zjištění informací o uživateli

Příkaz id

id -Gn student

Alternativy:

echo $USER
whoami
who


Vytvoření skupiny, přiřazení uživatelů do skupiny

Vytvoření, zrušení skupiny

Přiřazení uživatelů

Výpis uživatelů ve skupině

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
lastb
Informace o uživateli

Tyto informace lze získat i z konfiguračních souborů.

id


Úkoly

cat /etc/passwd | cut -d : -f 1 | sort


Zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje