리눅스 권한
UID와 GID
리눅스에서 각 유저는 이름과 고유한 사용자 ID(UID)
를 가지고 있다. 그룹은 여러 유저가 속할 수 있는 그룹으로, 이름과 고유한 그룹 ID(GID)
를 가지고 있다.
파일이나 디렉토리같은 시스템 자원에 유저가 접속하면 유저의 UID
와 해당 유저가 속한 그룹의 GID
를 확인해 권한을 갖고 있는지 판단해 접근을 제어한다.
각 파일과 디렉토리는 소유자와 소유 그룹을 가지고 있고, 소유자는 파일의 권한을 설정할 수 있다.
파일 접근 권한의 종류
읽기(Read)
: 파일 또는 디렉토리의 내용을 볼 수 있게 허용한다.
쓰기(Write)
: 파일 또는 디렉토리의 내용을 수정하거나 삭제하는 것을 허용한다.
실행(Execute)
: 파일이 프로그램인 경우 실행할 수 있게 허용한다. 디렉토리의 경우, 디렉토리의 내용에 접근할 수 있도록 허용한다.
특수 권한
setuid
: 일반 사용자가 파일을 실행하면 소유자 권한으로 실행된다. 소유자 권한에 x
대신 s
로 표시하며, 실행 권한이 없다면 S
로 표시한다.
setgid
: 일반 사용자가 파일을 실행하면 파일 소유 그룹 권한으로 실행됨. 소유자 권한에 x
대신 s
로 표시하며, 실행 권한이 없다면 S
로 표시한다.
sticky bit
: 소유자와 root 사용자 외에 일반 사용자가 파일을 사용할 수 없다. 일반 사용자 실행 권한에 x
대신 t
로 표시하며, 실행 권한이 없다면 T
로 표시한다.
This post is licensed under CC BY 4.0 by the author.