Obsah

Uživatelé

Uživatel je osoba, které je v linuxu zřízen uživatelský účet, tedy obdržela určitá práva k přístupu do systému pomocí uživatelského jména (login) a hesla (password).

Uživatele do systému přidává správce (root). Pro konkrétnío uživatele může nastavit poměrně přesně definovatelný soubor práv, přiřadit jej k určitým skupinám (group), které rozšiřují uživatelovo oprávnění o další možnosti.

Uživatelské jméno je trvalé, heslo může být nastaveno dočasné a uživatel si ho v tom případě musí periodicky měnit (je na to předem upozorněn). Pokud to neudělá včas, je mu přístup do systému zablokován.

Systém vytvoří pro každého uživatele tzv. domovskou složku v adresáři /home. Uživatel s přihlašovacím jménem jarda tedy bude mít vlastnická práva na složku /home/jarda a všechny podadresáře a soubory v ní uložené. Do složky /home/pepa se ovšem nedostane, ledaže by pepa umožnil nastavením nějakého podadresáře pro čtení nebo dokonce zápis všem.

Systém uživatele nerozlišuje podle uživatelského jména, ale podle tzv. UID (User Identification Digit), identifikačního čísla uživatele. Z toho plyne několik souvislostí např. při instalaci nových verzí nebo jiné distibuce.

useradd - Vytvoření uživatele

Přepněte se do terminálu nebo do Konzole, což je emulátor terminálu a přihlásíte se jako správce.

Spustíte program useradd (nebo adduser, což je totéž). Jméno si snad zapamatujete - user = uživatel, add = anglicky přidat. Jde o prográmek vyskytující se snad v každé linuxové distribuci. Bez parametrů vám vypíše možnosti. Vy zadáte:

Konzole

useradd prihlasovaci_jmeno_uzivatele

tedy například useradd pepa

V tu chvíli se podívejte do /home, a uvidíte, že vznikl nový podadresář /home/pepa, což je Pepův domovský adresář. Do nového adresáře byly zkopírovány soubory z /etc/skel.

POZOR!! Pokud současně s uživatelem nezadáte heslo, příkaz vytvoří v /etc/passwd místo hesla hvězdičku a uživatel tím bude zablokován. Lepší je tedy zadat useradd přímo s parametry, které nastaví co třeba nebo vzápětí použít příkaz passwd.

Příklad:Popis:
useradd user1 - vytvoří nového uživatele
useradd -c "Josef Kaspar" -d /home/pepa -s /bin/bash -g users pepa - vytvoří uživatele s přihlašovacím jménem pepa, vytvoří domovský adresář /home/pepa, plné jméno v GECOS poli Josef Kaspar, primární shell bude /bin/bash, přidá ho do skupiny users v /etc/group
useradd -c "Name Surname" -g admin -d /home/user1 -s /bin/bash user1 - vytvoří nového uživatele a přiřadí ho do skupiny admin

Chcete-li pro uživatele zadat i nějaké výchozí heslo, nazvat domovský adresář jinak, nastavit vypršení hesla po určité době atd. atd., využijte parametrů:

Parametr:Popis:
-b, --base-dir BASE_DIR - základní adresář pro nového uživatele, obvykle /home
-c, --comment COMMENT - nastaví položku GECOS pro nového uživatele (komentář)
-d, --home-dir HOME_DIR - domovský adresář uživatele (obvykle podadresář v /home)
-D, --defaults - zobrazí nebo uloží změny jako defaultní (výchozí) konfiguraci useradd
-e, --expiredate EXPIRE_DATE - nastaví vypršení platnosti účtu do EXPIRE_DATE
-f, --inactive INACTIVE - nastaví časově omezenou platnost hesla do doby uvedené v INACTIVE
-g, --gid GROUP - přiřazení uživatele příslušné skupině (skupinám)
-G, --groups GROUPS - seznam skupin v nichž je uživatel zařazen
-h, --help - zobrazí nápovědu (anglicky)
-k, --skel SKEL_DIR - zadat alternativní skel adresář
-K, --key KEY=VALUE - přepíše výchozí /etc/login.defs
-m, --create-home - vytovří domovský adresář pro nového uživatele
-M - nevytvoří domovský adresář pro nového uživatele
-n - nevytvoří skupinu stejného jména jako uživatel
-o, --non-unique - vytvoří uživatele se stejným UID, které je v systému již použito
-p, --password HESLO - použije pro nového uživatele zadané heslo
-r - vytvoří systémový účet
-s, --shell SHELL - definuje přihlašovací shell pro nového uživatele
-u, --uid UID - nastaví UID uživatele „natvrdo“

userdel - Odstranění uživatele

příkaz mění soubory související s přístupem do systému a maže všechny položky související s příslušným uživatelským jménem. Aby vše proběhlo správně, musí zadávané přihlašovací jméno existovat. user = uživatel; del = zkratka delete, mazat. userdel nemůže odebrat účet uživatele, který je přihlášen. Uživatel musí být nejdříve odpojen.

Jako root napíšete:

Konzole

userdel -r pepa

a v systému přestane existova uživatel pepa a díky parametru -r také jeho domovský adresář.

userdel -r user1 - smaže uživatele (-r odstraní i domovský adresář)
Parametr:Popis:
-r - soubory v uživatelově domovském adresáři budou smazány, stejně tak uživatelův adresář pro došlou poštu adt. Uživatelovy soubory umístěné na jiných místech systému musí být nalezeny a smazány ručně

Soubory, které userdel mění:

/etc/group - informace o účtech skupin
/etc/passwd - informace o účtech uživatelů
/etc/shadow - bezpečnostní informace u účtech uživatelů (hesla ap)
Návratové kódy:Popis:
0 - úspěšný průběh
1 - nelze aktualizovat soubor s hesly
2 - nesprávný syntaxe příkazu
6 - uvedený uživatel neexistuje
8 - uživatel je momentálně připojen
10 - nelze aktualizovat soubor /etc/group
12 - nelze odstranit domovský adresář

usermod - Změna v nastavení uživatele

Pro tuhle potřebu je zde prográmek usermod (user = uživatel; mod = zkratka od modify, tedy změnit).
Pomocí usermod můžete změnit jakoukoli položku v nastavení uživatele; od zákazu přístupu, přes změnu domovského adresáře, hesla až třebas po změnu přihlašovacího jména.

usermod neprovede žádné změny u aktuálně přihlášeného uživatele. Musíte také nejprve ukončit všechny procesy spuštěné uživatelem (nebo běžící pod jeho UID) dříve, než změníte uživatelovo UID.
Záznamy uživatele v tabulce crontab je nutné provést ručně.
Ručně musíte provést změny vlastníka jakéhokoli procesu ručně. Musíte také provést potřebné změny v nastavené NIS pro NIS server.

Konzole Použití:

usermod [-c kommentář] [-d home_dir [-m ]] [-e datum_expirace] [-f inactive_days] [-g úvodní_skupina][-G skupina1 [ ,skupina2,... , [skupinaN] [-a] ]] [-l přihlašovací_jméno] [-p heslo] [-s shell][-u uid [-o ]] [-L -U] jméno
Příkaz:Popis:
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 - změní atributy uživatele
Parametr:Popis:
-c comment - nastaví položku komentáře v souboru hesel uživatelů na novou hodnotu. Normálně ji lze modifikovat pomocí utility chfn
-d home_dir - nastaví nový domovský adresář. Společně s parametrem -m vytvoří nový adresář a obsah současného domovského adresáře do něj přesune a pokud neexistuje, pak vytvoří prázdný
-e expire_date - v zadaném datumu přestane být uživatelský účet aktivní. Datum musí mít formát RRRR-MM-DD, tedy např. 2012-09-19 pro 19. září 2012
-f inactive_days - číslo zde zadané uvádí, po kolika dnech přestane být platné příhlašovací heslo a účet s nezměněným heslem bude zakázán. Hodnota 0 zakáže účet záhy po vypršení hesla, hodnota -1 tuto vlastnost zakáže. Defaultní hodnota je -1
-g initial_group - názvy skupin nebo jejich čísla (GID) v nichž je uživatel přihlášen. Jméno a skupina musí existovat. Číslo skupiny musí existovat a odkazovat na existující skupinu. Defaultní číslo skupiny je 1
-G group1[ ,group2,…, [groupN]]] - seznam podporovaných skupin a jejich čísel připojených k uživateli. Skupiny jsou odděleny čárkou, mezery nejsou uvažovány. Zakázené skupiny lze definovat parametrem -g. Jestliže není současný uživatel ve výpisu skupin uveden, uživatel byl ze skupiny odebrán. Toto chování lze zakázet změnou nastavení pomocí parametru -a, čímž bude uživatel přidán do současného podporovaného seznamu skupin
-l login_name - provede změnu přihlašovacího jména pro zadaného uživatele. Nic jiného změněho nebude. Je na zvážení, zda nezměnit také název domovského adresáře podle jména uživatele
-L - uzamkne uživatelské heslo, přidá příznak ! před heslo, čímž zakáže jeho použití. Nelze použít současně s parametry -p nebo -U
-o - parametr umožní změnit UID na neunikátní hodnotu
-p passwd - šifrované heslo, vrácené kryptem
-s shell - jméno přihlašovacího shellu uživatele. Nastavení této položky bez hodnoty způsobí načtení defaultního přihlašovacího shellu
-u uid - číselná hodnota uživatelského ID. Tato hodnota musí být v systému unikátní, pro neunikátní UID použijte parametr -o. Hodnota nesmí být záporná. Hodnoty 0 a 999 jsou obvykle rezervovány pro systémové účty. Soubory patřící uživateli umístěné v adresářovém stromu počínajíce domovským adresářem uživatele budou automaticky přiřazeny uživateli nového UID. Soubory mimo tento adresářový strom musí být nastaveny ručně
-U - odemkne uživatelské heslo. Odejme příznak ! zapsaný před uloženým heslem. Nelze použít společně s parametry -p nebo -L

Vedle univerzálně použitelného usermod můžete pro některé jednotlivé a časté změny použít jednoúčelové příkazy, jako jsou:

passwd - pro změnu hesla aktuálního uživatele

chage - pro nastavení data, kdy vyprší platnost hesla zadaného uživatele

newgrp - pro nastavení nové výchozí skupiny do ní patří uživatel, platí pro všechny nově vytvořené soubory

Spráce - root

je v systému linux všemocná osoba s právy k čemukoli. Může cokoli v systému změnit, přenastavit, vytvořit, smazat atd atd. Proto je velmi rozumné VYUŽÍVAT SPRÁVCOVSKÝ ÚČET POUZE K NUTNÝM NASTAVENÍM SYSTÉMU, a běžnou práci vykonávat jako řadový uživatel. Vyhnete se tak mnoha možným rizikům a těžkostem.

Účet správce (root) je vytvořen při instalaci systému, při instalaci jste také vyzváni k přiřazení hesla a dalších základních nastavení.

Správa uživatelů v Ovládacím centru Mageia

Správa uživatelů zde.

passwd

změna uživatelského hesla

Konzole Použití:

passwd [-k] [-l] [-u[-f]] [-d] [-n min_dnů] [-x maxdnů] [-w varování_dnů] [-i neaktivní_dnů] [-S][--stdin] [uživatelské_jméno]
Příkaz:Popis:
passwd - změní heslo
passwd user1 - změní heslo uživatele user1 (může využít jen root)
Parametr:Popis:
-k, --keep-tokens - ponechat autentizační tokeny, které nevypršely
-d, --delete - zrušit heslo zadaného účtu (pouze root)
-l, --lock - uzamknout zadaný účet (pouze root)
-u, --unlock - odemknout zadaný účet (pouze root)
-f, --force - vynutit operaci
-x, --maximum=DAYS - maximální doba platnosti hesla (pouze root)
-n, --minimum=DAYS - minimální doba platnosti hesla (pouze root)
-w, --warning=DAYS - počet dní zobrazení varování před vypršením platnosti hesla (pouze root)
-i, --inactive=DAYS - počet dní po vypršení hesla, kdy bude účet zablokován (pouze root)
-S, --status - zobrazit stav hesla daného účtu (pouze root)
--stdin - číst nové tokeny ze stdin (pouze root)
-?, --help - zobrazí nápovědu příkazu
--usage - zobrazit krátkou zprávu o použití

chage

Příkaz:Popis:
chage -E 2012-12-31 user1 - nastaví kdy vyprší heslo uživatele user1

chfn

příkaz pro změnu popisných informací o uživateli. Tyto informace jsou uloženy v souboru /etc/passwd, a jsou zobrazovány programem finger.
Příkaz finger zobrazí informace měněné příkazem chfn. Lze zobrazit pět položek: plné jméno, název pracovniště a telefon a soukromý telefon.

INTERAKTIVNÍ REŽIM

V interaktivním režimu zobrazí chfn požadovanou položku a umožní vložit novou informaci, nebo ponechat původní. Pokud není zadáno/zobrazeno nic, zůstane hodnota prázdná. Vložíte-li do parametru none, hodnota bude vymazána.

Konzole Použití:

chfn   [ -f full-name ]  [ -o office ]  [ -p office-phone ]  [ -h home-phone ] [ -u ] [ -v ] [ username ]
Příkaz:Popis:
chfn -f - plné jméno uživatele
chfn -p - telefon do kanceláře
Parametr:Popis:
-f, --full-name - uloží plné jméno uživatele
-o, --office - číslo kanceláře
-p, --office-phone - číslo telefonu do kanceláře
-h, --home-phone - soukromý telefon
-u, --help - vypíše nápovědu
-v, --version - vypíše informaci o verzi programu

chsh

příkaz pro změnu přihlašovacího shellu

pwck

pwck ověří správnost souboru /etc/passwd a existenci uživatelů

su

je příkaz pro změnu přihlášeného uživatele.

Například je přihlášen pepa, ale potřeboval by nahlédnout do domovského adresáře své ženy pepina. Použije příkaz su takto:

Konzole Použití:

su pepina

zadá její heslo, které se nevypisuje na obrazovku (bezp. opatření proti odečtení počtu znaků hesla) a potvrdí Enter.

Tím se v Konzoli či terminálu stala z pepapepina a všechny příkazy a programy budou fungovat, jako by je spustila pepina, vytvořené soubory budou patřit uživateli pepina atd. atd.

Zadáte-li příkaz su bez parametrů, v dalším kroku je očekáváno heslo správce. Pokud ho zadáte, pak se stanete správcem (rootem).

Skupiny

Zde se především používá obdoba příkazů user*, tedy group* s obdobnou funkcí.

groupadd - Vytvoření skupiny

je příkaz pro vytvoření nové skupiny. Upravuje soubor /etc/group. Příkaz groupadd vytvoří účet nové skupiny s použitím hodnot zadaných v příkazovém řádku nebo přednastavených systémem. Nová skupna bude vložena do potřebných systémových souborů.

Konzole Použití:

groupadd [-g gid [-o ]] [-f] [-r] [-K KEY=VALUE] skupina
Příkaz:Popis:
groupadd jmeno_skupiny - vytvoří novou skupinu
Parametr:Popis:
-f - tato volba způsobí uspěšné ukončení příkazu v případě, že zadávaná skupina již existuje. Společně s parametrem -g, je-li zvolen již použitý GID, bude vybrán a použit nejbližší (unikátní) GID (např. -g je vypnutý)
-g GID - zadaný GID je číselná hodnota stanovující ID skupiny. Hodnota musí být jedinečná, v opačném případě použijte parametr -o. Hodnota nesmí být záporná. Protože hodnoty 0499 jsou používány pro systémové účty, použijte číslo 500 a větší a zároveň větší než největší ID číslo skupiny již použité.
-K KEY=HODNOTA - přepíše v /etc/login.defs defaultní hodnoty (GID_MIN, GID_MAX a další). Vícenásobné použití parametru -K může například vypad takto:
-K GID_MIN=100 -K GID_MAX=499

Poznámka: -K GID_MIN=10,GID_MAX=499 nebude fungovat.
-o - přidá skupinu s již použitým (neunikátním) GID
-r - se používá pro vytvoření systémového účtu. Bude automaticky vybrán a použit přvní nepoužitý GID nižší než 499 pokud není současně využit parametr -g
SOUBORY
Příkaz:Popis:
/etc/group - informace o skupinových účtech
/etc/gshadow - bezpečné informace o skupinových účtech
Návratové hodnoty:Popis:
0 - úspěch
2 - špatná syntaxe programu
3 - zadána špatná hodnota parametru
4 - GID není jedinečný (není-li použit parametr -o)
9 - název skupiny není jedinečný
10 - nelze aktualizovat soubor skupin (/etc/group)

groupdel - Smazání skupiny

Příkaz:Popis:
groupdel jmeno_skupiny - smaže skupinu

groupmod - Změna v nastavení skupiny

Příkaz:Popis:
groupmod -n new_group_name old_group_name - přejmenuje skupinu

grpck

grpck ověří správnost souboru /etc/group a existenci skupin

newgrp

Příkaz:Popis:
newgrp group_name - přihlásí se do nové skupiny, změní výchozí skupinu nově vytvářených souborů