6. 권한

강의노트/리눅스 2017. 8. 29. 00:47

# 권한

drwx------.

 itcom itcom

 허가권(permission) + 소유권(ownership) = 권한



1. 허가권 (permission) - 9자리

r  w  x

r  w  x

r  w  x

 

파일의형식

owner의 허가권

group의 허가권

other의 허가권

 

d : 디렉토리

(소유자,사용자)

(그룹)

(일반사용자)

 

- : 파일

4  2  1

4  2  1

4  2  1

 

권한값(8진수)

7 x 100

7 x 10

7 x 1

777

r   

 읽기(4,read)

 - x가 파일에 있을경우 실행의 의미
 - x가 디렉토리에 있을경우 접근의 의미
  (디렉토리는 접근이 되어야만 안에있는 파일들을 읽거나 쓸수있다.)

 - 디렉토리 이용시 x > r > w 순서로 권한이 필요함

w   

 쓰기(2,write)

x   

 실행,접근(1,execute)


2. 허가권변경 (change modification)

- 허가권 변경방식
 1) numeric method : 숫자형태로의 변경
 2) symbolic method : 문자형태로의 변경


 chmod [permission] [변경할파일/디렉토리]

 owner: u, group: g, other: o

623

r w -

- w -

- w x

356

- w x

r - x

r w -

 

u-r

g+r

o+r

 

 u+x

g-w

o-x

 

 

g+x

 


chmod 623 inittab  

chmod u-r,u+x,g+r,g-w,g+x,o+r,o-x inittab
chmod u-r+x,g+rx-w,o+r-x inittab


(예제)

http://192.168.137.128 (리눅스주소) -> html파일 나옴

/var/www/html/ 에 html 파일 생성

실습1) /var/www/html/index.html 권한변경
rw- r-- r--  (numeric변경)
-w- r-- r--  (numeric변경)
r-- r-- r--  (symbolic변경)
rw- --- r--  (symbolic변경)
rw- r-- ---  (symbolic변경) : 안나옴, other의 r권한없음

실습2) /var/www/html 권한변경
rwx r-x r-x  (numeric변경)
-wx r-x r-x  (numeric변경)
r-x r-x r-x  (numeric변경)
rw- r-x r-x  (numeric변경)
rwx --x r-x  (symbolic변경)
rwx r-- r-x  (symbolic변경)
rwx r-x --x  (symbolic변경)
rwx r-x r--  (symbolic변경) : 안나옴, other의 x권한없음으로 접근이안됨

r : 파일=cat
    디렉토리=ls

홈디렉토리권한은 기본적으로 700
일반디렉토리는 755
/export/home/itcom :  itcom : itcom

700
600
500
400
300
200
100
000

ftp접속: x
업로드:  w

 

3. 소유권변경 (change ownership)


 chown UID:GID [변경할파일/디렉토리]

 chown itcom grub.cfg

 UID,GID 지정없이 사용할경우 UID만 변경

 chown itcom:itcom inittab

 UID, GID 모두변경

 chown itcom:root login.defs

 UID, GID 다르게변경

 ● 소유권변경시: 대신에 . 을 대체 사용할 수 있음

  . 을 앞에 사용하면 GID만 변경

 chown .itcom grub.cfg

  . 을 뒤에 사용하면 UID,GID 모두 변경

 chown itcom. inittab



/var/www/html 과 /export/home/itcom/html 허가권, 소유권을 항상 동일하게 셋팅

1.ftp접속이 되는가? /export/home/itcom/ 의 rwx------ t
2.html디렉토리가 보이는가?
3.html디렉토리로 이동이되는가? x
4.data upload가 되는가? w
5.site 출력이 되는가?
 other  group  owner  owner,group(UID,GID동일시 UID우선)
소유권 root:root root:itcom itcom:root itcom:itcom
허가권
755 oooxx  oooxx  ooooo  ooooo
570 ooxxx  oooox  oooxx  oooxx
375 oooxx  ooooo  ooooo  ooooo
455 oooxx  oooxx  ooxxx  ooxxx
001 oooxx  ooxxx  ooxxx  ooxxx
010 ooxxx  ooxxx  ooxxx  ooxxx
273 ooooo  ooooo  ooxxx
135
705
316
770
644
027
500
507


7 rwx
6 rw
5 rx
4 r
3 wx
2 w
1 x


소유권복원
useradd -d /export/home/user5 user5
(중복메시지)
chown user5. /export/home/user5/
chown user5. /export/home/user5/.*
chown root. /export/home/
chown user5 /val/spool/mail/user5


4. 특수권한


 r w s(x) r w x r w x

 권한시작값 4000

 SetUID -> 4777

  (S이면 -> 4677)

 r w x r w s(x) r w x

 권한시작값 2000

 SetGID -> 2777

  (S이면 -> 2767)

 r w x r w x r w t(x) 권한시작값 1000
 Sticky bit -> 1777  (T이면 -> 1776)


 * Sticky bit

 - 게시판 성격의 특수권한
 - 관리자와 소유자만 자료삭제가능
 - 공용디렉토리 허가권으로 주로사용

 * SetUID

 - 소유자의 권한으로 실행시킬수 있도록 허용

 - 주로 root 소유자 실행파일에 설정

 * SetGID

 - 소유그룹의 권한으로 실행


/sb 생성
user1 생성

/sb itcom  user1
757 생성o  생성o  = 757허가권은 윈도우 공유폴더 의미(누구나올리고 누구나 삭제가능)
 삭제o/o  삭제o/o  (본인계정이삭제/다른계정이삭제)
1777 생성o  생성o  = 1777허가권은 게시판성격(관리자, 소유자만 삭제가능)->공용디렉토리로 사용
 삭제o/x  삭제o/x  



/usr/bin/passwd 허가권 변경하면서 확인
 명령실행(other x권한) 비번변경(owner x권한)
4755  o   o  rwsr-xr-x : SetUID권한을 빌려 비번변경가능
755  o   x  rwxr-xr-x
4750  x   x  rwsr-x---

* 4750이 가장 이상적

find / -name passwd
which passwd 실행파일만 검색

777 - 755 = 022 (관리자 생성 디렉토리)
777 - 775 = 002 (사용자 생성 디렉토리)
666 - 644 = 022 (관리자 생성 파일)
666 - 664 = 002 (사용자 생성 파일)
     umask값
umask값을 변경해서 473의 값을 가진 디렉토리 d3, 파일 f3을 생성
777-473=304 = umask 304
666-462=204 = umask 204
rw-rw-rw-
r--rwx-wx
=========
-w----r--(파일은 x제외)

umask 설정은 일시적임(새로운 접속은 원래값으로 설정됨)

/etc/profile 에서 일반사용자 umask 설정가능
/etc/login.defs 에서 홈디렉토리 umask 설정가능


5. ACL (access control list)
    - 파일이나 디렉토리의 확장속성

setfacl

 acl 설정

 -m

 수정

 -x

 삭제

 -b

 모든 acl 삭제

 getfacl

 acl 확인

 

 ex) mkdir /acl
     chmod 700 /acl

 acl설정

 setfacl -m u:itcom:rwx /acl
 setfacl -m g:itcom:rwx /acl
 setfacl -m o:rwx /acl

 acl삭제

 setfacl -x u:itbank /acl

 모든 acl 삭제

 setfacl -b /acl 

 acl 확인 getfacl /acl


 

'강의노트 > 리눅스' 카테고리의 다른 글

14. DNS  (0) 2017.09.24
11.원격접속  (0) 2017.09.18
vi editor  (0) 2017.08.29
VMware - database  (0) 2014.03.15
Building the main Guest Additions Modules [Fail]  (0) 2014.03.06