ls -l 명령을 이용하면 접근 권한을 확인 가능- : 파일의 종류 (- : 일반 파일, d : 디렉토리)rw-r--r-- : 파일을 읽고 쓸 수 있는 권한숫자 : 하드 링크의 개수(하드링크가 2 이상인 경우 현재파일을 지워도 내용이 남아있음)root : 파일 소유자의 로그인 IDroot : 파일이 속한 그룹숫자 : 파일의 크기날짜 및 시간 : 파일이 마지막으로 수정된 날짜파일 이름 : 파일이름
종류 : 읽기 권한, 쓰기권한 실행권한
| 파일 | 디렉토리 | |
|---|---|---|
| 읽기 | 파일을 읽거나 복사 가능 | ls 명령으로 디렉토리 목록을 볼 수 있음 |
| 쓰기 | 파일을 수정, 이동, 삭제 가능 (디렉토리에 쓰기권한 필요) | 파일을 생성하거나 삭제할 수 있음 |
| 실행 | 파일을 실행할 수 있음 (셸 스크립트 파일, 실행파일) | cd 명령을 사용할 수 있음파일을 이동하거나 복사할 수 있음 |
읽기 - r
쓰기 - w
실행 - x
권한 없음 - -
사용자 카테고리가 3개이고 권한이 3개라서 9개의 문자로 표현
rw- 읽기, 쓰기 권한 or-- 읽기 권한 or-x 읽기, 실행 권한 ochmodchmod [옵션] [파일이나 디렉토리]
옵션
R : 디렉토리인 경우 하위 디렉토리까지 적용변경할 때는 기호 모드와 숫자 모드를 모두 사용할 수 있다.
사용자 카테고리 문자
- u : 소유자
- g : 그룹
- o : 기타
- a : 전체
연산자 기호
- + : 권한 부여
- - : 권한 제거
- = : 권한 설정
접근 권한 문자
r : 읽기w : 쓰기x : 실행->예시
u+w : 소유자에게 쓰기 권한 부여
u-x : 소유자에게 실행 권한 취소
+wx : 모든 유저에게 쓰기와 실행 권한 부여
u=rwx : 소유자에게 읽기,쓰기,실행 권한 부여
cp /etc/hosts text.txtls -l
chmod g+wx text.txt
chmod u-w text.txt
chmod o+x text.txt
각각의 권한을 하나의 비트로 보고 1은 권한 부여, 0은 권한 취소
rwx -> 111 -> 4 + 2 + 1 = 7rw- -> 110 -> 6chmod 444 text.txt
chmod 654 text.txt
ls -ltouch han.txt
ls -l
결과 :

mkdir temp
ls -l
결과 :

umaskumask [옵션] [마스크값]
S : 마스크 값을 문자로 출력
결과 : 0002 -> 775로 해석
맨 앞의 0은 일단 제외하고 3개의 값이 마스크 값
마스크값은 반대로 해석해야 하는데 없는 권한이 1 이고 있는 권한은 0
이 결과는 디렉토리에 대한 권한이고 파일에 대한 권한은 x권한을 빼면 된다
700)777 - 700 = 077umask 077

umask 002
umask 명령으로 확인한 숫자 중 첫번째 숫자에 대한 부분
맨 앞자리:
0 : 일반적인 접근 권한 설정
1 : 스티키 비트
2 : SetGID
4 : SetUID
touch set.exe
chmod 755 set.exe
권한 확인

파일에 SetUID 설정
chmod 4755 set.exe

2 로 설정/tmp 디렉토리 이다