====== 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 ([[:system:prikazovy_radek:root|root]]). Pro konkrétnío uživatele může nastavit poměrně přesně definovatelný soubor [[:system:prikazovy_radek:vlastnictvi|práv]], přiřadit jej k určitým [[#skupiny|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 [[.vlastnictvi#zmena_prav_a_vlastnictvi|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 [[:system:prikazovy_radek#terminal|terminálu]] nebo do [[:konzole|Konzole]], což je emulátor terminálu a [[:root|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:
[[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |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|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|root]] napíšete:
[[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |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.
[[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |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|passwd]] - pro změnu hesla aktuálního uživatele\\ \\
[[#chage|chage]] - pro nastavení data, kdy vyprší platnost hesla zadaného uživatele\\ \\
[[#newgrp|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|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 =====
[[:system:mcc#nastroje_pro_spravu|Správa uživatelů zde.]]
===== passwd =====
změna uživatelského hesla
[[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |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|root]])|
|Parametr:|Popis:|
|''-k'', ''%%--%%keep-tokens''| - ponechat autentizační tokeny, které nevypršely|
|''-d'', ''%%--%%delete''| - zrušit heslo zadaného účtu (pouze [[:root|root]])|
|''-l'', ''%%--%%lock''| - uzamknout zadaný účet (pouze [[:root|root]])|
|''-u'', ''%%--%%unlock''| - odemknout zadaný účet (pouze [[:root|root]])|
|''-f'', ''%%--%%force''| - vynutit operaci|
|''-x'', ''%%--%%maximum=DAYS''| - maximální doba platnosti hesla (pouze [[:root|root]])|
|''-n'', ''%%--%%minimum=DAYS''| - minimální doba platnosti hesla (pouze [[:root|root]])|
|''-w'', ''%%--%%warning=DAYS''| - počet dní zobrazení varování před vypršením platnosti hesla (pouze [[:root|root]])|
|''-i'', ''%%--%%inactive=DAYS''| - počet dní po vypršení hesla, kdy bude účet zablokován (pouze [[:root|root]])|
|''-S'', ''%%--%%status''| - zobrazit stav hesla daného účtu (pouze [[:root|root]])|
|''%%--%%stdin''| - číst nové tokeny ze ''stdin'' (pouze [[:root|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. \\
[[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |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:
[[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |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 [[:konzole|Konzoli]] či [[:system:prikazovy_radek#terminal|terminálu]] stala z ''pepa'' → ''pepina'' 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 [[:root|správce]]. Pokud ho zadáte, pak se stanete [[:root|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 [[.systemove_soubory#etc_group|/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ů.
[[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |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 ''0'' až ''499'' 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 ([[.systemove_soubory#etc_group|/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ů|