본문 바로가기

SYSTEM

리눅스 특수권한 조사, 실습

728x90
반응형

c언어, web, system 크게 세 가지 분야로 배웠고 그 중 SYSTEM에 대한 활동들 정리

깃허브 SYSTEM 폴더에 워드 파일로 정리되어있음

<깃허브 링크>

https://github.com/MY-yeong/SYSTEM

 

GitHub - MY-yeong/SYSTEM

Contribute to MY-yeong/SYSTEM development by creating an account on GitHub.

github.com


<리눅스 구조 - 파일 권한>

d(파일 타입) rwx (사용자권한) rwx (그룹권한) rwx (다른 사용자권한)

접근 권한
파일
디렉토리
읽기 (4)
파일의 내용을 읽어올 수 있다.
Ls 명령으로 하위 디렉토리를 볼 수 있다.
쓰기 (2)
파일에 내용을 추가하거나 수정할 수 있다.
디렉토리 아래 새 파일을 생성하거나, 제거 가능하다.
실행 (1)
저장된 프로그램을 실행할 수 있다.
Cd 명령으로 디렉토리 안으로 들어갈 수 있다.
  • 개별적으로 권한 설정 
u
사용자 권한
g
그룹
o
다른 사용자
a
all
ex) 
chmod g+rwx test

 

  • 8진수로 한번에 권한 설정
000
--
001
--x
010
-w-
011
-wx
100
r--
101
r--x
110
rw-
111
rwx
Ex) 
chmod 사용자권한숫자+그룹권한숫자+다른사용자숫자 test

 

<특수 권한>

SetUID : 나머지 사용자가 파일을 실행할 때 소유자의 권한으로 접근할 수 있게 해주는 권한

  • 적용된 파일을 실행하는 동안 해당 파일의 소유자의 UID로 인식
  • 일반적으로 실행 파일에 사용
  • 소유자 권한 부분의 x 자리에 s로 표기
  • 실행 권한이 없을 경우 대문자 S로 표시 
  • 해당 파일 소유자의 권한을 잠시 사용
# chmod 4000 [파일명]
# chmod u+s [파일명] (제거 # chmod u-s [파일명]) 
<검색> # find / -perm -4000 -print

Set-GID : 실행하는 동안 해당 파일의 소유자 그룹 권한으로 인식

  • 일반적으로 디렉터리에 설정
  • 사용자가 파일이나 디렉터리를 생성하면 사용자가 속한 그룹에 상관없이 디렉터리 소유 그룹으로 만들어짐
  • 그룹 권한 부분의 x 자리에 s로 표기
  • 실행 권한이 없을 경우 대문자 S로 표시
# chmod g+s [파일명]
# chmod 2777 [파일명]
<검색> # find / -perm -2000 -print

Sticky-Bit : 특정 디렉토리를 누구나 자유롭게 사용할 수 있게 하기 위해서 사용

  • 일반 사용자들이 디렉터리에서 파일 및 디렉터리 생성 가능
  • 자신이 생성한 것 이외에는 수정 및 삭제가 불가능
  • 디렉터리에만 적용
  • 시스템 기본 폴더인 /tmp 디렉터리에 설정
  • 설정하면 other 계층 권한 부분의 x 자리에 t 로 표기되며 실행권한이 없는 경우 대문자 T로 표기
# chmod 1000 [파일명]
# chmod o+t [파일명]  #chmod u+t [파일명]
<검색> # find / -perm -1000 -print

 

728x90
반응형

'SYSTEM' 카테고리의 다른 글

가상 메모리와 물리 메모리  (0) 2023.01.03
커널영역, 유저영역 차이  (0) 2023.01.03
함수 프롤로그, 에필로그  (0) 2022.12.30
공유 라이브러리 생성  (0) 2022.12.30
함수 호출 규약 (Calling Convention)  (1) 2022.12.12