1. permission 설명
# ls -l
drwxr-xr-x 2 root root 4096 Feb 21 21:33 sampledir
-rw-r--r-- 1 root root 481280 Feb 21 21:36 sample.txt
첫번째 열의 10자리 중 2~10번째 자리가 해당 파일/디렉토리에 대한 권한을 의미하며,
rwxrwxrwx 으로 구성된다.(- 은 권한없음을 의미함)
- 초록색: user 가 가진 권한
- 파란색: group 가 가진 권한(group 에 속한 user 가 가진 권한)
- 주황색: other 사용자가 가진 권한(그 외 사용자)
rwx 문자는 파일이냐 디렉토리냐에 따라 아래와 같은 권한을 의미한다.
권한 | file | directory |
read | 파일 내용 읽기 cat, more, less, tail, head... |
디렉토리 내 파일목록을 읽기 ls |
write | 파일 내용 수정 vi |
디렉토리 내 파일을 생성/삭제/이름변경 mkdir, touch, rm, rename... |
execute | 파일 프로그램을 실행 | 디렉토리 내부로 이동, 디렉토리 내 파일목록을 자세히 읽기 cd, ls -l |
* 파일 프로그램을 실행하기 위해서는 read + execute 권한이 모두 있어야 함에 유의
2. permission 변경 명령어
2.1. symbol mode 로 지정하는 법
명령어: chmod {who}{action}{what} {대상파일/디렉토리}
- who
- u: user
- g: group
- o: other
- a: user + group + other
- action
- +: 추가
- -: 제거
- =: 기존 권한을 무시하고 세팅
- what
- r: 읽기
- w: 쓰기
- x: 실행하기
e.g.
# chomd ug+x sample.txt
=> sample.txt 파일에 대해 user, group 의 execute 권한을 추가한다.
# chmod u=rw-,g=r--,o=--- passwd
=> passwd 파일에 대해 user는 read, write를, group은 read를, other는 아무것도 하지 못하게 권한을 설정한다.
2.2. 8진수 모드로 지정하는 법
8진수 숫자로 권한을 세팅하는 방법도 있다.
각 권한을 8진수로 표현하면 아래와 같다.
권한 | 2의 거듭제곱 | 8진수 |
r | 2^2 | 4 |
w | 2^1 | 2 |
x | 2^0 | 1 |
각 권한을 더한 8진수 값의 합으로 permission set 을 표현한다.
e.g.
r-x: 4 + 1 = 5
rwx: 4 + 2 + 1 = 7
---: 0
이를 user, group, other 에게 각각 세팅하려면 아래와 같이 입력한다.
chmod {user permission set}{group permission set}{other permission set} {대상파일/디렉토리}
e.g.
# chmod 775 sample.txt
=> sample.txt 파일에 대해 rwxrwxr-x 권한을 세팅한다.
'Linux' 카테고리의 다른 글
[LINUX] SetUID, SetGID, Sticky bit 특수권한 설명 (0) | 2025.03.16 |
---|---|
[LINUX] 리눅스 umask 파일 기본 권한 설정 (0) | 2025.03.15 |
[LINUX] 리눅스 계정 패스워드 관리 (0) | 2025.03.12 |
[LINUX] 리눅스 계정, 그룹 관리 명령어 정리 (0) | 2025.03.04 |
[LINUX] 파일 압축시 자주 쓰는 명령어 정리 tar gzip bzip2 xz zip (0) | 2025.03.02 |