CentOS 특수권한(SETUID, SETGID, Sticky Bit) / 프로세스 관리(포그라운드, 백그라운드)에 대해서 정리한다.
※ 특수권한
1. SETUID
( 소유자로 변경 )
- chmod 4000 <path>
( octal로 권한을 변경할때 권한 앞에 4를 붙여준다 )
ex) #>chmod 4755 /home/user
( /home/user 파일을 SETUID 권한으로 설정한다 )
- 실행파일이 실행하는 동안 소유자 권한으로 변경 된다.
- 소유자 실행권한이 x -> s
- 실행파일에만 설정한다.
- 소유자의 실행 권한이 있으면 s로 없으면 S로 표시되고
실행권한이 없다면 정상적으로 작동하지 않는다.
( cat이라는 실행 파일의 소유자 권한이 rwx에서 SETUID 설정으로
x -> s로 변한걸 볼 수 있다 )
2. SETGID
( 소유 그룹으로 변경 )
- chmod 2000 <path>
( octal로 권한 변경시 앞에 2를 붙여준다 )
- 실행 파일이 실행하는 동안 소유그룹 권한으로 변경된다.
- SETUID와 마찬가지로 실행파일에만 설정한다.
( chmod를 이용해 SETGID 설정을 하면 소유그룹 실행 권한이 x -> s가
되는걸 볼 수 있다 )
( 소유그룹에 실행권한이 없기 때문에 s가 아닌 S로 표시 되어있고
이런 경우에는 정상적으로 작동하지 않는다 )
3. Sticky Bit
- 디렉터리 내에서 파일들을 보호하기 위한 설정이다.
( 관리자와 파일의 소유자만 삭제 가능 )
- 다른 사용자 실행 권한이 x -> t가 된다.
( 마찬가지로 다른 사용자 실행 권한이 없다면 t가 아닌 T로 표시된다 )
- 디렉터리에만 설정 한다.
( /board 디렉터리를 sticky bit로 설정 해주면 위와 같이 x -> t가 된다 )
* root umask
0022 ( 특수 권한 포함 4자리 )
※ 프로세스 관리
- 프로그램 : 저장 장치에 있는 실행 가능한 파일
- 프로세스 : 실행 중인 파일
1. 포그라운드 프로세스
- 맨 앞에 나와있는 작업 공간
- <command> -> enter
#>ping 8.8.8.8
- 포그라운드 -> 백그라운드 : ctrl + z
- 포그라운드 작업 취소 : ctrl + c
( ping 8.8.8.8을 포그라운드에서 ctrl + c로 작업 취소 했을시 위와 같이 나온다 )
( 하지만 ping 8.8.8.8을 ctrl + z로 포그라운드 -> 백그라운드로 보내면
위와 같은 결과가 나오게 된다 )
2. 백그라운드 프로세스
- 포그라운드 뒤에서 작업을 준비하고 있는 공간
- <command> &
#>ping 8.8.8.8 &
( 백그라운드 실행을 하게 되면 작업 내용을 계속 보여주지만
상관하지 않고 명령어를 입력 해보면 작업이 가능한걸 알 수 있다 )
- 현재 백그라운드 작업 목록 출력
#>jobs
- 백그라운드 -> 포그라운드
#>fg <작업번호>
* 백그라운드에서 작업중인 프로세스를 끝낼때는 포그라운드로
불러와서 종료 시켜줘야 된다.
( jobs 명령어를 이용해서 백그라운드 작업 목록을 확인 할 수 있다 )
( fg 명령어로 백그라운드에 있는 작업번호를 선택해 포그라운드로 불러와 작업을 실행 할 수 있다 )
3. 프로세스 확인
- ps
#>ps aux
a 현재 실행중인 모든 프로세스
u 프로세스의 사용자 이름, 시간
x 다른 사용자의 완료되지 않은 프로세스를 같이 출력
#>ps -ef
e 프로세스의 실행 환경
-f full format
-> UID - 사용자 번호
-> PID - 프로세스 번호
-> PPID - 부모 프로세스 번호
* ps 명령어는 주로 grep 명령어와 같이 프로세스를 검색 할 때 많이 쓰인다.
* #>top
( 전체 프로세스를 확인하는 명령어이고 변화하는 과정을 계속 볼 수 있다 )
4. 프로세스 종료
- kill <PID>
ex) #>kill 3075
- kill 명령어로도 종료가 되지 않을 경우에는 -9 옵션을 이용해서 강제 종료 할 수 있다.
#>kill -9 <PID>
'프로그래밍 > LINUX' 카테고리의 다른 글
[LINUX 19일차] CentOS 쉘 스크립트(자료계산<expr>, argument, 조건문<if>, 반복문<for, while>) (0) | 2017.04.04 |
---|---|
[LINUX 18일차] CentOS 환경변수(생성, 수정, 사용자 설정 파일, su) / 쉘 프로그래밍(쉘 스크립트) (0) | 2017.04.04 |
[LINUX 16일차] CentOS 정규표현식 / 링크파일(i-node,하드링크파일, 소프트링크파일) (0) | 2017.04.03 |
[LINUX 15일차] CentOS find & grep 명령어 (2) | 2017.04.03 |
[LINUX 14일차] CentOS 패키지 관리(wget, rpm, yum) (0) | 2017.04.03 |
댓글