본문 바로가기

Server/Linux

[Linux] 허가권 관리 명령어

반응형

chmod [상대모드/절대모드 허가권] [파일명] 

: 개체(파일 및 디렉터리)의 허가권 변경


⌗ 상대모드


: 개체가 원래 가지고 있는 허가권에서 추가/제거 기능

소유권 연산자 허가권
u user + 권한 추가 r 읽기
g group - 권한 삭제 w 쓰기
o other = 권한 지정 x 실행
a all s 소유자, 소속그룹만 실행    

 

예시 )

 

 

⌗ 절대모드


: 모든 허가권에 대해서 정해주는 것

소유자(user) 소속그룹(group) 나머지 사용자(other)
r w x r w x r w x
4 2 1 4 2 1 4 2 1
2^2 2^1 2^0 2^2 2^1 2^0 2^2 2^1 2^0

 

예시 )

 

 

⌗ 특수권한


: 시스템 관리의 효율성을 높이기 위해서

→ 단, 보안의 취약점이 될 수 있으므로 필요한 경우가 아니면 사용하지 않는 것이 좋음

 

setuid (4000 = u+s)

- 해당 파일의 소유주의 권한으로 실행

- 일반적인 실행은 파일을 이용하려는 사용자의 소유권에 의해 실행권한이 부여되지만, setuid 권한이 적용이 되어 있는 파일은 실행되는 동안은 사용자가 아닌 파일의 소유주의 권한을 할당 받음

- 실행 파일에만 설정이 가능함

- 소유자의 허가권에서 실행 권한이 x가 아닌 s로 표시됨 (예: rwsr--r--)

 

예시 ) passwd

  • 패스워드를 변경하면 /etc/shadow 파일의 읽기 및 쓰기 권한을 가지고 있어야지 패스워드를 기록할 수 있음
  • passwd 실행 파일에 setuid 권한이 부여되어 있어 passwd 명령이 실행되는 동안은 소유주의 권한(root)으로 동작하게 됨

 

setgid (2000 = g+s)

- 해당 파일의 소속 그룹 권한으로 실행

- 파일이 실행되는 동안은 사용자가 아닌 파일의 소속 그룹 권한을 할당받음

- 파일 및 디렉터리에서 설정 가능

- 소속 그룹의 허가권에서 실행 권한이 x가 아닌 s로 표시됨 (예: rwxr-sr--) 

 

예시 ) 디렉터리 적용

  • setgid가 적용된 디렉터리의 하위에 생성되는 디렉터리도 동일하게 setgid가 설정됨
  • setgid가 적용된 디렉터리 안에서 새로운 디렉터리를 생성하면 setgid에 명시된 소속 그룹으로 설정됨

 

sticky bit (1000 = o+t)

- 모든 소유권에 모든 허가권을 부여하지만 삭제는 소유주만 가능함

- 디렉터리에 설정함

- 나머지 사용자(other)의 허가권에서 실행 권한이 x가 아닌 t로 표시됨 (예: rwxr-xr-t)

- /tmp, /var/tmp에 적용되어 있음

- 기본 소유권과 허가권을 먼저 확인하기 때문에 기본 허가권에 삭제권한이 있으면 삭제 가능함

 

예시 )

 

반응형

❥ CHATI Github