파일 및 디렉토리 권한
ls -l
drwxrwxr-x 2 user user 4096 12월 2 13:38 dir
//권한 플래그/소유자/소유그룹
권한 플래그
각 파일 또는 디렉토리의 권한 플래그
d rwx rwx r-x
1. 파일 타입
d : 디렉토리
- : 일반 파일
l : 바로가기와 같은 링크 파일
권한 플래그 (문자 3개씩 3개의 덩어리)
2. 파일 또는 디렉토리의 소유자의 권한 rwx
3. 소유 그룹에 포함된 유저들의 권한 rwx
4. 소유자, 소유그룹에 포함된 유저들을 제외한 나머지 유저들의 권한
r : 소유자(또는 소유그룹에 포함된 유저들 또는 그외 유저)가 파일 또는 디렉토리에 읽기 권한!
w: 소유자(또는 소유그룹에 포함된 유저들 또는 그외 유저)가 파일 또는 디렉토리에 쓰기 권한!
x: 소유자(또는 소유그룹에 포함된 유저들 또는 그외 유저)가 파일 또는 디렉토리에 실행 권한!
🗯 해석해보자
-rw-rw-r-- 1 user user 422 ~~~
파일타입 - 일반 파일
소유자 권한 플래그 - user 유저는 파일을 읽고 쓸 수 있지만 실행할 수 없다.
소유 그룹 권한 플래그 - user 그룹에 속한 유저들은 파일을 읽고 쓸 수 있지만 실행할 수 없다.
user 유저가 아니면서 user 그룹에 속하지 않은 유저들은 r-- 권한을 가지므로 파일을 읽을 수만 있고, 쓰거나 실행할 수는 없다.
chmod
: 파일 권한 변경 명령어
- g(그룹) u(사용자) o(다른 사용자) a(모두)에게 권한 부여
- (+)를 사용해 권한 부여
- 권한 삭제시 (-)사용
- 권한 사용자,그룹,그 외 모두 관리할 때는 권한 플래그를 10진수로 표현하거나 기존의 권한에 문자를 더하거나 뺀다.
chown
: 파일 소유자 혹은 소유그룹 변경 명령어
- root 유저만 실행 가능
chown 사용자명[.그룹명] 파일명
- 소유그룹만 변경하고 싶은 경우 chgrp 명령어 사용
- 명령어를 root 권한으로 실행하려 한다 → 맨 앞에 sudo
- -R 옵션으로 디렉터리 안의 파일 소유권도 모두 변경 가능
chgrp
: 그룹 변경 명령
특수권한
setuid : 일반사용자가 파일을 실행하면 파일 소유자 권한으로 실행됨
파일 소유자가 root 이지만 setuid 가 설정되어 있어 일반 사용자가 root 권한으로 실행하고 비밀번호도 변경 가능하다!
소유자 실행권한 x 대신 s
S : setuid 이지만, 실행권한이 없는 경우
※특수 권한 지정 시 권한 플래그 맨 앞에 숫자를 붙여 나타낸다.
→ setuid : 4 , setgid : 2, sticky bit : 1