Programy pro práci s uživateli a skupinami
Tyto prográmky umožnují editovat uživatele, přidávat je do skupin, vytvářet, rušit , blokovat a zjištovat o nich informace.
OBSAH
Uživatelé a skupiny
Adduser
CHsh
Vipw
PW
Whoami
Who
W
Id
Logname
Users
Groups
Chgrp
Last
Stat
Finger
Passwd
Ac
Skupiny-ruční editace
Adduser
parametry
d cesta | nevytvoří home adresář v defaultní cestě (/home), ale ve vámi definované |
D | nezkouší vytvořit domovský adresář |
E | zablokuje účet -odblokovat se nechá příkazem pw unlock uživatel |
f soubor | načítá údaje pro vytváření účtů ze souboru -podívejte se do manu pro specifikaci formátu souboru |
g | výchozí skupina-defaultně je výchozí skupina stejná jako jméno uživatele |
G | další skupiny jichž je uživatel členem |
h | vytiskne souhrné nastavení |
k adresář | zkopíruje soubory z daného adresáře do vytvářeného domovského adresáře (soubory něco.přípona budou přejmenovány na .přípona) |
m soubor | pošle novým uživatelů zprávu obsaženou v tomto souboru |
N | nečte defaultní konfigurační soubor |
q | tichý režim-minimální dotazy na uživetele |
s shell | defaultní shell pro uživatele (musí být platný), definuje se jen názvem shelu , nebo celou cestou |
S shell | neověřuje, jestli je zadaný shel platný |
u | použije toto UID nebo vyšší |
v typ | specifikuje typ hesla
no vypne heslo
none prázdné heslo
yes vyžaduje heslo
random vygeneruje se náhodné heslo-toto se vypíše na standartní výstup |
přidání uživatele-zepta se to na nekolik veci,jako je heslo atd,na konec potvrdit
adduser jmeno_usera
CHsh
editace uživatele. Otevře ve výchozím editoru (defaultně je to vi) uživatelské nastavení .
chsh user
poznámka- pokud z toho nebudete umět vyskočit použijte
ESC,:wq pro zápsání změn nebo
ESC,:q! pro opuštění beze změn
Vipw
vipw - edituje soubor s hesly pomocí editoru vi
Pw
pomocí tohoto programu můžeme editovat uživatele
na začátek spustíme příkaz
pw adduser -D
který vytvoří konfigurační soubor
/etc/pw.conf , který při zadávání nového uživatele čte a automaticky nastavuje dané vlastnosti.
Příklad souboru
# /etc/pw.conf - user/group configuration defaults
# Password for new users? no=nologin yes=loginid none=blank random=random
defaultpasswd = "yes"
# Reuse gaps in uid sequence? (yes or no)
reuseuids = "yes"
# Reuse gaps in gid sequence? (yes or no)
reusegids = "yes"
# Path to the NIS passwd file (blank or 'no' for none)
nispasswd =
# Obtain default dotfiles from this directory
skeleton = "/usr/share/skel/"
# Mail this file to new user (/etc/newuser.msg or no)
newmail = "no"
# Log add/change/remove information in this file
logfile = "/var/log/userlog"
# Root directory in which $HOME directory is created
home = "/home"
# Colon separated list of directories containing valid shells
shellpath = "/bin"
# Comma separated list of available shells (without paths)
shells = "sh","csh","tcsh"
# Default shell (without path)
defaultshell = "csh"
# Default group (leave blank for new group per user)
defaultgroup = "guest"
# Extra groups for new users
extragroups = "mail"
# Default login class for new users
defaultclass = ""
# Range of valid default user ids
minuid = 1000
maxuid = 32000
# Range of valid default group ids
mingid = 1000
maxgid = 32000
# Days after which account expires (0=disabled)
expire_days = 0
# Days after which password expires (0=disabled)
password_days = 0
pw má příkazy
user a group
k ním se přidávají akce
add, del, mod, show, next
čímž vznikají kombinace např: useradd, groupmod, usershow, atd.
POZOR-aby to bylo co nejvíc blbuvzdorný, je možno použít
showuser, usershow, show user, user show
a vše je jeden a ten samý příkaz
parametry příkazu
-C /cesta/soubor | bude vytvářet uživate podle jiného konfigu než defaultní v /etc/pw.conf |
-q | potlačí chybové hlášky |
-n jmeno | specifikuje uživatele |
-u číslo | nastaví číslo UID |
-c popis | dodatečné info k účtu. Je dobrý jej zapsat do apostrofů |
-d /cesta/soubor | nastaví se jiný home adresář než defaultní |
-e datum | nastaví do kdy je účet platný ve formátu dd-mmm-yy |
-p datum | nastaví do kdy je heslo platné ve formátu dd-mmm-yy |
-g skupina | nastaví pro účet primární skupinu |
-G seznam skupin | seznam skupin, jich bude uživatel členem, oddělují se čárkou |
-m | vytvoří domovský adresář v defaultním umístnění |
-s seznam shelů | nastaví jaké bude uživatel používat shelly, oddělují se čárkou |
zvláštní parametry příkazu adduser-platné pouze s parametrem D
tyto parametry nastavují volby v /etc/pw.conf, ale je lepší je editovat ručně
-D | vytvoří defautní config v /etc/pw.conf |
-b /cesta/soubor | nastaví se jiný home adresář než defaultní |
-u min,max | nastaví max a min UID, které se budou přiřazovat |
-i min,max | nastaví max a min GID, které se budou přiřazovat |
zvláštní parametry příkazu userdel
-r | smaže uživatelův home adresář a veškerý jeho obsah |
zvláštní parametry příkazů group
-n jmeno | specifikuje uživatele |
-g skupina | nastaví pro účet primární skupinu |
-M seznam uživatelů | vloží do skupiny dané uživatele, oddělujeme je čárkou |
-m nový uživatel | vloží do skupiny nového uživatele |
zvláštní parametry příkazů groupmod
-l jmeno | povolí změnit jména všech existujících skupin na jméno za parametrem |
Příklad použití
vytvoří uživatele, jeho domovský adresář a k účtu přidá celé jméno
pw adduser jarda -m -c 'jarda votruba'
odstraní jardovi domovský adresář
pw deluser jarda -r
zobrazí jardovo údaje z /etc/passwd
pw showuser jarda
zobrazí jardovo údaje v lidštější podobě
pw showuser jarda -P
zobrazí všechny údaje všech účtů z /etc/passwd
pw showuser -a
přidání nové skupiny
pw addgroup networking
ukáže všechny členy skupiny wheel
pw showgroup wheel
přidání uživatele jarda do skupiny wheel
pw modgroup wheel -M jarda
odblokování zablokovaného uživatele
pw unlock uživatel
pw příkaz použitý ve scriptu
#! /bin/sh
pw adduser tom -m -c testing -h 0 <<EOD
water
EOD
water je heslo přiřazené uživateli tom
Whoami
vypíše aktuální identifikaci (login) uživatele
Who
vypíše jak jste aktuálně přihlášen(stejné jako
logname )
POZOR-pokud jste se přihlásili jako "votruba" a pak příkazem
su změnili uživatele na "petr" , tak příkaz
whoami
vypíše "petr", ale příkaz
who vám vypíše "votruba"
who
W
aktuálně přihlášení uživatelé
w
6:27AM up 112 days, 20:49, 2 users, load averages: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE WHAT
root v0 - 13Mar08 14days -csh (csh)
votruba p0 jarda.testovaci. Mon02PM - w
Id
vypíše informace o uživateli (UID, GID, skupiny)
parametry
be parametru | informace o aktuálním uživateli |
G | vypíše členství ve všech skupinách pro uživatele (kombinovat s parametrem n) |
P | výpis pro uživatele ve formátu passwd |
p | výpis pro uživatele v přehledné podobě |
u | výpis uživatelova ID |
g | výpis uživatelova GID |
výpis aktuálně přihlášeného uživatele
id
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
výpis skupin pro daného uživatele
id -G -n votruba
votruba wheel
výpis pro uživatele ve formátu passwd
id -P votruba
votruba:$1$h6PaEuTC$TmrApnKM1uoVA6WNbpzq4.:1001:1001::0:0:User &:/home/votruba:/bin/sh
výpis pro uživatele v přehledné podobě
id -p votruba
uid votruba
groups votruba wheel
výpis uživatelova ID
id -u votruba
1001
výpis uživatelova GID
id -g votruba
1001
výpis pro daného uživatele
id votruba
uid=1001(votruba) gid=1001(votruba) groups=1001(votruba),0(wheel)
Logname
vypíše aktuálně přihlášeného uživatele
logname
votruba
Users
vypíše kdo vše je aktuálně přihlášen
users
Groups
Příklady
dotaz na aktuálně přihlášeného uživatele
groups
výsledek
wheel operator
dataz na jiného uživatele
groups votruba
Chgrp
změna skupiny u souborů
příklady
změní skupinu souboru text.txt na skupina2
chgrp skupina2 text.txt
Last
Kdo se naposledy připojil
bez parametru | kompletní informace |
h | filtr podle IP adresy |
t | filtr podle konzole |
uživatel | výpis přihlášení daného uživatele |
reboot | virtuální uživatel reboot-vypíše kdy byl poslední restart stroje |
příklady
výpis všech uživatelů
last
votruba | ttyp2 | 192.168.0.92 | Tue Nov | 4 12:48 | still logged in |
votruba | ttyp0 | 192.168.0.9 | Tue Nov | 4 10:56 - 13:22 | (02:25) |
votruba | ttyp0 | 192.168.0.92 | Mon Nov | 3 10:31 - 08:38 | (22:07) |
výpis pro jednu IP
last -h 192.168.0.92
votruba | ttyp2 | 192.168.0.92 | Tue Nov | 4 12:48 | still logged in |
votruba | ttyp0 | 192.168.0.92 | Mon Nov | 3 10:31 - 08:38 | (22:07) |
výpis pro jednu konzoli
last -t ttyp2
votruba | ttyp2 | 192.168.0.92 | Tue Nov | 4 12:48 | still logged in |
poslední restart stroje
last reboot
wtmp begins Mon Nov 3 07:55:15 CET 2008
Stat
vypíše obsah inodu (vlastník, poslední změna souboru a inodu, velikost, přístupová práva, atd.)
Výpis příkazu
83951360 100 crw--w---- 1 votruba tty 100 0 "Jun 25 13:10:16 2008" "Jun 25 13:10:16 2008" "Jun 25 13:10:16 2008" "Jan 1 00:59:59 1970" 4096 0 0 (stdin)
Finger
informace o uživateli nebo výpis přihlášených uživatelů na daném stroji
Výpis příkazu
finger votruba
Login: votruba Name: User Votruba
Directory: /home/votruba Shell: /bin/sh
On since Mon Jun 23 14:19 (CEST) on ttyp0 from 192.168.0.92
No Mail.
No Plan.
Passwd
su <uživatel> - přihlásí na uživatele "uživatel"(žádá heslo, pokud jste root a přihlašujete se na jiného usera, heslo nechce)
passwd - změna hesla
Příklad
passwd votruba
Změna hesla roota:
příkazem
su se přihlásíme jako root a pak příkazem
passwd změníme heslo.
pokud jsme jej zapoměli a nemůžem se přihlásit, můžem si jej změnit i bez znalosti starého hesla
1) vybrat při bootu user mod
2)
/bin/sh && mount -t ufs –a && passwd
Ac
je program který vypíše jak dlouho je celkem který uživatel přihlášen ke stroji ( v hodinách)
příklady
ac
total 70.68
ac -p
votruba 70.56
total 70.56
Skupiny-ruční editace
přidaní skupiny
přidat řádek do
/etc/group
smazani skupiny
smazat radek v
/etc/group
přidaní uživatele do skupiny
v
/etc/group najít skupinu a připsat na konec řádku uživatele,uživatele se oddělují čárkou
vymazani uživatele ze skupiny
v
/etc/group najit skupinu a smazat uživatele,uživatele se oddělují čárkou