[Environment]
OS : Cent OS 6.4
리눅스에서 제일 중요한걸 꼽으라면 권한을 들수있겠다.
오늘은 권한과 그에 대한 명령어들을 알아볼것이다.
위 속성들을 표를 통해 알아보겠다.
d |
r-xr-xr-x |
2 |
root |
root |
4096 |
2013-03-25 ~ |
bin |
파일유형 |
파일허가권 |
링크 수 |
파일 소유자 |
파일 소유그룹 |
파일크기 |
마지막 수정날짜 |
파일/디렉터리이름 |
참고로 d는 디렉토리일때 d이다.
일반 파일일때는 - 로 나오니 참고할것.
이제 권한에 대해 알아볼것이다.
권한 설정명령어는 chmod이다.
예를들어 chmod 777 exam
이런식으로 명령을 준다면
exam이란 파일/디렉터리에 모든허가를 준다는뜻이다.
rwx/rwx/rwx이런식으로 끊어서 봐야한다.
맨앞 rwx 는 파일소유자를 뜻하므로 파일소유자는 읽고 쓰고 실행권한을 가지고있다.
중간은 그룹이다 그룹도 마찬가지로 읽고 쓰고 실행할수있는 권한을 가지고있다.
맨끝의 rwx는 그외 사용자를 뜻한다.
권한 |
Number |
r (읽기권한) |
4 |
w (쓰기권한) |
2 |
x (실행권한) |
1 |
- (권한없음) |
0 |
만약 rw-r-x--- 이런식으로 권한이 있다고치면,
파일소유자는 읽고쓰는권한,
그룹은 읽고실행하는권한,
그외 소유자는 권한이 없다는걸 의미한다.
예시로 관리자에서 어떤 하나의 디렉터리를 만들고 그 디렉터리를 다른 사용자가 접근하지 못하게해보겠다.
우선 관리자계정으로 접속하여 디렉터리하나를 생성한다.
빨간색 박스친곳을 보면 권한 755가 걸려있는걸 확인할수있다.
(파일소유주=읽기,쓰기,실행권한 / 그룹=읽기,실행권한 / 그외사용자=읽기,실행권한)
다른사용자로 접속해서 디렉터리에 정상적으로 접근이되는지 우선 확인해보겠다.
namegpark이라는 일반사용자계정으로 접속하여 디렉터리접근을 확인하였다.
필자는 관리자와 일반사용자간을 들락날락하기 귀찮아서 SSH원격접속프로그램 PuTTY를 이용하였다.
위 사진을 보면 namegpark이란 일반사용자계정으로 blackrose란 디렉터리에 성공적으로 접근했음을 보여준다.
이제 관리자 계정에서 blackrose 디렉터리의 권한을 변경해주어, 일반사용자가 접근하지못하게 할것이다.
우선 생각을해보자.
rwx/rwx/rwx에서 그외 사용자는 맨끝 필드라고 앞에서 설명했으므로
접근만 막으면되니 x라는 실행권한을 주지않으면될것이다.
즉, 맨 끝필드 권한이 6이면된다.
필자는 776권한을 부여하도록하겠다.
권한을 부여하는 명령어는 chmod를 사용하면된다.
우선 관리자계정으로 다시 접속하여 권한을 부여하도록한다.
blackrose 디렉터리가 776권한을 부여받은 모습이다.
이제 일반사용자 namegpark으로 접속하여 접근이 되는지 확인하겠다.
위와 같이 일반사용자로 접속을 시도하면 접근이 불가능한걸 볼수있다.
다음으로 chown명령어를 알아보겠다.
chown명령어는 파일이나 디렉터리의 소유자를 변경시키는 명령어이다.
아까 예시에서봤던 blackrose 디렉터리의 소유자와 그룹은 root였다
이걸 일반사용자인 namegpark으로 바꿔볼것이다.
[chown Command] 1.소유자를 변경할때 : #chown (소유자) (파일/디렉터리 이름) 2.그룹을 변경할때 : #chown .(그룹) (파일/디렉터리 이름) 3.소유자&그룹 둘다 변경할때 : #chown (소유자).(그룹) (파일/디렉터리 이름) |
필자는 3번째 chown명령어를 이용하여 소유자와 그룹 모두를 바꿔볼것이다.
위와같이 소유자와 그룹모두 일반사용자 계정 'namegpark'으로 바뀐것을 볼수있다.
필자는 아까 blackrose의 권한을 776을 부여했었다.
소유자 권한이 7이고 소유자가 namegpark으로 바뀌었으므로,
namegpark이라는 일반사용자계정으로 접근이 가능할것이다.
blackrose디렉터리에 접근한것을 확인할수있다.
출처 : http://g_park01.blog.me/150134906338
'Skills > Unix, Linux' 카테고리의 다른 글
Pcap 을 이용한 패킷캡쳐응용 (0) | 2014.05.22 |
---|---|
libpcap 를 이용한 프로그래밍 (0) | 2014.05.22 |
UNIX Kernel (0) | 2014.04.22 |
kernel system call - do_brk() (0) | 2014.04.16 |
What makes an operating system “Unix-Like”? (0) | 2014.04.16 |
댓글