메타모니
접속 : 4902   Lv. 58

Category

Profile

Counter

  • 오늘 : 81 명
  • 전체 : 117653 명
  • Mypi Ver. 0.3.1 β
[서버] Linux 허가권과 소유권 (0) 2015/08/04 AM 07:14
Linux 허가권과 소유권



디렉토리 구조
d rwxr-xr-x 2 root root 4096 Dec 10 21:23 testdir
1 2 3 4 5 6 7 8 9

파일 구조
- rw-r--r-- 2 root root 4 Dec 10 21:24 testfile
1 2 3 4 5 6 7 8 9

1 : 파일유형
2 : 파일/디렉토리 허가
3 : 링크수 (라느곳에 링크되어있는 수)
4 : 소유자명
5 : 그룹명
6 : 파일/디렉코리 크기
7 : 마지막 변경 날짜
8 : 마지막 변경 시간
9 : 파일/디렉토리 명





허가권(Permission)
-rwx rwx rwx
1 2 3
421 421 421

1 : 사용자(user)
2 : 그룹(group)
3 : 타인(other)

r = 읽기
w = 쓰기
x = 실행

명령어
# chmod [권한] [파일/디렉토리명]


파일 기본값 = -rw-r--r--(644)
리렉토리 기본값 = drwxr-xr-x(755)
※디렉토리의 x(실행권한) = 디렉토리 열기
(x권한을 주지않으면 디렉토리안으로 들어갈수가 없다.)

# umask
0022 <--기본값
# umask 0000
: 값을 0000으로 바꿈

umask파일은 ---> /etc/profile에 위치





소유권 변경


소유자 변경 명령어
# chown [변경할 사용자] [변경할 파일]

# chown test /test

# chown root:root /test
: 그룹과 소유자 동시 변경

그룹 소유권 변경
# chgrp [변경할 그룹명] [변경할 파일]

# groupadd A
: A그룹을 생성
# chgrp A /test
: test파일을 A그룹에 속하게함


Ex)/tmp/1234라는 파일의 소유권은 root, 일반사용자test,test1은 쓰기가능 ,test2는 쓰기불가능

1.새로운group생성
#chown root /tmp/1234
#groupadd A
#usermod -g A test
#usermod -g A test1
#groups test1 (test1그룹확인하기)
#chgrp A /tmp/1234(1234파일의 그룹을 test로 변경)
#chmod 664 /tmp/1234

2.기존group
#chown root /tmp/1234
#usermod -g test test1(test1을 test그룹으로 바꾼다)
#groups test1 (test1그룹확인하기)
#chgrp test /tmp/1234(1234파일의 그룹을 test로 변경)(chown명령어를사용하기때문에 잘사용
하지않음)
#chmod 664 /tmp/1234

3.chown명령어를 사용해 간단하게 끝내기
#usermod -g test test1
#chown root:test /tmp/1234
#chmod 664 /tmp/1234




sticky bit -- 디렉토리,실행권한
SetGID --파일 ,디렉토리,실행권한
SetUID -- 파일,시행권한

SetUID - 적용되어있는 파일을 실행시키면 그 해당파일의 소유자의 권한을 갖는다
실행권한이필요하고 파일이어야한다

rwxr-xr-x 755
setUID적용->rwsr-xr-x 4755
setUID적용->rwSr-xr-x 4655(실행권한이 없으면 대문자S)(비정상)
setGID적용->rwxrwsrwx

sticky bit 적용 ->rwxrwxrwt 1776
sticky bit 적용 ->rwxrwxrwT 1777(실행권한이 없으면 대문자T)(비정상)

찾기
# find [경로] [타입] [내용]
# find / -name passwd 2> /dev/null
-user test
-perm +4000

SetGID : 권한이 없는 사용자가 파일을 실행할때 그룹의 권한을 이용한다.
실행권한 필요, 파일/디렉토리이어야 한다.

sticky bit : 관리자 혹은 소유자 만이 파일/디렉토리를 수정가능.
실행권한필요, 디렉토리어야 한다.대표적으로 /tmp에 stickybit 가 걸려있다
(rwxrwxrwt)

신고

 
X