chmod 명령어
파일이나 디렉터리의 권한(퍼미션)을 변경하는 명령어입니다.
chmod [옵션] [퍼미션] [파일]
옵션
-c: 변경된 파일만 자세하게 보여준다.
-f: 변경되지 않은 파일에 대해서 오류 메시지를 보여주지 않는다.
-v: 작업상태를 자세히 보여준다.
-R: 경로와 그 하위 파일들을 모두 변경한다. // (주로 많이 사용)
--help: 도움말을 출력한다.
--version: 버전 정보를 보여준다.
chmod 명령어를 알기 전 리눅스에서 파일(File)이 가질 수 있는 권한은 세 가지로 나눌 수 있습니다.
- 파일에 저장된 데이터를 읽기 (r = read)
- 파일에 데이터를 쓰기 (w = write)
- 파일 실행 (x = execute)
특정 파일이나 디렉터리에 부여된 권한을 알아보려면 ls -l 을 사용하거나 파일의 상태를 알려주는 stat 명령어를 사용해서 Access 필드를 보면 됩니다.
위 그림의 Access 항목에 있는 숫자(0777) 와 문자(-rwxrwxrwx) 의 의미는 다음과 같습니다.
위에서 말한 것과 같이 r은 읽기(read), w는 쓰기(write), x 는 실행(execution) 의 의미입니다.
예를 들어 0755로 권한이 설정되어 있다면 소유자는 읽고, 쓰고, 실행할 수 있고 소유자의 그룹은 읽고, 실행할 수 있고 그 외는 읽고 실행할 수 있다는 의미입니다.
chmod로 권한을 부여할 경우 숫자로도 가능하며 문자열로도 가능합니다.
기존에 부여한 권한에서 권한을 빼거나 더할때는 문자로 지정하는 게 편하고 전체를 새로 지정할 때는 숫자가 편합니다.
ex) chmod 755 22 또는 chmod +x
접근 권한을 기호(문자)로 표현
- 문자 표기법은 변경할 사용자(대상), 수행할 명령(연산), 설정할 퍼미션(접근 권한) 세 부분으로 분류됨
- 다른 대상의 속성을 건드리지 않고 한 대상 속성만을 설정할 수 있는 장점을 가짐
- 복수 지정은 콤마(,)를 사용하여 구분
구 분 | 기 호 | 설 명 |
사용자 (대상) |
u | user의 약자, 파일이나 디렉토리 소유자를 의미 |
g | 그룹 소유자 | |
o | others의 약자, 기타 사용자를 의미 | |
a | all의 약자, u,g,o의 조합 | |
아무 문자를 사용하지 않으면 all로 추정 | ||
수행할 명령 (연산) |
+ | 추가 |
- | 제거 | |
= | 지정, 기존의 속성 값은 사라짐 | |
설정할 퍼미션 (접근 권한) |
r | 읽기 |
w | 쓰기 | |
x | 실행 |
기호로 권한 설정 사용 예시
표기법 | 의 미 |
u+x | 소유자에게 실행 권한을 추가 |
u-x | 소유자의 실행 권한 제거 |
+x | 모든 사용자(소유자, 그룹, 기타사용자)에게 실행 권한 추가 |
o-rw | 기타사용자의 읽기, 쓰기 권한 제거 |
go=rw | 그룹, 기타사용자에게 읽기, 쓰기 권한 지정, 이전에 실행 권한을 가지고 있다면 제거됨 |
u+x,go=rw | 소유자에게 실행권한을 추가하고 그룹, 기타 사용자에게 읽기, 쓰기 권한 지정 |
a=rw | 모든 사용자에게 읽기, 쓰기 권한 지정, 이전에 실행 권한을 가지고 있다면 제거됨 |
g-w | 그룹 소유자의 쓰기 권한 제거 |
g+w,o-x | 그룹 소유자에게 쓰기 권한 추가, 기타 사용자의 쓰기 권한을 제거 |
접근 권한을 8진수로 표현
- 원하는 파일의 접근 권한을 설정하기 위해 8진수 표기법을 사용
- 3자리의 8진수로 소유자, 그룹 소유자, 기타 사용자를 위한 파일 모드를 설정할 수 있음
- r(읽기, 4) w(쓰기, 2) x(실행, 1)
8진법 | 2진법 | 파일 모드 |
0 | 000 | --- |
1 | 001 | --x |
2 | 010 | -w- |
3 | 011 | -wx |
4 | 100 | r-- |
5 | 101 | r-x |
6 | 110 | rw- |
7 | 111 | rwx |
chown 명령어
파일의 소유자나 소유그룹을 변경하는 명령어입니다.
chown [옵션] [소유자:소유그룹] [파일]
옵션
-c: 변경된 파일만 자세하게 보여준다.
-f: 변경되지 않은 파일에 대해서 오류 메시지를 보여주지 않는다.
-v: 작업상태를 자세히 보여준다.
-R: 경로와 그 하위 파일들을 모두 변경한다. // (주로 많이 사용)
--help: 도움말을 출력한다.
--version: 버전 정보를 보여준다.
ex) 33 파일의 소유자와 그룹을 root 계정에서 samso 사용자, 그룹으로 변경해 봅니다.
ex) 11 파일의 소유자만 samso 사용자로 변경해 봅니다.
chgrp 명령어
파일의 사용자 그룹만 변경하는 명령어입니다.
chgrp [옵션] [그룹] [파일]
옵션
-c: 변경된 파일만 자세하게 보여준다.
-f: 변경되지 않은 파일에 대해서 오류 메시지를 보여주지 않는다.
-v: 작업상태를 자세히 보여준다.
-R: 경로와 그 하위 파일들을 모두 변경한다. // (주로 많이 사용)
--help: 도움말을 출력한다.
--version: 버전 정보를 보여준다.
ex) 22 파일의 그룹을 root 계정에서 samso 그룹으로 변경해 봅니다.
'OS > Linux' 카테고리의 다른 글
Linux - RPM (0) | 2023.02.03 |
---|---|
Linux - 찾기 명령어 (find) (2) | 2023.02.02 |
Linux - yum (2) | 2023.02.01 |
Linux - Crontab (크론탭) (2) | 2023.02.01 |
Linux - 언어설정 (locale) (0) | 2023.01.31 |