You are on page 1of 17

2016 - 2017

UNIX
UNIX
Unix root (/)
. , root-
usr, bin, sbin, home, var, boot, dev, etc, . , user1 user2
home. hello.txt , link_hello
hello.txt. /test/temp/hello.txt,
root(/) test temp
hello.txt.

1 UNIX


UNIX : owner
(), group others. ,
user ID
(UID) group ID (GID) 12 . ,
,
.

r, w x read, write execute owner, group


others . su, sg t set_user_id, set_group_id sticky .
4 . , 100
111 101 101 4755. su ,
, UID . ,
sg , GID
.

2016 - 2017
: ,
. ,
Terminal . ,
, Ctrl-Alt-F3. ,
Ctrl-Alt-F7.



http://www.tutorialspoint.com/unix_terminal_online.php.
README.txt, , vi vim .
$ vi README.txt


https://www.cs.colostate.edu/helpdocs/vi.html.



UNIX man . , GNU info
man. :
$ info
.
$ info ls
Mo Up Down PgUp PgDn.
q.
--help, .
2

2016 - 2017

ls
ls l ,
:



UID
GID


/

a .

id
id uid, guid,
.

id ime_korisnik , ,
.

id u ime_korisnik uid
, g ime_korisnik gid .
G ime_korisnik gid
. nu uid
, ng (-nG) uid ( ime_korisnik)
( ).

r .
who
$who
3

2016 - 2017

/etc/passwd
/etc/passwd cat less:
$cat /etc/passwd
$less /etc/passwd

, root
/etc/passwd, grep:

/etc/passwd -rw-r--r--, root.

/etc/group
, /etc/group cat less:
$cat /etc/group
$less /etc/group

2016 - 2017

/etc/group -rw-r--r--, root.

/etc/shadow /etc/gshadow
/etc/shadow /etc/gshadow ----------,
root.

Linux , pwconv (/usr/sbin/pwconv)


shadow passwd . pwunconv (/usr/sbin/pwunconv)
passwd shadow passwd , shadow . Linux
, grpconv (/usr/sbin/pwconv) gshadow
group . grpunconv (/usr/sbin/pwunconv) group
gshadow group , gshadow .
/etc/passwd /etc/shadow
pwck,
. , r
, .

2016 - 2017

/etc/group /etc/gshadow
grpck.


.
,

. .
useradd ( adduser) (
root ). userdel.
passwd user.
$ useradd test
test :
$ passwd test
Changing password for user test
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully
.
. ,
.
su user.
passwd :
passwd l (-u) user ,
! ( ).
ssh.
passwd e user ,

chage
. :
chage E 0 user - (
/etc/shadow ),
chage E -1 user never
chage l user

faillog ( /var/log/faillog)
.
, .
u user
, a .
faillog l sec sec

faillog m max - max .


6

2016 - 2017
0 ,
root , DoS
.
faillog r u user - () user
su (Set User) .
(/bin/su/), root ( root ).
root etc/ttys.

Set UserID Set GropID


Unix super-user OS,
super-user. Set
UserID Set GropID .
ID ,
,
. root e SUID
root . SUID
:
/bin/passwd
/bin/logi
/bin/at
/bin/su



(. Batch job submission)
UID


SUID ,
. SUID root.
SUID 3
root,
, root
.

chmod,
, super-user.

2016 - 2017

f , R

. ,
. .
. -rw-r--r--
chmod 644. , chmod 777.
.

u
g
o
a
permission ()

r
w
,
x
X

Set-user-ID Set-group-ID
s
( )
t
SUID
chmod 4555 file
chmod u+s file

suid
suid

chown , chgrp
. chown SUID
. SUID ,
. UNIX super8

2016 - 2017
user chown.

SUID SGID. chgrp.

:
$touch

chmod ,
.

chmod

2016 - 2017


, 666
777 .
umask. Umask
. umask 777
, umask 000 .

022
037
077

,
,

umask
umask[-S] [mask]
S . ,
umask.
umask /etc/profile .

umask /etc/profile,
profile, login .cshrc, UNIX .
cp
umask. mv (
), .
umask

$pwd -
$cd -

?
?
. cp
cp, (link, ln)

10

2016 - 2017
.
. rm
,
.
$ rm
.
, i
. :
$ rmdir
rmdir .
rm r ,
.
,
, .
, super-user neheck
, .
,
.
,
. ,
.
, ,
, .

Unix .
,
. mknod
root. /dev
:
/dev/console
/dev/mem
/dev/kmem
/dev/tty

11

2016 - 2017

student14@osanastava:~$ ls -l /dev/console
crw------- 1 root root 5, 1 2010-10-01 09:40
student14@osanastava:~$ ls -l /dev/mem
crw-r----- 1 root kmem 1, 1 2010-10-01 09:40
student14@osanastava:~$ ls -l /dev/kmem
crw-r----- 1 root kmem 1, 2 2010-10-01 09:40
student14@osanastava:~$ ls -l /dev/tty
crw-rw-rw- 1 root root 5, 0 2010-10-01 09:40

/dev/console
/dev/mem
/dev/kmem
/dev/tty

tty ,
, .
, root.
, .
, ,
.
, . ,
.
.
.
/dev
student14@osanastava:~$ ls
total 0
crw-rw---- 1 root video
drwxr-xr-x 2 root root
drwxr-xr-x 2 root root
lrwxrwxrwx 1 root root
hda
lrwxrwxrwx 1 root root
hda
drwxr-xr-x 2 root root
crw------- 1 root root
lrwxrwxrwx 1 root root
/proc/kcore
crw-rw---- 1 root root
cpu_dma_latency
drwxr-xr-x 5 root root
lrwxrwxrwx 1 root root
hda
lrwxrwxrwx 1 root root
/proc/self/fd
brw-rw---- 1 root floppy
crw-rw-rw- 1 root root
brw-rw---- 1 root cdrom
crw-rw---- 1 root root
prw------- 1 root root
drwxr-xr-x 3 root root
crw-r----- 1 root kmem

-l /dev/
10, 175
640
60
3

2010-10-01
2010-10-01
2010-10-01
2010-10-01

09:40
09:40
09:40
09:40

agpgart
block
bsg
cdrom ->

3 2010-10-01 09:40 cdrw ->


5,
10,

2380 2010-10-01 09:40 char


1 2010-10-01 09:40 console
11 2010-10-01 09:40 core ->
63 2010-10-01 09:40
100 2010-10-01 09:40 disk
3 2010-10-01 09:40 dvd ->
13 2010-10-01 09:40 fd ->

2,
0
1,
7
3,
0
10, 228
0
220
1,
2

2010-10-01
2010-10-01
2010-10-01
2010-10-01
2010-10-01
2010-10-01
2010-10-01

09:40
09:40
09:40
09:40
09:40
09:40
09:40

fd0
full
hda
hpet
initctl
input
kmem
12

2016 - 2017
...


.
,

,
.
.
ps
ps SUID root ,
,
ps root.
: -e (every process), -f (full listing) u (user).


13

2016 - 2017


,
.
Unix ,
, /.
mount. , ,
.
CD.
, ,
.
SUID root .
,
.
:
mount [-r] [-o options] device directory
r :
SUID SGID

Unix mount.
nosuid
noexec
nodev


Unix OS .

, .
,
PATH .profile
. ls a
more .profile .
,
. :

:.
., .

,
.
/bin/su
su.
.

14

2016 - 2017
1.
1. root
2. useradd user1 user2:
a. useradd user1 -g users
b. useradd user2 -g users
3. .
a. passwd user1
b. passwd user2
4. id . uid,
gid .
a. id user1
b. id user2
5.
a. mkdir /test
b. mkdir /test/temp
6. user1 root su
a. whoami
b. su user1
c. su OR su root OR exit
7. root
a. touch /home/user2/HelloWorld
b. ls l /home/user2/HelloWorld ( ?)
8.
a. chgrp users /home/user2/HelloWorld
b. chown user2:users /home/user2/HelloWorld
c. ls l /home/user2/HelloWorld ( ?)
2.
1. ls cd
a. cd /
b. ls l
c. ls -al /home
d. user1, user2 test?
e. user1 su user1
f. ls -al /home/user2 ( ?)
g. cd /home/user2 ( ?)
2. Change directory permissions of user2 directory and try again as user1.
a. su root
b. chmod 740 /home/user2
c. 1e 1g
d. su root
e. chmod 750 /home/user2
f. 1e 1g
g. touch /home/user2/hello12.txt ( ?)
h. su root
i. chmod 770 /home/user2
j. su user1
k. 2g.
l. ls l /home/user2
15

2016 - 2017
3. hello.txt, su ,
,
. , 12- hello.txt 100 111 101 100.
chmod:
a. chmod 4754 hello.txt
b. chmod u+srwx g+rx o+r hello.txt
c. chmod u=srwx, g=rx, o=r hello.txt

3.
Unix .
.
( shortcut
).
1. /test/temp/, root ,
(hello.txt) .
2. link_hello test folder
hello.txt temp
a. cd /
b. ln -s /test/temp/hello.txt /test/link_hello
3. cat /test/link_hello
4.
,
666. umask maska
. --
AND . 077 (
), 022 ( ,
root, 755,
644), 002 ( ,
,
775, 664), .
1. root.
2. umask .
a. umask
b. ? ?
c. cd /test
d. touch testmask1
e. ls -al
f. testmask1?
g. umask 0077
h. touch testmask2
i. testmask2?
3. su
a. which touch
b. ls l /bin/touch
c. chmod 4755 /bin/touch
d. ls l /bin/touch
e. ls l /home/user2
f. chmod 700 /home/user2/HelloWorld
16

2016 - 2017
g.
h.
i.
j.
k.
l.
m.
n.

ls l /home/user2 ( )
su user1
touch /home/user2/HelloWorld
ls l /home/user2 ( ?)
su root
chmod 0755 /bin/touch
su user1
touch /home/user2/HelloWorld

5.
1. su root
2. umask 0022
3. chmod 0755 /bin/touch
4. userdel user1
5. userdel user2
6. rm rf /home/user1
7. rm rf /home/user2
8. rm rf /test
9. rm rf /home/test/

17

You might also like