'리눅스 파일권한관리'에 해당되는 글 1건

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 권한을 세팅한다.

블로그 이미지

망원동똑똑이

프로그래밍 지식을 자유롭게 모아두는 곳입니다.

,