|
|
Řádka 9: |
Řádka 9: |
| * vysvětlit význam souborů <tt>/etc/passwd</tt>, <tt>/etc/group</tt> a <tt>/etc/shadow</tt> | | * vysvětlit význam souborů <tt>/etc/passwd</tt>, <tt>/etc/group</tt> a <tt>/etc/shadow</tt> |
| | | |
− | == UID == | + | == Systémy správy oprávnění uživatelů == |
− | **User IDentificator | + | V dalších kapitolách budeme mluvit o klasickém nastavování odvozenému ze systému Unix. Další možnosti: |
− | **identifikátor uživatele | + | * ACL |
− | **v souboru /etc/passwd <#_Freemind_Link_828580762> | + | ** standard POSIX |
− | **Perličky | + | ** stále jen práva rwx, ale lze je nastavovat jednotlivým uživatelům |
− | ***stejné uživatelské jméno neznamená stejného uživatele | + | * [http://www.abclinuxu.cz/clanky/bezpecnost/nebojte-se-selinuxu-1-uvod-prvni-spusteni SELinux] |
− | ***Dva uživatelé se stejným UID. | + | ** Například distribuce Fedora |
− | ***UID 0 => root | + | * A další... |
| + | ** AppArmor (Novell/SUSE) |
| + | ** ... |
| | | |
− | == Nastavování hesla == | + | == UID (User IDentificator) == |
− | ***passwd | + | * číslo |
− | ***root může | + | * identifikuje uživatele v systému |
− | ****passwd username | + | * uloženo v souboru /etc/passwd |
| | | |
− | == Přidávání uživatelů == | + | == Nastavení hesla == |
− | ***Grafika | + | * Příkaz passwd |
− | ***adduser
| + | * Administrátor může nastavit heslo i jinému uživateli: |
− | ****zeptá se na všechny potřebné údaje
| + | passwd username |
− | ***useradd
| + | |
− | ****Ubuntu
| + | |
− | *****useradd -m -n -s /bin/bash bittnerova_pavlina
| + | |
− | ******useradd -m -g IE2010 bittnerova_pavlina
| + | |
− | *****passwd bittnerova_pavlina
| + | |
− | *****parametry useradd | + | |
− | ******-m
| + | |
− | *******vytvoří uživatelskou složku v /home
| + | |
− | ******-g
| + | |
− | *******přiřadí uživateli primární skupinu
| + | |
− | ******-n
| + | |
− | *******vytvoří i skupinu se stejným jménem
| + | |
− | ******-s
| + | |
− | *******nastaví default-ní shell
| + | |
− | ******-p
| + | |
− | *******nastaví úvodní heslo
| + | |
− | *******ale kryptované funkcí crypt()
| + | |
− | *******takže spíše dodatečně přes passwd
| + | |
− | ****heslo je pak potřeba nastavit ručně
| + | |
− | ***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>
| + | |
− | ****soubor s uživatelskými jmény a hesly
| + | |
− | ****ale je třeba zadat i UID
| + | |
− | ****touch /root/batch-user-add.txt
| + | |
− | ****chmod 0600 /root/batch-user-add.txt
| + | |
− | ****obsah /root/batch-user-add.txt
| + | |
− | *****user1:password:1001:513:Student Account:/home/user1:/bin/bash
| + | |
− | *****user2:password:1002:513:Sales user:/home/user2:/bin/bash
| + | |
− | *****user100:password:1100:513:Sales user:/home/user100:/bin/bash
| + | |
− | *****tom:password:1110:501:Guest Account:/home/guest:/bin/menu
| + | |
− | *****jerry:password:1120:501:Guest Account:/home/guest:/bin/menu
| + | |
− | ****newusers /root/batch-user-add.txt
| + | |
− | ***Změna vlastností a zrušení uživatele
| + | |
− | ****usermod
| + | |
− | *****usermod -a -G admin simunek
| + | |
− | ******Všichni admini jsou ve skupině admin
| + | |
− | *****usermod -aG skupina uzivatel
| + | |
− | ****userdel
| + | |
− | **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ů.
| + | |
− | ***Vytvoření, zrušení
| + | |
− | ****groupadd
| + | |
− | ****groupdel
| + | |
− | ***Přiřazení uživatelů
| + | |
− | ****groupmod
| + | |
− | ****usermod <#_Freemind_Link_490610556>
| + | |
| | | |
− | == Konfigurační soubory == | + | == Přepínání uživatelů == |
− | ***/etc/group
| + | |
− | ****man -s 5 group
| + | === Přepnutí identity na jiného uživatele === |
− | ***/etc/passwd
| + | * Příkaz su |
− | ****Jak zjistit uživatelské jméno, které jsem si vytvořil při instalaci Ubuntu???
| + | * Příkaz sudo -i |
− | ****Co udělá?
| + | |
− | *****cat /etc/passwd | cut -d : -f 1 | sort
| + | === Spuštění jednoho příkazu s právy administrátora === |
− | ***UK* Vytvoření účtu.
| + | * Příkaz sudo |
− | ***Vytvořte pro každého z vás uživatelský účet na počítači, u kterého pracujete.
| + | ** pro spouštění programů/příkazů pracujících s textovým rozhraním (a také některé program pracující v grafickém rozhraní) |
− | ***Vytvořte skript, kterým nastavíte x uživatelů.
| + | ** pouze vybraní uživatelé smí volat sudo, tito uživatelé jsou zařazeni do skupiny admin (Ubuntu 10.10) |
− | ***Vytvořte skupinu treti_b. Přiřaďte uživatele.
| + | * Spuštění grafického programu s právy administrátora |
− | ***Zkontrolujte v konfiguračních souborech. | + | ** Příkaz gksu: pro prostředí Gnome |
− | **Složka ~
| + | ** Příkaz kdesu: prostředí KDE |
− | ***~/Desktop
| + | |
− | *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
| + | |
− | *Nastavování práv
| + | |
− | ** *UK* Zjistěte sami na Internetu
| + | |
− | ***Komu můžeme přiřadit práva k souborům (3 subjektům)
| + | |
− | ***Práva se označují písmenky r, w, x, co písmenka znamenají pro soubor a co pro adresář
| + | |
− | ***Co vypíše příkaz ls -l (hlavně význam prvních 10 písmenek)
| + | |
− | **Práva pro přístup k souborům | + | |
− | ***R, W, E
| + | |
− | ***význam pro
| + | |
− | ****soubor
| + | |
− | *****Na začátek spustitelných skriptů: #!/bin/sh
| + | |
− | ****adresář
| + | |
− | *****Představa
| + | |
− | ******složka jako seznam názvů souborů a odkazů na jejich data
| + | |
− | ******r
| + | |
− | ******w
| + | |
− | ******x
| + | |
− | *******přístup k souborům ve složce
| + | |
− | **Zjištění práv
| + | |
− | ***Jak zjistíte vlastníka souboru,
| + | |
− | ***práva vlastníka, skupiny a všech k souboru,
| + | |
− | ***do kterých skupin patří uživatel?
| + | |
− | **Nastavování práv
| + | |
− | ***chmod
| + | |
− | ***číselné vyjádření práv
| + | |
− | ***změna jednotlivých práv
| + | |
− | **Se SUDO mohu stejně všechno!
| + | |
− | **Změna vlastníka a skupiny
| + | |
− | ***Vlastníkem souboru je na začátku ten, kdo ho vytvoří.
| + | |
− | ***chown
| + | |
− | ****změna vlastníka
| + | |
− | ****obvykle může provádět pouze root
| + | |
− | *****Lze změnit v jádře
| + | |
− | *****Macro: int _POSIX_CHOWN_RESTRICTED
| + | |
− | ***chgrp
| + | |
− | ****změna vlastnické skupiny
| + | |
− | ****může provádět vlastník a root
| + | |
− | ***UK* Nastavování práv
| + | |
− | ****SUK* Soubor jen pro skupinu
| + | |
− | ****Vytvořte ve své domovské složce adresář 3b
| + | |
− | ****Adresář bude přístupný všem uživatelům ve skupině 3b (kterou si vytvoříte)
| + | |
− | ****Vytvořte uživatele Jakub, který bude ve skupině 3b | + | |
− | ****Vytvořte uživatele Franta, který tam nebude
| + | |
− | ****Ve složce 3b vytvořte soubor ahoj.txt.
| + | |
− | ****Zařiďte, aby ho Franta mohl přečíst, nikoli však smazat, ani do něj zapisovat.
| + | |
− | ****Jakub může číst, psát, ale nemůže mazat.
| + | |
− | ***Starší
| + | |
− | *****PR* Hromadné vytváření uživatelů
| + | |
− | *****Vytvořte všechny uživatele třídy a odpovídající skupinu
| + | |
− | *****Vytvořte složku, ke které budou mít přístup všichni uživatelé systému.
| + | |
− | *****UK*
| + | |
− | *****Máme složku /var/ftp, vlastník má být root, skupina ftpusers. Vlastník všechna, skupina taktéž, ostatní jen číst
| + | |
− | *****Vytvořte složku public ve své domovském adresáři, bude přístupný kompletně všem.
| + | |
− | ******Co vypíše příkaz ls -l ~ | grep public
| + | |
− | *****Složku public z předchozího zpřístupněte pouze skupině kamaradi, ostatním uživatelům přístup zakažte.
| + | |
− | ****Zpřístupněte
| + | |
− | ***** soubor pozdrav.txt ve svém ~ ostatním uživatelům pro čtení.
| + | |
− | *****soubor vzkazy.txt ve svém $HOME ostatním i pro zápis.
| + | |
− | *****Nebudou ale moci vypsat obsah vašeho ~.
| + | |
− | *****res
| + | |
− | ******d: --x, f: r--
| + | |
− | *****UK* ??? V /etc/fstab?
| + | |
− | *****Nastavte práva pro montování disku s Windows.
| + | |
− | *****Nastavte práva pro montování disků s Novellem.
| + | |
− | **Další
| + | |
− | ***Uživatelé os: připojonání disků s uživatelskými právy, vlastník, skupina
| + | |
− | ***UK* Otázky
| + | |
− | ***Jak zjistíte, zda uživatel může soubor smazat | přejmenovat,...
| + | |
− | ***Není nastavování práv v rozporu s tím, že administrátor „může všechno“?
| + | |
− | *Rozšíření
| + | |
− | **SUID, SGID, Sticky bit
| + | |
− | ***SUID
| + | |
− | ****~ Set UID
| + | |
− | ****pro spustitelné soubory
| + | |
− | ****Program bude spouštěn s právy vlastníka programu.
| + | |
− | *****nikoli toho, kdo program spustil
| + | |
− | ****Příklad použití:
| + | |
− | *****např. /usr/bin/passwd
| + | |
− | ****nastavení
| + | |
− | *****chmod u+s program
| + | |
− | *****POZOR!!!
| + | |
− | ******Nebezpečné, pouze velmi důvěryhodné programy.
| + | |
− | ****výpis ls -l
| + | |
− | *****-rwsr...
| + | |
− | *****s... SUID + právo spouštět
| + | |
− | *****S... SUID - právo spouštět
| + | |
− | ***SGID
| + | |
− | ****pro spustitelné soubory
| + | |
− | ****Program bude spouštěn s právy skupiny, která program vlastní
| + | |
− | ****nastavení | + | |
− | *****chmod g+s program
| + | |
− | ****výpis ls -l
| + | |
− | *****?????s???
| + | |
− | *****s... SGID + právo spouštět pro skupinu
| + | |
− | *****S... SGID - právo spouštět pro skupinu
| + | |
− | ***sticky-bit
| + | |
− | ****pro adresáře
| + | |
− | *****původně zamýšlená složitější funkčnost, i pro soubory
| + | |
− | *****PR* Příklad použití
| + | |
− | *****/tmp
| + | |
− | ****vlastník souboru může soubor mazat
| + | |
− | *****neplést s vlastníkem složky
| + | |
− | ****nastavení
| + | |
− | *****chmod o+t soubor.txt
| + | |
− | *****chmod o-t soubor.txt
| + | |
− | ****výpis ????????t
| + | |
− | *****t
| + | |
− | *****T
| + | |
− | *****PR* Vyzkoušejte!
| + | |
− | *****mkdir tmp
| + | |
− | *****cd pokus
| + | |
− | *****touch student.txt
| + | |
− | *****chmod o+t tmp
| + | |
− | *****ls -l tmp
| + | |
− | *****touch moje.txt
| + | |
− | *****chown student.txt student
| + | |
− | *****ls
| + | |
− | *****su student
| + | |
− | *****rm moje.txt
| + | |
− | *****rm student.txt
| + | |
− | **umask
| + | |
− | ***nastavuje, jaká práva má mít nově vytvořený soubor
| + | |
− | ****Vlastník bude:
| + | |
− | *****ten, kdo ho vytvořil
| + | |
− | ****Skupina:
| + | |
− | *****primární skupina toho, kdo soubor vytvořil
| + | |
− | ***bity masky odečteme od základní masky
| + | |
− | ***základ
| + | |
− | ****pro soubory 666
| + | |
− | ****pro adresáře 777 | + | |
− | ***standardní maska je 022
| + | |
− | *****PR* Jaká práva bude mít s touto maskou nově vytvořený
| + | |
− | *****soubor
| + | |
− | *****adresář
| + | |
− | **Jiné způsoby nastavování práv
| + | |
− | ***ACL (viz POS4) <../pos4/pos4.mm>
| + | |
− | ****POSIX
| + | |
− | ****stále jen práva rwx, ale lze jednotlivým uživatelům
| + | |
− | ***SELinux <http://www.abclinuxu.cz/clanky/bezpecnost/nebojte-se-selinuxu-1-uvod-prvni-spusteni>
| + | |
− | ****Obzvláště Fedora
| + | |
− | ***A další...
| + | |
− | ****AppArmor (Novell/SUSE)
| + | |
− | ****...
| + | |
− | **VH* Další, pokročilé
| + | |
− | ***L* Nastavení standardního shellu
| + | |
− | ***Jestliže nemáte /bin/bash nastaven jako implicitní shell, napravte to následujícím příkazem a poté spusťte BASH, protože změny se projeví až po přihlášení.
| + | |
− | ***Shelly v /bin
| + | |
− | *****PR* Např. /bin/bash
| + | |
− | ***Změna se projeví až po přihlášení.
| + | |
− | ***$ usermod -s /bin/bash $USER
| + | |
− | ***$ /bin/bash
| + | |
− | **Konfigurace systému.
| + | |
− | ***~/.profile, resp ~/bash_profile
| + | |
− | ***L* Jiné způsoby autentizace <#Freemind_Link_66015739>
| + | |
− | *Přihlašování z více počítačů (Kerberos, LDAP,...) <#Freemind_Link_116980941>
| + | |
| | | |
| == 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] |
V dalších kapitolách budeme mluvit o klasickém nastavování odvozenému ze systému Unix. Další možnosti: