Vous êtes sur la page 1sur 16

Поглавље седмо

Administering the System

The following Linux Professional Institute objectives are covered in


this chapter:
1.107.1 Manage user and group accounts and related system files (weight: 5)
1.107.2 Automate system administration tasks by scheduling jobs (weight: 4)
1.108.1 Maintain system time (weight: 3)
1.108.2 System logging (weight: 2)

svakodnevni taskovi:
useri i grupe
logovi
tacno vreme, zakazivanje

Managing Users and Groups


multi-user
accounts
groups

Understanding Users and Groups


o imenima, prirodi grupa i sifriranju naloga i grupa

Understanding Linux Usernames


velika i mala slova, cifre, znaci interpunkcije
ne moze space (ovo: ), odnosno moze ali bolje izbegavati
ne sme cifra na pocetku
do 32 karaktera (8 realno)
pera i Pera su 2 naloga

Linking Users Together for Productivity via Groups


grupisemo naloge radi prava pristupa resursima (profesori i studenti)
/etc/group
default ili primarna grupa stoji u /etc/passwd, kreiranje fajlova, $
newgrp project2
chgrp, chown
kako clanstvo u grupi omogucava kontrolu ko sta vidi?

Mapping UIDs and GIDs to Users and Groups


UID, GID
uid: 0 root, 1-99 rez. za sistem, 100-499(999) spec, 500+(1000+)
obicni korisnici
zasto ne valja re-use uid-a obrisanog korisnika?
moze vise korisnika na isti uid (uid 0 hack)

Configuring User Accounts


retko kuci, cesto ako si admin na faksu, u firmi, itd
text based rula, GUI sucks donkey ass

Adding Users
useradd ili adduser
useradd [-c comment] [-d home-dir] [-e expire-date] [-f inactive-
days]
[-g default-group] [-G group[,...]] [-m [-k skeleton-dir] | -M]
[-p password] [-s shell] [-u UID [-o]] [-r] [-n] username
shadow
-c komentar, npr broj telefona
-d gde da mu bude homedir, /home/username je difolt
-e YYYY-MM-DD kad da istekne nalog
-f broj_dana ugasi nalog broj_dana nakon sto istekne vaznost
passworda
-g difoltna grupa
-G dodatne grupe
-m napravi homedir
-m nemoj da napravis homedir
-k lokacija iskopiraj sve sa lokacija u nastali homedir
-p zgodno za skripte, prosledi vec kreiran kriptovan pass
-s difoltni shell (trick: /sbin/shutdown)
-u zabodi uid (-o omogucava reuse)
-r napravi sistemski nalog
-n nemoj praviti grupu koja se zove isto kao i nalog (sto je difolt
na skoro svim distroima)

# useradd -d /home2/sally -g project4 -G project1,project4 -s


/bin/tcsh sally
# passwd sally

Modifying User Accounts


menjanje /etc/passwd
menjanje config fajlova u ~
koriscenje programa za editovanje naloga
zasto menjanje (selis homedir, ili mora neki custom trik koji nije
lako ostvariti automatski)
Setting a Password
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
-k ozivi istekli nalog
-l zabrana logina, lockovanje naloga (vidi se po ! ispred passworda u
/etc/shadow)
-u otkljucaj. Sa -f otkljucaj cak iako nije setovan password
-d ukloni password
-S info o passu
Using usermod
-d promeni homedir
-d -m promeni homedir i preseli fajlove iz starog u novi (izloguj ga
prvo)
-l kad se uda Milka promeni login iz mrodic u mladic
-L i -U lock i unlock
sta biva sa fajlovima kada promenis uid naloga?
-G moraju se dodati SVE grupe, bice ukinuto clanstvo u nenavedenim
grupama

Using chage
nalog moze isteci po 2 osnova: lozinka nije odavno menjana, ili je
prosao zacrtani datum
chage [-l] [-m mindays] [-M maxdays] [-d lastday] [-I inactivedays]
[-E expiredate] [-W warndays] username
-l prikazi
-m koliko minimum dana izmedju 2 promene lozinke
-M koliko maximum dana izmedju 2 promene lozinke
-d zacrtaj vestacki kad je poslednji put menjan pass
-I istekli nalog tera korisnika da promeni pass cim se uloguje. Posle
I dana nalog se nacisto zakljuca
-E nek nalog istekne tad i tad
-W koliko dana pre isteka ide upozorenje o skoroj propasti

Directly Modifying Account Configuration Files


/etc/passwd i /etc/shadow files
sally:x:529:100:Sally Jones:/home/sally:/bin/bash
Username
Password
UID
Primary GID
Comment
Home directory
Default shell (moze i /bin/shutdown, /bin/false, /bin/passwd)
/etc/shadow
sally:E/moFkeT5UnTQ:14069:0:-1:7:-1:-1:
Username
Password (* - nema passa, ! - lokovan)
Kako izmeniti zaboravljeni root pass? Dignes live cd,
mountujes hdd i izmenis pass u /etc/shadow za roota
(prekopiras hash od poznatog korisnika) ili obrises
pass (pa zadas novi cim rebootujes racunar).
Last password change (broj dana od pocekta UNIX epohe (1.jan 1970)
Days until a change is allowed
Days before a change is required
Days of warning before password expiration
Days between expiration and deactivation
Expiration date
Special flag (ceka se popuna)
vrednost -1 ili 99999 obicno znaci da nema limita. /etc/shadow se
najbolje edituje pomocu programa za to napravljenih.

joejoe@ubuntu:~$ ll /etc/passwd /etc/shadow


-rw-r--r-- 1 root root 1726 2009-11-19 12:23 /etc/passwd
-rw-r----- 1 root shadow 1376 2010-03-10 12:10 /etc/shadow

Network Account Databases


Network Information System (NIS), an update to this system called
NIS+, the Lightweight Directory
Access Protocol (LDAP), Kerberos realms, Windows NT 4.0 domains, and
Active Direc-
tory (AD) domains.
Dodavanje podrske na vec postojeci klasicni linuks server podrazumeva
izmenu /etc/nsswitch.conf i fajlova u /etc/pam.d

Deleting Accounts
On the surface, deleting user accounts is easy. You may use the
userdel command to do
userdel
-r
-f -r obrisi ga iako je ulogovan
-h
# find / -uid 529 (vazno pobrisati sve userove fajlove da ne bi onaj
ko nasledi njegov uid imao problema)

Configuring Groups

Adding Groups
groupadd [-g GID [-o]] [-r] [-f] groupname
-g zabodi gid
-r gid manji od 500
-f pregazi postojecu
Modifying Group Information
Using groupmod and usermod
groupmod [-g GID [-o]] [-n newgroupname] oldgroupname
-g daj grupi novi gid
-g -o daj grupi novi gid, isti onaj koji ima jos neka grupa
-n daj novo ime grupi
# groups sally
users project4
# usermod -G users,project1,project4 sally <ili> # gpasswd project1
sally

Using gpasswd
gpasswd [-a user] [-d user] [-R] [-r] [-A user[,...]] [-M user[,...]]
group
-a dodaju usera grupi
-d obrisi usera iz grupe
-R brani ikome da se prozove clanom grupe komandom newgrp
-r uklanja pass sa grupe
-A pera,mika,laza proglasava admine te grupe
-M dodaje usere adminima te grupe
Bez bilo kakvih opcija ovako se zadaje password na grupu, pa posle
svako moze da sa newgrp postane privremeno clan grupe, samo ako zna
password. (nekad negde ne radi kako treba :|

Directly Modifying Group Configuration Files


/etc/group
project1:x:501:sally,sam,ellen,george
Group name
Password
GID
User list
Deleting Groups
groupdel project3 (odbija da brise ako je to neca primarna grupa)
# find / -gid 503

Tuning User and System Environments


/etc/bash.bashrc
/etc/profile vs. /etc/skel/*
~/.profile
~/.bashrc
~/.bash_profile
$EDITOR
env | less
Using System Log Files
syslogd

Understanding syslogd
syslogd (sysklogd)
klogd
syslog-ng
metalog
rsyslogd
/etc/syslog.conf
/etc/rsyslog.conf

Setting Logging Options


(#) komentari.
normalne linije:
facility.priority action
facility: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news,
security, syslog, user, uucp i local0 through local7 (*)
priority: debug, info, notice, warning, warn, error, err, crit,
alert, emerg, and panic
=crit
!crit
*
action: /var/log/imelogfajla (messages, syslog, secure),
/dev/console, @udaljeniservi, pera ili *

Primeri:
mail.* /var/log/mail
*.emerg *

kern.* /var/log/kernel
kern.crit @logger.pangaea.edu
kern.crit /dev/console
kern.info;kern.!err /var/log/kernel-info

Manually Logging Data


logger [-isd] [-f file] [-p pri] [-t tag] [-u socket] [message ...]
-i daj pid loggera
-s daj ispis na stderr
-d koristi udp umesto tcp
-f loguj fajl
-p koji prioritet
-t zameni difoltni loggerov tag svojim
-u umesto normalnim kanalim sam otvori socket preko mreze za
logovanje
Poruka se kuca odmah iza sviceva ili na sledecim linijama (^D za
prekid logovanja)

Primer:
$ logger shutting down for system maintenance
rezultat u /var/log/messages:
Jul 29 14:09:50 nessus logger: shutting down for system maintenance
zgodno za skripte

Rotating Log Files


Listing7.1: Sample /etc/logrotate.conf File
# Rotate logs weekly
weekly
# Keep 4 weeks of old logs
rotate 4
# Create new log files after rotation
create
# Compress old log files
compress
# Refer to files for individual packages
include /etc/logrotate.d
# Set miscellaneous options
notifempty
nomail
noolddir
# Rotate wtmp, which isn't handled by a specific
program
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
rotate daje imena kao messages.1 ili dateext daje messages-20091005
compress znaci gzipuj (ili neki drugi metod odredjen komandom
compresscmd, ima i compressoptions)
create option
copytruncate option
The daily, weekly, and monthly options
size 100k
For instance, size 100k causes logrotate to rotate the file when it
reaches 100KB in size.
rotate 2 daju /var/log/messages.1, /var/log/messages.2,
/var/log/messages
mail pera@lozac.com salje izbaceni log na mail, nomail ga brise

Reviewing Log File Contents


less, grep, head, tail -f
http://sourceforge.net/projects/sentrytools

Apr 14 23:17:00 speaker /USR/SBIN/CRON[6026]: (george) CMD (/usr/bin/


fetchmail -f /home/george/.fetchmailrc > /dev/null)
Apr 14 23:17:52 speaker sshd[6031]: Accepted publickey for george
from ::ffff:192.168.1.3 port 48139 ssh2
kada fale linije u logu to je jos i vise poziv na alarm nego ako
se pojave neke nepredvidjene

Maintaining the System Time

Linux Time Concepts


hardware clock (multi os i local time)
software clock
Coordinated Universal Time (UTC) === Greenwich Mean Time (GMT) -
Daylight Saving Time

Manually Setting the Time


date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
3:02 pm on October 27, 2009:
# date 102715022009
hwclock [options]
-r prikazi lokalno vreme prevevsi hwclock vreme
--set i istovremeno --date=newdate
--systohc
--hctosys

Using NTP

Understanding NTP Basics


stratum 0 time servers
stratum 1 time servers (NTP servers)
stratum 2 servers
stratum 3 servers
...
Konkurencija NTPu su SMB/CIFS i rdate
ntp.drift file

Locating a Time Source


http://support.ntp.org/bin/view/Servers/WebHome
pool.ntp.org
http://support.ntp.org/bin/view/Servers/NTPPoolServers

Configuring NTP Servers


ntp, xntp, ntpd, xntpd (http://www.ntp.org/downloads.html)
server clock.example.com
server ntp.pangaea.edu
server time.luna.edu
ntpq

Configuring NTP Clients


# ntpdate clock.example.com
Serving Time to Windows Systems
NET TIME /SETSNTP:time.server
Windows 9x/Me systems, you can type NET TIME \\SERVER /SET /YES
Running Jobs in the Future
brisanje /tmp/*
cron daemon vs cron jobs
at

Understanding the Role of cron


/var/spool/cron
/etc/cron.d
/etc/crontab
system cron jobs vs user cron jobs
user input

Creating System cron Jobs


/etc/crontab
02 4 * * * root run-parts /etc/cron.daily
minut sat dan mesec danUnedelji account komanda
*
0,3,4,7,8
3-5
*/10
run-parts, cronloop
monthly, daily, weekly, and hourly system cron jobs -
/etc/cron.INTERVAL

Creating User cron Jobs


crontab utility vs /etc/crontab configuration file
crontab [-u user] [-l | -e | -r] [file]
-l
-r
-e
VISUAL or EDITOR environment variable
crontab -u tbaker my-cron
Listing7.2: A Sample User cron Job File
SHELL=/bin/bash
MAILTO=tbaker
HOME=/home/tbaker
0,30 * * * * /usr/bin/fetchmail -s
0 2 * * mon /usr/local/bin/clean-adouble $HOME
/var/spool/cron
/var/spool/cron/tabs ( /var/spool/cron/tabs/tbaker )
/var/spool/cron/crontabs
cron grupa
/etc/cron.allow
/etc/cron.deny

Exercise7.2 guides you through the process of creating user cron


jobs.
1. Log into the Linux system as a normal user.
2. Launch an xterm from the desktop environment's
menu system, if you used a GUI login method.
3. Create and edit a file called cronjob in your
home directory. Use your favorite text editor for
this purpose. The file should contain the following
lines:
SHELL=/bin/bash
MAILTO=yourusername
00 12 * * * /sbin/ifconfig
Be sure to type these lines exactly; a typo will
cause problems.
4. Type crontab cronjob to install the cronjob
file as a cron job. Note that this command replaces
any existing user cron jobs that may exist. If you've
already defineduser cron jobs for your account, you
should edit your existing cronjob file to add theline
calling ifconfig rather than create a new file.
5. Wait for 12:00 noon ( 00 12 in the cron time
format). When this time rolls around, youshould have
a new email waiting for you with the contents of the
ifconfig output.
Using anacron
anacron (http://anacron.sourceforge.net)
/etc/anacrontab
period delay identifier command
na koliko dana se ima izvrsiti komanda
koliko je hitan posao? Koliko moze da priceka da se ostali izvrse?
zgodno ime za komandu
komanda
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# format: period delay job-identifier command
1 5 cron.daily run-parts /etc/cron.daily
7 10 cron.weekly run-parts /etc/cron.weekly
30 15 cron.monthly run-parts /etc/cron.monthly

SysV startup script


/etc/rc.d/rc.local
/etc/boot.d/boot.local
ili iz crona (ha!)

Using at
at 4pm
at noon
at midnight
at teatime
4:00 p.m.).
at MMDDYY, MM/DD/YY or DD.MM.YY or month-name day or month-name day
year.
at now + 2 hours
at -f spisak_komandi_da_se_izvrsi_u_podne.txt noon
atq
atrm
batch (.8)
/etc/at.allow and /etc/at.deny
Pitanja za poglavlje sedmo

1. Koja su ogranicenja za imena naloga?


2. Cemu UID i GID, zasto nisu dovoljan samo imena?
3. Cemu grupe?
4. Ako je user mitar a njegova primarna grupa miric, i user mitar
napravi fajl koji se zove 988, ko ce biti vlasnik tog fajla, a
ko vlasnicka grupa?
5. Kako mitar da promeni stvari tako da vlasnicka grupa sledecih
fajlova koje on napravi ne bude miric, nego renome? (Napomena,
mitar pripada i grupi miric i renome)
6. Da li moze vise korisnika da koristi isti UID?
7. Da li korisnik mitar koji ima uid 0 moze da obrise / ?
8. Ko je jaci, korisnik chuck_norris (uid 501) ili mitar (uid 0)?
9. Dodaj usera mitar ali tako da mu je homedir u
/rs/bijeljina/ugljevik i da mu je primarna grupa renome.
10. Kako bi glasio odgovor na prethodno pitanje ako se trazi da
mitar ne moze da se loguje na sistem, vec samo da koristi
servise kao sto su pop3 i smtp, sta da stavimo za njegov
defaultni shell?
11. Lokuj nalog mitar.
12. Sta sve pise u /etc/passwd?
13. Sta sve pise u /etc/shadow?
14. Kakve permisije moraju biti na ta 2 fajla da bi sistem
radio?
15. Sta su Network Account Databases?
16. Obrisi samo nalog mitar, nek ostanu svi fajlovi, treba nam
kao dokaz za policiju.
17. Obrisi nalog mitar i njegov homedir.
18. Obrisi nalog mitar i sve njegove fajlove.
19. Kako da udaris passwd na grupu renome?
20. Ja nisam clan grupe renome, ali sam saznao koji je njen
pass. Da li ja mogu da se pomocu newgrp premetnem u clana?
21. Kako dodati usera stoja u grupu renome?
22. Hocu da obrisem grupu grand, da li je bolje da je uklonim
iz /etc/group ili da koristim program groupdel? Zasto?
23. Kako se zove paket koji instalira demone za sistemsko
logovanje?
24. Koje su moderne alternative tom paketu?
25. Kako se zove demon za sistemsko logovanje?
26. Kako se zove njegov konfiguracioni fajl?
27. Kako se zove demon za logovanje kernel poruka?
28. Sta je facility?
29. Koji su sve predvidjeni?
30. Sta je priority?
31. Koji su sve predvidjeni?
32. Hoce li panic events biti logovani ako pise *.!err ?
33. Hoce li panic events biti logovani ako pise *.=err ?
34. Koji su isti?
35. Koji su deprecated?
36. Sta je selector?
37. Sta sve moze biti action?
38. Objasni razliku ako za action pise /dev/console i ako pise
*
39. Cemu idealno sluzi program logger?
40. Objasni koncept rotiranja logova.
41. Sta u /etc/logrotate.conf znace direktive: monthly, rotate
50, compress, nomail, size 1G?
42. Koja je razlika izmedju opcija create i copytruncate?
43. Cemu sluze prerotate i postrotate skripte?
44. Koja je prednost slanja logova u realnom vremenu na
udaljeni log server?
45. Kako gledati u realnom vremenu novi sadrzaj loga koji se
brzo menja?
46. U kojoj vremenskoj zoni je uvek hwclock?
47. U kojoj vremenskoj zoni je uvek swclock?
48. Kako ocitati vreme?
49. Kako naviti casovnik?
50. Kako ocitati vreme u nekoj drugoj timezone?
51. Kako promeniti timezone na linux hostu?
52. Kako radi NTP?
53. Podesi casovnik pomocu rdate komande. Koji si casovnik
upravo podesio?
54. Koji se to poslovi odvijaju redovno i uvek na isti nacin,
automatski, daj primere?
55. Sta je crond a sta su cron jobs?
56. Koja je razlika izmedju sistemskih i user cron jobova?
57. Kako korisnik da pruzi input cron jobu?
58. Kako bi izgledala linija u cronu koja svaki dan, na svakih
15 minuta proveri velicinu dira /home i posalje rootu mail o
tome?
59. Koja je razlika izmedju /etc/crontab i crontab programa?
60. Kako da podesis koji ce editor da se otvori kad zadas
crontab -e?
61. Da li je bolje napraviti fajl koji ce predstavljati poslic
za crontab ili pisati komande sa crontab -e?
62. Cemu sluzi anacron?
63. Kako je najbolje upaliti anacron?
64. Ako anacron preuzme daily, weekly i monthly cron poslove
sta ce cron da radi?
65. Cemu sluzi at?
66. Kako proveriti da li je upaljen demon koji opsluzuju at
poslove?
67. Kako videti zadate at poslove i otkazati posao pod brojem
13?
68. Cemu sluzi batch, i koja je razlika u odnosu na at?

Vous aimerez peut-être aussi