Produkty Novinky Články Návody Kontakty

Konfigurační soubory - II

Další část konfiguračních skriptů a souborů, které si představíme, se zabývá konfigurací uživatelů a skupin uživatelů, kteří budou mít do systému přístup. Také si ukážeme ak si nakonfigurovat vlastnosti prostředí, které budou mít uživatelé k dispozici po přihlášení do systému.

Soubor /etc/passwd

V tomto souboru je uložen seznamem uživatelů s jejich hesly (pokud nejsou použita stínová hesla, uid, atd.).
Obsah souboru:
root::0:0:root:/root:/bin/sh 
daemon:x:1:1:daemon:/usr/sbin:/bin/sh 
bin:x:2:2:bin:/bin:/bin/sh 
sys:x:3:3:sys:/dev:/bin/sh nobody:x:65534:65534:nobody:/noneexistent:/bin/sh
Soubor /etc/passwd se skládá z řádků s tímto formátem:
’uživatel:heslo:ID_uživatele:ID_skupiny:popis_uživatele:domovský_adresář:shell’
Heslo uživatele může být prázdné (pak jej musíme před prvním přihlášením nastavit příkazem passwd), nebo již nenastavené nebo je místo něj znak x, který znamená, že heslo je stínové. U pseudo uživatelů, kteří existují pro potřeby systému se heslo nepoužívá, což značí také znak x. ID uživatele je známé pod zkratkou UID a ID skupiny pak pod zkratkou GID.
Z obsahu našeho souboru /etc/passwd je patrné, že jediným skutečným uživatelem v naší distribuci bude superuživatel root. Jeho heslo necháme zatím nenastavené, nastavíme je později. Další uživatelé jsou zde uvedeny jen pro potřeby systému: uživatel daemon se používá pro omezení práv systémových služeb, uživatel bin kvůli kompatibilitě s některými staršími programy, uživatel sys pak pro vymezení práv služeb systémového přihlášení a logování do adresáře /tmp a uživatel nobody pro anonymní přístup přes NFS.

Soubor/etc/group

Se souborem /etc/passwd úzce souvisí soubor /etc/group, kde je uveden seznam všech skupin uživatelů dostupných v systému.
Obsah souboru:
root:x:0: 
daemon:x:1: 
bin:x:2: 
sys:x:3: 
adm:x:4: 
tty:x:5: 
disk:x:6: 
lp:x:7:lp 
mail:x:8: 
news:x:9: 
uucp:x:10: 
proxy:x:13: 
kmem:x:15: 
dialout:x:20: 
fax:x:21:
voice:x:22: 
cdrom:x:24: 
floppy:x:25: 
tape:x:26: 
sudo:x:27: 
audio:x:29:developer_peer 
dip:x:30: 
postgres:x:32: 
www-data:x:33: 
backup:x:34: 
operator:x:37: 
list:x:38: 
irc:x:39: 
src:x:40: 
gnats:x:41: 
shadow:x:42: 
utmp:x:43: 
video:x:44: 
staff:x:50: 
games:x:60: 
users:x:100: 
nogroup:x:65534: 
man:x:12: 
sasl:x:45: 
crontab:x:101: 
ssh:x:102: 
developer:x:1007: 
xfntserv:x:103: 
cfs_user:x:1006:developer_peer 
camera:x:104: 
scanner:x:105: 
saned:x:106: 
lpadmin:x:107: 
plugdev:x:46: 
mysql:x:108: 
messagebus:x:109: 
xfntsrv:x:110:
Soubor se skládá taktéž z jednotlivých řádků s tímto formátem:
název_skupiny:heslo:ID_skupiny:členové skupiny
Heslo se zpravidla nepoužívá, dává se místo něj znak x. Přiřazení ID skupiny (GID) nemá žádná pevná pravidla, pouze se dodržuje konvence, že skupina rootGID 0 a uvedená GID musí sedět s těmi v souboru /etc/passwd. Členové skupiny se oddělují čárkou. Pokud je uživatel člen pouze jedné skupiny, tak stačí když je jeho členství uvedeno v /etc/passwd.
Uvedený soubor /etc/group sice obsahuje řadu skupin, které naše distribuce nebude potřebovat, nicméně nemá smysl jej nějak zkracovat kvůli zabranému místu. Proto byl ponechán nezkrácený.

Skript /etc/profile

Tento skript obsahuje instrukce pro nastavení prostředí systému, jako jsou systémové proměnné, proměnné prostředí atd., která jsou aplikována po spuštění shellu, tj. po přihlášení uživatele do systému. Obsah tohoto souboru je společný všem uživatelům systému. Individuální nastavení, které dolaďuje nastavení prostředí podle potřeb konkrétního uživatele, je uvedeno v domovském adresáři v souboru ~\.profile.
Obsah souboru:
# /etc/profile
​
# 1: setting variable PATH according to UID 
if [ "‘id -u‘" -eq 0 ] 
then 
# root 
        PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"else 
# other users
        PATH="/usr/local/bin:/usr/bin:/bin:" 
fi
​
# 2: basic settings 
export PATH 
export USER=‘id -un‘ 
export LOGNAME=$USER 
export HOSTNAME=‘/bin/hostname‘ 
export HISTSIZE=1000 
export HISTFILESIZE=1000 
export PAGER=’/bin/more ’ 
export EDITOR=’/bin/vi’
​
# 3: set timezone info for central europe time zone 
export TZ=CET-1CEST,M3.5.0,M10.5.0/3
Vysvětlivky (body odpovídají číslům v komentářích):
  1. Nejprve si nastavíme proměnou PATH a to v závislosti na UID uživatele. Superuživatel root má tak ve výchozím nastavení této proměnné zahrnuty i adresáře /sbin a a další jeho variace.
  2. Pak tzv. vyexportujeme nastavení proměnných prostředí, tzn. že hodnoty proměnných budou dostupné všem programům, které z shellu spustíme. Jde už o zmíněnou proměnou PATH, počet příkazů v historii příkazů, výchozí editor apod.
  3. Nakonec nastavíme proměnou prostředí TZ na naši časovou zónu.