1. 파일 권한 확인
- 사용 예시
ls -l 파일명
- 결과 예시:
-rw-r--r-- 1 user user 1234 Feb 27 12:34 myfile.txt
여기서 파일 권한은 rw-r--r--로 표시됨.
r -> 파일 타입
rw- -> 소유자 권한
r-- -> 그룹 권한
r-- -> 기타 권한
2. 파일 권한 변경
chmod 명령어를 사용해 파일 권한을 변경할 수 있다.
2-1. 숫자 모드 (8진수)
chmod 755 파일명
- 7 → 읽기(r) + 쓰기(w) + 실행(x) (소유자)
- 5 → 읽기(r) + 실행(x) (그룹)
- 5 → 읽기(r) + 실행(x) (기타 사용자)
권한 -> 숫자 값
--- -> 0
--x -> 1
-w- -> 2
-wx -> 3
r-- -> 4
r-x -> 5
rw- -> 6
rwx -> 7
2-2. 기호 모드 (알파벳)
chmod u+x 파일명 # 소유자에게 실행 권한 추가
chmod g-w 파일명 # 그룹의 쓰기 권한 제거
chmod o+r 파일명 # 기타 사용자에게 읽기 권한 추가
chmod a-x 파일명 # 모든 사용자에게 실행 권한 제거
- u: 사용자(owner)
- g: 그룹(group)
- o: 기타 사용자(others)
- a: 모든 사용자(all)
- +: 권한 추가
- -: 권한 제거
- =: 권한 설정(기존 권한을 제거하고 새 권한을 부여)
3. 파일 소유권 변경 (chown)
- 사용 예시
chown 사용자명 파일명
- 소유권 + 그룹 변경
chown 사용자명:그룹명 파일명
- 폴더 내 모든 파일을 포함하여 변경(-R 옵션 사용)
chown -R luna:staff myfolder/
4. 파일 그룹 변경 (chgrp)
- 사용 예시
chgrp 그룹명 파일명
- 폴더 내 모든 파일을 포함하여 변경(-R 옵션 사용)
chgrp -R staff myfolder/
5. 특수 권한 설정
5-1. SetUID (s 권한)
chmod u+s 파일명
- 실행 파일이 실행될 때 소유자의 권한이 유지되도록 함.
- 일반 사용자가 일시적으로 소유자의 권한이 필요할 때 사용
- 예: chmod u+s /usr/bin/passwd (사용자가 passwd 명령을 실행할 때 root 권한을 유지)
5-2. SetGID (s 권한)
chmod g+s 디렉터리명
- 실행 파일이나 디렉터리에 적용되며, 그룹 권한을 유지.
- 예: chmod g+s /shared_folder/ (이 폴더 내에서 생성된 파일이 자동으로 해당 그룹을 유지)
5-3. Sticky Bit (t 권한)
chmod +t 디렉터리명
- 디렉터리에서 특정 사용자만 자기 파일을 삭제할 수 있도록 설정.
- 예: chmod +t /tmp/ (모든 사용자가 접근 가능하지만, 자기 파일만 삭제 가능)
6. 기본 권한 변경 (umask)
umask 022
- 새 파일이 생성될 때 기본적으로 적용되는 권한을 설정.
- 기본적으로 파일은 666(읽기+쓰기), 디렉터리는 777(읽기+쓰기+실행)로 생성됨.
- umask 022이면, 파일은 644, 디렉터리는 755로 생성됨.