네트워크보안 수업 6일차-코리아 정보보안 IT학원

2016. 3. 4. 14:03네트워크 보안 수업/리눅스

반응형

권한(permission)


#> ls -l file1

-rw-r--r-- 1 root root 0  3월  4 14:08 file1


- rw-r--r-- 1 root root 0   3월  4 14:08 file1

- --------- - ---- ---- - ------------ -----

1    2 3  4    5 6     7  8


1: file type

- : 일반 파일

d : 디렉토리 파일

l : 링크 파일

b,c : 장치 파일


2: permission


3: 링크 파일의 갯수


4: 파일의 소유자


5: 파일의 소유그룹


6: 파일의 크기


7: 파일의 생성 시간


8: 파일의 경로



subject : user process --------------- object  : file

 action3가지


파일의 권한


-r : read

-w : write

-x : excute


rw- r-- r--

--- --- ---

1 2 3


1: 소유자(user)


2: 소유그룹(group)


3: 그외(other)


파일의 권한 수정: chmod

-파일의 소유자와 root사용자만이 해당 파일의 권한을 수정


1. 심볼릭 방식(symbolic)

#> chmod <path>

u + r

g - w

o = x


ex) user에게는 실행권한을 추가, 그외 사용자는 어떠한 권한도 주지 않는다.

#> chmod u+x,o-r file1

#> ls -l file1

-rwxr----- 1 root root 0  3월  4 14:08 file1


ex) 사용자와 사용그룹은 읽고, 쓸수 있는 권한이 있고 그 외 사용자는 읽기만 가능.

#> chmod u=rw,g=rw,o=r file1

#> ls -l file1

-rw-rw-r-- 1 root root 0  3월  4 14:08 file1


2. 옥탈(octal): 8진법으로 권한을 표시


--- --- ---

u   g   o

000 000 000


rw- r-- r--

--- --- ---

110 100 100

--- --- ---

6   4   4


000: --- --- ---

100: --x --- ---

110: --x --x ---

111: --x --x --x

211: -w- --x --x

777: rwx rwx rwx

r: 4

w: 2

x: 1

ex) 사용자는 모든 권한을 가지고 있고, 사용그룹과 그외 사용자는 읽기 권한만을 갖는다.

#> chmod 744 file1

#> ls -l file1

-rwxr--r-- 1 root root 0  3월  4 14:08 file1


기본권한: umask


-0022(default)


-일반 파일: -rw-r--r--

666-022 = 644


-디렉토리 파일: drwxr-xr-x 

777-022 = 755


[실습]: 실행권한 확인


#> cd /tmp

#> cp /usr/bin/cat .


#> ./cat /etc/passwd

...


#> chmod 644 ./cat

#> ls -l ./cat

#> ./cat /etc/passwd

-bash: ./cat: 허가 거부


[실습]: 쓰기 권한 확인(일반 사용자)


#> touch file1

#> chmod 444 file1

#> ls -l file1

#> vi file1


사용자, 그룹 관리 명령어


- /etc/passw

- /etc/shadow

- /etc/group


1. 사용자 추가


#> useradd <user_name>


- user01 사용자 추가

#> useradd user01


사용자는 생성과 동시에 그룹도 생성

사용자는 해당 사용자 그룹에 자동으로 가입


#> passwd <user_name>

#> passwd user01


2. 사용자 확인


#> cat /etc/passwd

#> tail -t /etc/passwd

...

user01:x:1000:1000::/home/user01:/bin/bash


user01:x:1000:1000: :/home/user01:/bin/bash

------ - ---- ---- ----- ------------ ---------

 1    2   3   4     5         6          7


1: user name


2: user passwd


3: uid(user id) uid가 0번이면 root로 취급

4: gid(group id)


5: comment


6: user home directory


7: user shell


3. 사용자 수정 : usermod


-/etc/passwd 파일을 직접 수정


ex) 다른 그룹에 추가(/etc/group)


[실습]: 사용자 추가


-기본그룹

#> useradd user02 -c 'test account' -d /user02 -g /user02 -g 1000 -M -s /bin/sh -u 2000

#> tail -2 /etc/passwd

user01:x:1000:1000::/home/user01:/bin/bash

user02:x:2000:1000:testaccount:/user02:/bin/sh


#> tail -2 /etc/group

sshd:x:74:

user01:x:1000:



-추가그룹

#> useradd user02 -c 'test account' -G 1000 -u 3000

#> tail -3 /etc/passwd

user01:x:1000:1000::/home/user01:/bin/bash

user02:x:2000:1000:testaccount:/user02:/bin/sh

user03:x:3000:3000:test account:/home/user03:/bin/bash

#> tail -5 /etc/group

postdrop:x:90:

postfix:x:89:

sshd:x:74:

user01:x:1000:user03

user03:x:3000:


[실습]: 사용자 수정


#> usermod -c 'modify account' user03

#> tail -3 /etc/passwd

user01:x:1000:1000::/home/user01:/bin/bash

user02:x:2000:1000:testaccount:/user02:/bin/sh

user03:x:3000:3000:modify account:/home/user03:/bin/bash


4. 사용자 삭제 : userdel


#> userdel <user_name>


-홈디렉토리가 존재하지 않는 경우

#> userdel user02


-홈 디렉토리가 존재하는 경우

#>userdel user03

or

#> userdel -r user03


5. 사용자 설정 파일


- /etc/skel/* 파일들을 사용자의 홈 디렉토리로 복사


[실습]: 명령어를 사용하지 않고 사용자 생성


- user name : user02(2000)

- group name : user02(2000)


1. 기본그룹생성 

#> vi /etc/group

...

user02:x:2000

:wq!


2. 사용자 생성

#> vi /etc/passwd

...

user02:x:2000:2000:manual user:/home/user02:/bin/bash

:wq!


3. 사용자 홈 디렉토리 생성

#> mkdir /home/user02


4. 사용자 설정 파일 복사

#> cp /etc/skel/.* /home/user02


5. 확인

#> id user02

반응형