본문 바로가기
프로그래밍/LINUX

[LINUX 17일차] CentOS 특수권한(SETUID, SETGID, Sticky Bit) / 프로세스 관리(포그라운드, 백그라운드)

by B T Y 2017. 4. 3.
반응형

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>




반응형

댓글