Sua Blog
linux 파일 권한 설정
no date — linux
chmod
리눅스(linux)는 하나의 컴퓨터를 여러 사람이 사용할 수 있는 멀티유저 운영체제(OS)이기 때문에 권한 관리가 중요하다.
파일, 디렉토리 권한 확인
# -l 옵션을 사용하여 리스트를 출력하면 권한을 확인할 수 있다.
ls -l
출력 결과는 각각 파일종류 및 권한(퍼미션), 링크수, 사용자(소유자), 그룹, 파일크기, 수정시간, 파일이름을 나타낸다.
drwxr-xr-x 15 nosua staff 480 7 20 10:14 dev
-rw-r--r--@ 1 nosua staff 4714 7 6 17:39 text.txt
- 파일의 권한은 'drwxr-xr-x'로 확인할 수 있고
- 소유권은 'nosua staff'으로 확인할 수 있다.
- 앞에 있는 nosua는 사용자를 나타내고, 뒤에 staff는 그룹을 나타낸다.
파일 권한
drwxr-xr-x
- d,-: 파일(-), 디렉토리(d) 구분
- rwx: 사용자(소유자) 권한.
- r-x: 그룹 권한
- r-x: 다른 사용자(other) 권한
rwx는 각각 읽기(read), 쓰기(write), 실행(execute) 권한을 나타낸다. 참고로 디렉토리의 경우 실행권한이 있어야 디렉토리에 들어갈 수 있다.
파일 권한 변경
# 그룹에 쓰기(w) 권한을 준다.
chmod g+w test.c
# 다른 사용자에게 읽기 권한을 빼앗는다.
chmod o-r test.c
- u: 사용자
- g: 그룹
- o: 다른 사용자
- a: 전부
에게 권한 지정할 수 있고, '+'를 사용하여 권한을 추가하고, '-'로 권한을 제거할 수 있다.
숫자로 한번에 권한 변경하기
# 사용자, 그룹, 다른 사용자의 모든 권한을 제거한다.
chmod 000 test.c
# 사용자, 그룹, 다른사용자의 모든 권한을 추가한다.
chmod 777 test.c
# 사용자에게만 모든 권한을 준다.
chmod 700 test.c
# 사용자에게는 모든 권한을 주고, 그룹, 다른 사용자에게는 읽기 권한만 준다.
chmod 744 test.c
744 해석
- 사용자: rwx (4+2+1 = 7)
- 그룹: r-- (4)
- 다른 사용자: r-- (4)
읽기는 4, 쓰기는 2, 실행은 1로 나타내며 필요한 권한을 더해서 지정할 수 있다.
2진수 비트 계산이라 4, 2, 1의 형식을 띠고 있다.
파일의 소유권 변경
chmod 명령어로 파일, 디렉토리의 권한을 변경했다면 chown, chgrp 명령어로 파일, 디렉토리의 사용자, 그룹을 변경(소유권 변경)할 수 있다.
# 사용자(소유자)를 user1로 변경한다.
sudo chown user1 test.c
# 파일의 그룹을 user1로 변경한다.
sudo chgrp user1 test.c
# chown 사용자:그룹 으로 파일의 사용자와 그룹을 동시에 변경한다.
sudo chown user2:user2 test.c