Uživatelé a skupiny

Uživatelé (users)

Linux je mnohouživatelský (multiuser) operační systém. Seznam uživatelů systému je zapsán standardně v souboru /etc/passwd.

Uživatelé mohou být seskupeni do skupin (groups). Seznam skupin je uložen standardně v souboru /etc/group.

jirka@jirka-Precision-T3610:~/vyuka_sspvc$ ls -l /etc/passwd
-rw-r--r-- 1 root root 3090 říj 26  2022 /etc/passwd

Každý řádek tohoto souboru nám definuje jednoho uživatele systému. Každý řádek je dále rozdělen znakem : na jednotlivá pole, kde každé pole něco znamená.

Výpis /etc/password (neúplný)
jirka@jirka-Precision-T3610:~/vyuka_sspvc$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
...
jirka:x:1000:1000:Jirka Chráska,,,:/home/jirka:/bin/bash
...
stunnel4:x:126:136::/var/run/stunnel4:/usr/sbin/nologin
libvirt-qemu:x:64055:108:Libvirt Qemu,,,:/var/lib/libvirt:/usr/sbin/nologin
libvirt-dnsmasq:x:127:139:Libvirt Dnsmasq,,,:/var/lib/libvirt/dnsmasq:/usr/sbin/nologin
sshd:x:128:65534::/run/sshd:/usr/sbin/nologin
fwupd-refresh:x:129:140:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
Tabulka 1. Některé definice uživatelů z /etc/passwd přepsané do tabulky
username (přihlašovací jméno) heslo (není tam) UID (user ID) GID (primary group ID) Plné jméno (user description) domácí adresář (home directory) implicitní shell (login shell)

root

x

0

0

root

/root

/bin/bash

jirka

x

1000

1000

Jirka Chráska

/home/jirka

/bin/bash

sshd

x

128

65534

/run/sshd

/usr/sbin/nologin

nobody

x

65534

65534

nobody

/nonexistent

/usr/sbin/nologin

Přihlašovací jméno

Přihlašovací jméno může obsahovat malá písmena ASCII tabulky a některé speciální znaky (obvykle je povolena pomlčka a tečka). Velká písmena by se neměla používat, protože způsobují potíže při doručování elektronické pošty, kde v adrese nezáleží na velikosti písmen. Délka je v konzervativním případě omezena na osm znaků, avšak v moderních systémech může být delší (typicky ve tvaru jmeno.prijmeni).

Heslo

Heslo bývalo v souboru uloženo dříve, dnes je na této pozici obvykle písmeno x, protože heslo je uschováno v souboru /etc/shadow (kvůli ochraně proti útoku hrubou silou na použitou jednosměrnou šifru).

UID

UID je číslo uživatele, které používá pro rozlišení uživatelů operační systém. Číslo 0 (nula) je vyhrazeno pro správce systému (root), pro kterého se oprávnění nekontrolují. Ostatní čísla jsou běžní uživatelé, kteří jsou si z pohledu systému rovni, přičemž čísla do 100 (resp. 500) jsou vyhrazena pro systémové účty (typicky různí démoni) a čísla nad 500 jsou určena pro běžné uživatele.

Uživatel s UID=0 (obvykle se jmenuje root) může v systému všechno (klidně i jedním příkazem zbořit celý systém). Je to privilegovaný uživatel a používá se při instalaci a správě systému. Pokud jste root, musíte vědět, co děláte a být opatrní.
Poznámka: Operační systém obvykle neposuzuje důvěryhodnost programů, ale důvěryhodnost
(a oprávnění) uživatelů, kteří je spustili nebo pod kterými vykonávají svůj kód. Program
běžící pod uživatelským účtem s UID 0 může měnit i obsah důležitých systémových souborů a adresářů.
Stejnému programu běžícímu s právy běžného uživatele však operační systém měnit systémové soubory a nastavení nedovolí.

GID

GID je číslo primární skupiny uživatele. Uživatel musí být vždy členem alespoň jedné skupiny. Systémy, které vycházejí z řady System V zakládají pro každého uživatele stejnojmennou skupinu, jíž jsou jediným členem. Tento způsob nutí správce, aby založil vlastní skupinu, která by sdružovala (vybrané) uživatele (např. v linuxových systémech Fedora, Red Hat Enterprise Linux, CentOS). V systémech vycházejících z větve BSD jsou všichni nově založení uživatelé implicitně členy skupiny users (např. v linuxových distribucích Debian, Ubuntu). Jedno z uvedených chování lze obvykle v systému nastavit.

Plné jméno

Plné jméno je obvykle jméno a příjmení uživatele. Někdy se za čárky uvádí ještě kancelář, telefon do kanceláře a telefon domů. Plné jméno využívají některé programy (např. klient elektronické pošty, který ho implicitně používá pro jméno odesílatele). V souboru není uvedeno kódování, takže je nutné, aby případná písmena s diakritikou byla uvedena v kódování, které implicitně používá celý systém (dnes typicky UTF-8), případně se smířit s tím, že bude někdy špatně interpretováno (nutno vyzkoušet). Uživatel si může své plné uživatelské jméno měnit příkazem chfn.

Domácí adresář

Domácí adresář slouží pro uložení konfiguračních souborů (typicky začínají tečkou a jsou proto skryté a pro uložení uživatelských dat. Typicky jsou domácí adresáře umístěny v /home/prihlasovaci.jmeno, ale není to nezbytně nutné. Definici domácího adresáře používá například shell, který je schopen cestu doplnit při expanzi znaku tilda (~). Běžné programy využívají spíše proměnnou prostředí HOME, která je podle této položky nastavena při přihlášení uživatele (a použije ji např. při ukládání uživatelských souborů). Do domácího adresáře je obvykle při založení uživatele nakopírován obsah adresáře /etc/skel, který obsahuje několik implicitních uživatelských konfiguračních souborů (jako ukázky nebo pro zajištění prvotního zamýšleného nastavení, např. ~/.bashrc pro inicializaci shellu BASH při přihlášení).

Implicitní shell

Implicitní shell je interpret příkazů, který je spuštěn při přihlášení uživatele (nebo při spuštění emulace terminálu v grafickém prostředí), což je typicky /bin/bash. Uživatel si může změnit implicitní shell pomocí příkazu chsh, avšak může vybírat pouze z těch, které jsou uvedeny v souboru /etc/shells. Stejně tak systém při přihlášení nespustí shell, který v tomto souboru není uveden, což je bezpečnostní opatření. Shell může být též nějaký jiný program, který zajistí komunikaci s uživatelem (např. menu). Systémovým účtům se obvykle dávají jako shell programy, které nedělají nic, aby se na ně nemohl někdo přihlásit (např. /sbin/nologin, méně vhodně /bin/false apod.).

Hesla nejsou zapsána v /etc/passwd (kdysi tam byla, ale nebylo to bezpečné), ale jsou zapsána v zašifrované formě v souboru /etc/shadow.

Soubor /etc/shadow může číst jenom uživatel root a členové skupiny root a zapisovat do něj může zase jenom root.

jirka@jirka-Precision-T3610:~/vyuka_sspvc$ ls -l /etc/shadow
-rw-r----- 1 root shadow 1566 říj 26  2022 /etc/shadow
Výpis /etc/shadow (neúplný)
jirka@jirka-Precision-T3610:~/vyuka_sspvc# cat /etc/shadow
root:!:19053:0:99999:7:::
daemon:*:18996:0:99999:7:::
bin:*:18996:0:99999:7:::
sys:*:18996:0:99999:7:::
sync:*:18996:0:99999:7:::
games:*:18996:0:99999:7:::
man:*:18996:0:99999:7:::
...
jirka:$6$tNqBXxvLlaoLEspd$b/1EDbWyFshlqlF5iUbqUdZUQ.L6eynLLIzj.cNt1yaNIdjLvLDfpSG5sFPmI7sql1OUi2LekbQ0K7Y2AHlpm0:19053:0:99999:7:::
stunnel4:!:19056:0:99999:7:::
libvirt-qemu:!:19063:0:99999:7:::
libvirt-dnsmasq:!:19063:0:99999:7:::
sshd:*:19078:0:99999:7:::
fwupd-refresh:*:19291:0:99999:7:::

Skupiny (groups)

Skupiny uživatelů jsou definovány v souboru /etc/group. Každý uživatel musí být členem aspoň jedné skupiny. Tato se nazývá primární skupina. Uživatel může být členem více skupin.

Výpis /etc/group (neúplný)
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,jirka
tty:x:5:syslog
disk:x:6:
lp:x:7:
mail:x:8:
...
users:x:100:jirka
nogroup:x:65534:

Soubor /etc/group má podobnou strukturu jako /etc/passwd.

groupname heslo (není tam) GID (group ID) seznam uživatelů skupiny

root

x

0

adm

x

4

syslog,jirka

users

x

100

jirka

nogroup

x

65534

Zajímavý uživatel je nobody a zajímavá skupina je nogroup (UID=65534 a GID=65534). Je to doslova neexistující uživatel (nikdo) a neexistující skupina. Používají se dost často z bezpečnostních důvodů. Proces bežící s oprávněními nobody:nogroup má v systému minimální práva.

Skupinová hesla se nacházejí v souboru /etc/gshadow, podobně jako hesla uživatelů v /etc/shadow. Osobně jsem však použití skupinových hesel nikdy neviděl.

Práva pro přístup k souborům a adresářům

Linux používá jednoduchou filosofii: všechno je soubor.

V Linuxu jsou definována práva přístupu (permissions) ke každému souboru (file) anebo adresáři pro vlastníka (owner), skupinu (group) a ostatní (others). Adresář (directory) je speciální soubor, který obsahuje seznam souborů nebo adresářů, které jsou v něm obsaženy. Pojem "složka" se v Linuxu moc nepoužívá.

Tento jednoduchý model oprávnění používají všechny systémy které akceptují standard POSIX (Linux, FreeBSD, OpenBSD, Mac OS X) a nazývá se tradiční unixová oprávnění.

Jiné OS (Windows NT, Netware, OpenVMS) používají formu oprávnění, která se nazývá Access control list (ACL). Do Linuxu byla podpora pro ACL přidána v roce 2003 (RedHat Enterprise Linux 3).

Některé primitivní OS (DOS, Windows 95 a Windows 98) vůbec s oprávněními nepracují.

Výpis oprávnění k libovolnému souboru nebo adresáři dostaneme pomocí příkazu ls -l <soubor|adresář>.

jirka@jirka-Precision-T3610:~/vyuka_sspvc$ ls -l /bin/ls
-rwxr-xr-x 1 root root 142144 zář  5  2019 /bin/ls (1)
1 Zkusíme rozšifrovat, co znamená tento řádek.

Tradiční unixová oprávnění jsou rozdělena do tří trojic i když ve skutečnosti jsou vlastně tyto trojice čtyři, protože se před ně předsazuje ještě trojice speciálních oprávnění (tzv. sticky, SUID a SGID bit), ale ty budou popsány později.

Každý soubor a adresář má oprávnění pro:

  • vlastníka (tj. je to vlastník souboru nebo adresáře)

  • skupinu (tj. není to vlastník, ale je členem uvedené skupiny)

  • ostatní uživatele (tj. není to vlastník ani nepatří do výše uvedené skupiny)

přičemž každé oprávnění se skládá ze tří práv:

  • r – čtení

  • w – zápis

  • x – spuštění souboru nebo vstup do adresáře

Z výše uvedených poznámek vyplývá, že přístupová práva se určují pouze podle nejkonkrétnější trojice, tj. pokud přistupuje k souboru jeho vlastník, pak jsou na něj aplikovaná práva pouze z první trojice. Pokud k souboru přistupuje někdo, kdo není jeho vlastník, ale patří do stejné skupiny jako soubor, pak je na něj uplatňována trojice oprávnění pro skupinu. Teprve tehdy, pokud k souboru nebo adresáři přistupuje uživatel, který není ani vlastník a ni nepatří do skupiny jako soubor, je na něj uplatněna poslední trojice oprávnění pro ostatní uživatele.

V našem příkladu je vlastníkem uživatel root, skupina je root. Pokud je na některém místě pomlčka -, příslušné právo není přiděleno.

-rwxr-xr-x 1 root root 142144 zář  5  2019 /bin/ls
práva počet odkazů vlastník skupina velikost datum a čas jméno souboru nebo adresáře

typ

vlastník

skupina

ostatní

-

rwx

r-x

r-x

1

root

root

142144

zář 5 2019

/bin/ls

  • typ pokud je typ - jde o soubor, pokud je typ d jde o adresář (zde je soubor). Další významy jsou l link, b blokové zařízení, c znakové zařízení, p roura (pipe), s socket

  • vlastník má práva čtení, zápisu i spouštění

  • skupina má práva čtení a spuštění

  • ostatní mají práva čtení a spuštění

Význam oprávnění pro soubory a adresáře

Soubor Adresář

Read

čtení obsahu souboru

výpis obsahu adresáře

Write

zápis do souboru

zápis do adresáře (vytváření, mazání a přejmenování souborů i podadresářů)

eXecute

spuštění programu

vstup do adresáře

Na Linuxu rozhoduje o tom, zda je nějaký soubor program a je tudíž možné ho spustit právo eXecute. Nerozhoduje o tom nějaká přípona ve jméně souboru, jako je tomu na Windows.

Speciální oprávnění

SUID (setuid)

$ ls -l /bin/passwd
-rwsr-xr-x 1 root root 68208 lis 29  2022 /bin/passwd

Za standardních okolností dědí potomek (nový proces) oprávnění svého rodiče. Někdy je však nutné, aby měl spuštěný program jiná (vyšší) oprávnění. Pokud je na souboru s programem nastaven SUID bit, neběží spuštěný program s právy rodiče, ale s právy vlastníka tohoto souboru. Používá se v případech, kdy chceme uživateli umožnit provedení akce, na které by potřeboval jiná nebo vyšší oprávnění:

Změna hesla

Hesla uživatelů jsou uložena v souboru /etc/passwd nebo /etc/shadow, do kterých běžný uživatel nemůže zapisovat (soubor shadow nemůže dokonce ani číst). Při změně hesla je ale potřeba změněné heslo do těchto souborů zapsat. Proto má program /usr/bin/passwd nastaven SUID bit a patří uživateli root. Po spuštění běží program passwd s právy roota a heslo může být do příslušného souboru zapsáno.

Změna uživatele

Program běžného uživatele nemůže změnit svoje oprávnění. Může to však udělat program běžící s právy roota. Proto má program su nastavený SUID bit a patří uživateli root. Po zadání správného hesla je spuštěn nový shell, který je nastaven na nová oprávnění.

SUID bit neznamená, že program poběží s právy uživatele root. Patří-li program jinému uživateli, bude po spuštění běžet s právy tohoto uživatele. Nejběžnější je však tento způsob při poskytování administrátorských oprávnění. Proto musí být každý program se SUID bitem naprogramován s maximální obezřetností, aby neumožnil provést nějakou neoprávněnou činnost.
Každý spuštěný program (proces) běží s právy uživatele, který ho spustil. Pokud má program nastaven SUID bit, běží s právy vlastníka souboru.

SGID (setgid)

Program s nastaveným SGID bitem se chová po spuštění podobně, jako u SUID bitu. Nepřebírá ale oprávnění majitele souboru, nýbrž oprávnění skupiny, které daný soubor s programem na disku patří. Při aplikaci SGID bitu na adresář patří všechny nově vytvořené soubory a adresáře do skupiny, která je shodná s nadřízeným adresářem (který má nastaven zmíněný SGID bit). Bez nastaveného SGID bitu patří nově vytvořené adresáře a soubory primární skupině uživatele (viz výše).

Skóre ve hře

Některé hry zapisují dosažené skóre do souboru, aby mohli hráči své výkony porovnat. Takový soubor by musel mít právo zápisy pro všechny uživatele v systému. Hráči by pak snadno mohli tento soubor měnit a své dosažené skóre neférově zvyšovat. Proto je program s hrou svěřen speciální skupině (např. games) a je mu nastaven SGID bit. Soubor se skóre pak bude mít právo zápisu přidělené jen skupině games. Do souboru se skóre tak spuštěná hra může zapisovat, kdežto uživatelé nemohou soubor měnit.

Skupinový projekt

Uživatelé, kteří pracují na společném projektu, patří do společné skupiny project a obvykle nemají tuto skupinu nastavenou jako primární (nebo si ji zapomenou před každou prací na projektu pomocí příkazu newgrp změnit). Vytvoří-li ve společném adresáři, kam mají na základě členství ve skupině project přístup, nový soubor nebo adresář, bude patřit jiné skupině. Ani při nastavení umask na hodnotu zajišťující skupině zápis tak nebudou kolegové moci soubory upravovat nebo soubory v nových adresářích mazat a přejmenovávat. Přidělit oprávnění všem není nikdy vhodné. Proto je na kořenový adresář projektu, který patří skupině project nastaven SGID bit. Nové soubory a adresáře tak automaticky patří skupině project a nové podadresáře mají nastaven SGID bit.

Sticky bit

Pokud má uživatel do adresáře právo zápisu, může v tomto adresáři i mazat. Nastavíme-li v adresáři sticky bit, bude uživatel smět smazat jen své vlastní soubory nebo adresáře. Ve starších verzích unixových systémů tento příznak na souborech sloužil k tomu, aby kód ukončeného programu zůstal ve swapu. Tímto způsobem bylo dosaženo rychlejšího startu často používaných programů. V dnešních systémech není sticky bit na souborech již delší dobu podporován, protože vlivem používání virtuální paměti a stránkování ztratil pro soubory význam.

Adresář /tmp

Do adresáře /tmp mají všichni uživatelé v systému právo zápisu a odkládají si tam dočasné soubory (zejména to dělají různé programy). Pokud mají právo zápisu, mohou v adresáři i přejmenovávat a mazat soubory i adresáře, což by vedlo k tomu, že by si uživatelé mohli navzájem škodit. Nastavíme-li na tento adresář sticky bit a uživatelé budou vytvářet své soubory a adresáře s adekvátními oprávněními, bude problém vyřešen.

Typy souborů

Před znaky přístupových práv je vidět pomlčka, popřípadě další písmeno, které znamená typ daného souboru, jak je zobrazeno v následující tabulce.

Typ souboru Přiřazený znak Význam (anglicky) Co to je

Běžný soubor

file

obyčejný soubor s daty nebo program

Adresář

d

directory

seznam souborů a podadresářů

Odkaz

l

link

odkaz na jiný soubor nebo adresář

Pojmenovaná roura

p

pipe

Roura se používá ke komunikaci dvou programů, jeden program do ní zapisuje, druhý program z ní čte

Socket

s

socket

Socket je podobný rouře, používá však síťovou infrastrukturu.

Soubor blokového zařízení

b

block file

Blokové zařízení je takové zažízení, kde čteme nebo zapisujeme data po velkých blocích. Např. disk.

Soubor znakového zařízení

c

character file

Znakové zařízení je takové zařízení, kde čteme nebo zapisujeme data po bytech (znacích). Příklad: klávesnice, myš, textová obrazovka.

Příklady (výpis kořenového adresáře)
jirka@jirka-Precision-T3610:~$ ls -l /
celkem 152
lrwxrwxrwx   1 root root     7 bře  2  2022 bin -> usr/bin              (1)
drwxr-xr-x   5 root root  4096 zář  2 09:15 boot                        (2)
drwxr-xr-x   2 root root  4096 bře  2  2022 cdrom
drwxr-xr-x  21 root root  5040 zář 14 07:03 dev
drwxr-xr-x 168 root root 12288 zář 12 16:59 etc
drwxr-xr-x   3 root root  4096 bře  2  2022 home
lrwxrwxrwx   1 root root     7 bře  2  2022 lib -> usr/lib
lrwxrwxrwx   1 root root    10 bře  2  2022 libx32 -> usr/libx32
lrwxrwxrwx   1 root root     9 bře  2  2022 lib32 -> usr/lib32
lrwxrwxrwx   1 root root     9 bře  2  2022 lib64 -> usr/lib64
drwx------   2 root root 16384 bře  2  2022 lost+found                  (3)
drwxr-xr-x   3 root root  4096 bře  5  2022 media
drwxr-xr-x   2 root root  4096 led  4  2022 mnt
drwxr-xr-x   6 root root  4096 dub 28 21:58 opt
dr-xr-xr-x 483 root root     0 zář 14 06:32 proc
drwx------  12 root root  4096 dub 28 21:57 root
drwxr-xr-x  39 root root  1080 zář 14 06:38 run
lrwxrwxrwx   1 root root     8 bře  2  2022 sbin -> usr/sbin
drwxr-xr-x   2 root root  4096 led  4  2022 srv
dr-xr-xr-x  13 root root     0 zář 14 06:32 sys                         (4)
drwxrwxrwt  25 root root 81920 zář 16 00:00 tmp                         (5)
drwxr-xr-x  15 root root  4096 led  1  2023 usr
drwxr-xr-x  12 root root  4096 led  1  2023 var
1 l Symbolický odkaz (symlink). Všimněte si, že symlink má nastavena všechna práva, to však ale neznamená, že tomu tak je. Skutečná práva jsou nastavena tam, kam symlink ukazuje (tj. /usr/bin).
2 d Adresář
3 Do tohoto adresáře může jenom root a nikdo jiný.
4 Tento adresář nemůže nikdo měnit (ani root).
5 Nastaven sticky bit. t na konci.
Příklady zařízení (neúplný výpis adresáře /dev)
jirka@jirka-Precision-T3610:~/vyuka_sspvc$ ls -l /dev
celkem 0
crw-r--r--   1 root root       10, 235 zář 14 06:32 autofs                      (1)
drwxr-xr-x   2 root root           480 zář 14 06:32 block                       (2)
drwxr-xr-x   2 root root           100 zář 14 06:32 bsg
crw-rw----   1 root disk       10, 234 zář 14 06:32 btrfs-control
drwxr-xr-x   3 root root            60 zář 14 06:32 bus
lrwxrwxrwx   1 root root             3 zář 14 06:32 cdrom -> sr0
lrwxrwxrwx   1 root root             3 zář 14 06:32 cdrw -> sr0
crw--w----   1 root tty         5,   1 zář 14 06:32 console
lrwxrwxrwx   1 root root            11 zář 14 06:32 core -> /proc/kcore         (3)
drwxr-xr-x  18 root root           380 zář 15 11:57 cpu
crw-------   1 root root       10,  60 zář 14 06:32 cpu_dma_latency
crw-------   1 root root       10, 203 zář 14 06:32 cuse
drwxr-xr-x   6 root root           120 zář 14 06:32 disk
...
lrwxrwxrwx   1 root root             3 zář 14 06:32 dvd -> sr0
lrwxrwxrwx   1 root root             3 zář 14 06:32 dvdrw -> sr0
crw-------   1 root root       10,  62 zář 14 06:32 ecryptfs
crw-rw----   1 root video      29,   0 zář 14 06:32 fb0
lrwxrwxrwx   1 root root            13 zář 14 06:32 fd -> /proc/self/fd
crw-rw-rw-   1 root root        1,   7 zář 14 06:32 full
crw-rw-rw-   1 root root       10, 229 zář 14 06:32 fuse
crw-------   1 root root      241,   0 zář 14 06:32 hidraw0
...
brw-rw----   1 root disk        8,   0 zář 28 11:32 sda                         (4)
brw-rw----   1 root disk        8,   1 zář 28 11:32 sda1                        (5)
brw-rw----   1 root disk        8,   2 zář 28 11:32 sda2
brw-rw----   1 root disk        8,   5 zář 28 11:32 sda5
brw-rw----   1 root disk        8,   6 zář 28 11:32 sda6
...
crw--w----   1 root tty         4,   0 zář 14 06:32 tty0                        (6)
crw--w----   1 root tty         4,   1 zář 14 06:33 tty1                        (7)
crw--w----   1 root tty         4,  10 zář 14 06:32 tty10
crw--w----   1 root tty         4,  11 zář 14 06:32 tty11
crw--w----   1 root tty         4,  12 zář 14 06:32 tty12
...
1 c znakové zařízení
2 d adresář (tam budou další zařízení)
3 l symlink na paměť jádra
4 b blokové zařízení. První SATA disk v systému (celý).
5 b blokové zařízení. První SATA disk v systému, jeho první partition
6 c znakové zařízení. První console.
7 c znakové zařízení. Druhá console.
Pokud si nepamatujete co přesně dělá který přepínač u nějakého programu nebo jak funguje nějaký program, napište man program? Zobrazí se vám dokumentace k programu.
Definice 1. Manuál k ls
$man ls

LS(1)                                                                                                                                                User Commands                                                                                                                                               LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..

       --author
              with -l, print the author of each file

       -b, --escape
              print C-style escapes for nongraphic characters

       --block-size=SIZE
              with -l, scale sizes by SIZE when printing them; e.g., '--block-size=M'; see SIZE format below

       -B, --ignore-backups
              do not list implied entries ending with ~

       -c     with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise: sort by ctime, newest first

       -C     list entries by columns

       --color[=WHEN]
              colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below

       -d, --directory
              list directories themselves, not their contents

       -D, --dired
              generate output designed for Emacs' dired mode

       -f     do not sort, enable -aU, disable -ls --color

       -F, --classify
              append indicator (one of */=>@|) to entries

       --file-type
              likewise, except do not append '*'

       --format=WORD
              across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C

       --full-time
              like -l --time-style=full-iso

       -g     like -l, but do not list owner

       --group-directories-first
              group directories before files;

              can be augmented with a --sort option, but any use of --sort=none (-U) disables grouping

       -G, --no-group
              in a long listing, don't print group names

       -h, --human-readable
              with -l and -s, print sizes like 1K 234M 2G etc.

       --si   likewise, but use powers of 1000 not 1024

       -H, --dereference-command-line
              follow symbolic links listed on the command line

       --dereference-command-line-symlink-to-dir

Zdroje a odkazy