[Linux] 파일 접근 권한
파일 권한
ls -al 명령 또는 stat [File name] 명령을 실행하면 파일의 자세하 정보를 볼 수 있는데, 위의 그림처럼 가장 왼쪽에 파일 접근 권한이 나타난다.
예) d rwx r-x ---
1 필드 : 타입
- 인 경우 : 파일
d 인 경우 : 디렉터리
| 인 경우 : 다른 파일을 가리키는 링크
p 인 경우 : pipe. 두 개의 프로그램을 연결하는 파이프 파일.
b 인 경우 : block device. 블록 단위로 하드웨어와 반응하는 파일
c 인 경우 : character device. 스트림 단위로 하드웨어와 반응하는 파일
2~4 필드 : 소유주 (USER) 권한
5~7 필드 : 그룹 (Group) 권한
8~10 필드 : 나머지 (Others) 권한
권한을 나타내는 알파벳
r : 읽기 권한(read) = 4
w: 쓰기 권한(write) = 2
x: 실행 권한(excute) = 1
-: 권한 없음 = 0
chmod 명령어 (접근 권한 변경)
- 기존 파일 또는 디렉터리에 대한 접근 권한을 변경하는 명령어
- 파일 권한의 변경은 파일 소유자나 슈퍼 유저만 가능하다.
명령: chmod [옵션] [접근 권한] [파일명]
chmod 옵션
옵션 | 설명 |
-R | 지정한 디렉터리 아래 있는 모든 파일에 대한 접근 권한을 변경 |
대상 | 설명 |
u | 소유자 |
g | 그룹 |
o | 그 외 사용자 |
a | 모든 사용자 |
조작 | 설명 |
+ | 권한을 추가 |
- | 권한을 삭제 |
= | 권한을 지정 |
허용 종류 | 설명 |
r | 읽기 가능 |
w | 쓰기 가능 |
x | 실행 가능 |
s | SUID 혹은 SGID |
t | 스티키 비트 |
umask 명령어 (접근 권한 마스크)
- 앞으로 만들어질 파일에 미치는 명령으로써, 새로 만들어질 파일에서 제거될 권한을 설정한다.
- 보편적으로 쓰기 권한에 제한을 두는 022를 많이 사용한다.
user umask 값 확인: umask
파일: 666 - umask = 디폴트 권한 값
폴더: 777 - umask
umask 값 변경: umask [숫자]
ex) umask 022
chown 명령어 (소유자, 소유 그룹 변경)
- 파일 또는 디렉터리의 소유자, 소유 그룹 수정에 사용
- 명령 실행 시 슈퍼유저 권한 필요
명령: chown [옵션] [변경 유저명:변경 그룹명] [파일명]
[변경 유저명:변경 그룹명] 상세 설명
· 소유자만 바꿀 경우 - [ 소유자 ]
· 그룹만 바꿀 경우 - [ :그룹명 ]
· 모두 똑같이 바꿀 경우 - [ 소유자: ]
· 따로따로 바꿀 경우 - [ 소유자:그룹명 ]