Administrace uživatelů pod Solarisem

  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.
  • : Function split() is deprecated in /home/web/vydrar.net/subdomains/www/modules/filter/filter.module on line 1206.

Malý úvod do administrace uživatelů v Solarisu. Snad je zde vše podstatné...

Administrace uživatelů - kde je to uloženo

Solaris ukládá uživatelské a skupinové účty do těchto souborů:
/etc/passwd je soubor kde jsou uložené uživatelské účty
/etc/shadow - zde jsou uložená hesla v šifrované podobě
/etc/group - definuje skupiny

/etc/passwd
Uživatelský účet je uložen ve tvaru:

loginID:x:UID:GID:comment:home_directory:login_shell

LoginID - unikátní, přes něj se přihlašuje do systému. 8 znaků. a-Z,0-9. První musí být písmeno a jeden znak musí být malé písmeno. Znaky '-', '_', '.' jsou povoleny, ale nejsou doporučeny.

x - zástupný znak za heslo - to je uložené v /etc/shadow - max 256 znaků, čísel nebo speciálních znaků.

UID - unikátní číslo, které má user pod systémem. Pro uživatele rozsah od 100 to 60000. 0 až 99 jsou rezervované pro systémové účty. 60001 je pro účet nobody, 60002 je pro účet noaccess.

GID - číslo, které identifikuje skupinu do které user patří. Rozsah 100 to 60000.

Comment - komentář

Home directory - Domácí adresář do kterého je uživatel přepnut po zalogování. V tomto adresáři má povolen zápis.

Login shell - shell který je mu spuštěn po zalogování - je na výběr z Bourne shell, Korn shell, C shell, Z shell, BASH shell a TC shell.

/etc/shadow
Má nastavená práva čtení jen pro roota.

root:VsHfC3J3hdgth:6445::::::
daemon:NP:6445::::::
...

Struktura má následující pořadí:

loginID:password:lastchg:min:max:warn:inactive:expire:

loginID - shodné s údajem v /etc/passwd

password - Zašifrované 13-ti znakové slovo. Pokud je zde " *LK* ", tak to znamená že účet je zablokovaný. NP znamená že není heslo. Heslo musí být minimálně 6 znaků, minimálně dvě písmenka a jedno číslo nebo speciální znak. Nesmí být stejné jako login a nesmí být ani opačný jako login

lastchg - Změna hesla proběhla před počtem dní v poli lastchg od 1.1.1970.

min - počet dní po který nemůže být heslo změněno

max - maximální stáří hesla - dní

warn - Uživatel dostane varování warn dní před vypršením

inactive - po pomto počtu dní kdy se uživatel nepřihlásí je účet zablokován

expire - počet dní od 1.1.1970, pak účet vyexpiruje



/etc/group
Každý uživatel náleží do skupiny dle z8znamu v /etc/passwd. Této skupině se říká primární. Uživatel může mít až 15 dalších skupin a to v souboru /etc/group

Struktura /etc/group:

groupname:group-password:GID:username-list

groupname - jméno skupiny - max 8 znaků
group-password - Je většinou prázdné.
GID - ID skupiny, čísla 0 až 99, 60001, 60002 a 65534 jsou rezervována pro systém. Využitelné 100 až 60000.
username-list - Seznam uživatelů, které do dané skupiny náleží.

/etc/default/passwd
popis jsem už udělal dříve a je zde

Administrace uživatelů - programy pro práci


Základní příkazy které najdete i pod Linuxem

useradd - přidává uživatele
userdel - maže uživatele
usermod - změna uživatele
groupadd - přidává skupinu
groupdel - maže skupinu
groupmod - změna skupiny

Mimo těchto příkazů má Solaris 9 a 10 nový příkaz smuser a smgroup
Příkaz smuser má následující parametry:
add - pro přidání uživatele
modify - pro změnu uživatele
delete - smazání uživatele
list - výpis uživatele

Oproti klasickým přikazům jako useradd umí smuser a smgroup mimo lokálních účtů spravovat i vzdálené. smuser a smgroup se hodí ke scriptové administraci a příkazy by měly umět zacházet se scripty od Solaris Management Console. Odezvy smuser nepatří k nejrychlejším...


Použití useradd - příklad

# useradd -u 105 -g other -d /export/home/newuser1 -m -s /bin/ksh -c "Regular User Account" novyuser1
64 blocks

vysvětlení:
u = UID, tedy 105
g = skupina, tedy other
d = domácí adresář
m = vytvoř domácí adresář
s = shell
c = komentář
novyuser1 = jméno uživatele

Pokud něco nezadáte, tak se doplní z defaultu. Default je uložen v /usr/sadm/defadduser. Pokud tam není, tak ho pomocí příkazu useradd -D vytvoříme a pak můžeme vesele editovat.

Po založení je účet bez hesla a zablokován. Jakmile mu pomocí příkazu passwd novyuser1 nastavíte heslo, bude funkční.


Použití userdel - příklad

userdel user

jak jednoduché :)
Pokud chcete smazat i domácí adresář a data v něm, tak použijte

userdel -r user



Použití usermod - příklad

usermod -m -d /export/home/usera -l usera novyuser1

Takže příkaz udělá změnu z loginu usera na novyuser1 a zároveň změní domovský adresář a vytvoří ho.

Pro představu ta samá změna ale při použití příkazu smuser

 /usr/sadm/bin/smuser modify -- -n novyuser1 -N usera -d /export/home/usera
Authenticating as user: root

Type /? for help, pressing  accepts the default denoted by [ ]
Please enter a string value for: password :: ********
Loading Tool: com.sun.admin.usermgr.cli.user.UserMgrCli from testik.iforce.cz
Login to testik.iforce.cz as user root was successful.
Download of com.sun.admin.usermgr.cli.user.UserMgrCli from testik.iforce.cz was successful.



Použití groupadd, groupmod, groupdel - příklad

Vytvoříme skupinu id 101 se jménem skupinaucetnich

groupadd -g 101 skupinaucetnich

Změníme název skupiny s id 101 na skupinasefu

groupmod -g 101 skupinasefu

Smažeme skupinu

groupdel skupinasefu

Všechny zde prováděné úkony můžete samozřejmě udělat i přes klikátko smc



Soubory ovlivňující proces přihlášení


Aby to nebylo jednoduché, vstupují do hry ještě následující soubory:
Pro shelly Bourne, Korn, a BASH je zde soubor /etc/profile, který se spouští při loginu

Pro C shell se spouští /etc/.login.


Uživatelské soubory ovlivňující proces přihlášení

Každý uživatel může mít ještě vlastní a to:
Bourne shell: $HOME/.profile
Korn shell: $HOME/.profile a $HOME/.kshrc
C shell: $HOME/.cshrc a $HOME/.login
Bash: $HOME/.bash_profile, $HOME/.bash_login, nebo $HOME/.profile.

Vzory konfiguračních souborů jsou v /etc/skel/.

Příkaz useradd nakopíruje soubory z /etc/skel do domácího adresáře.



Proměnné prostředí:

Vypíšete je příkazem env

MANPATH=:/usr/man:/usr/share/man:/opt/SUNWvts/man:/opt/SUNWexplo/man:/opt/CTEact/man
TERM=dtterm
SHELL=/usr/bin/bash
USER=root
...

jsou zde důležitá nastavení, která ovlivnují chování vašeho shellu, ale i programů, které pod ním spustíte.


Nastavení proměnných prostředí:
Nastavení terminálu pro Bash, Bourne a Korn

TERM=dtterm; export TERM

Pro C shell

setenv TERM dtterm