1. 명령어 소개
chmod는 파일이나 디렉터리의 액세스 권한을 변경하는 데 사용됩니다.
chmod는 파일 소유자와 슈퍼유저 루트만 사용할 수 있습니다.
Linux 파일 및 디렉터리에 대한 권한 범위에는 소유자(u, 사용자), 그룹(g, 그룹) 및 기타(o, 기타)의 세 가지 범위가 있습니다. 모든 사용자는 (모두)로 표시됩니다. 각 범위의 권한은 3비트로 표시되며 왼쪽에서 오른쪽으로 r(읽기, 읽기), w(쓰기, 쓰기), x(실행, 실행 가능)을 나타냅니다. 권한은 문자 또는 8진수로 표시할 수 있으며, r은 숫자 4에 해당하고, w는 숫자 2에 해당하고, x는 숫자 1에 해당합니다. 해당 권한 비트에 권한이 없으면 ls -l 명령을 사용하여 볼 때 가로 막대로 표시됩니다. 아래 그림과 같이:
참고:
(1) chmod를 사용하여 심볼릭 링크의 권한을 변경할 때 실제로 변경되는 것은 대상 파일의 권한입니다. chmod는 심볼릭 링크의 권한을 변경할 수 없습니다. 이것은 버그가 아닙니다. 심볼릭 링크의 권한은 버그가 아닙니다. 링크는 한번도 사용된 적이 없습니다.
(2) chmod가 재귀적일 때 심볼릭 링크를 만나면 이를 무시합니다.
1.1 리눅스 drwxr-xr-x의 의미를 설명하세요
위에 표시된 대로 파일에 drwxr-xr-x 권한이 있음을 알 수 있습니다.
第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道
第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行。
第5-7位表示和这个文件属主所在同一个组的用户所具有的权限。
第8-10位表示其他用户所具有的权限。
2. chmod 구문
chmod [-cfvR] [--help] [--version] mode file...
매개변수 설명
모드: 권한 설정 문자열, 형식은 다음과 같습니다.
[ugoa...][[+-=][rwxX]...][,...]
안에:
- u는 파일의 소유자를 나타내고, g는 파일의 소유자와 동일한 그룹에 속한 사람을 나타내고, o는 다른 사람을 나타내고, a는 세 가지 모두를 나타냅니다.
- +는 권한 추가, -는 권한 취소, =는 권한만 설정하는 것을 의미합니다.
- r은 읽기 가능, w는 쓰기 가능, x는 실행 가능, X는 파일이 하위 디렉터리이거나 파일이 실행 가능하도록 설정된 경우에만 의미합니다.
기타 매개변수 설명:
- -c: 파일 권한이 실제로 변경된 경우 변경 조치가 표시됩니다.
- -f : 파일 권한을 변경할 수 없는 경우 오류 메시지를 표시하지 않습니다.
- -v: 권한 변경 세부정보 표시
- -R: 현재 디렉터리의 모든 파일과 하위 디렉터리에 대해 동일한 권한 변경을 수행합니다(즉, 재귀적인 방식으로 하나씩 변경).
- –help: 도움말 정보 표시
- –version : 표시 버전
3. 예시
(1) 현재 디렉토리의 모든 파일과 하위 디렉토리를 누구나 읽고, 쓰고, 실행할 수 있도록 만듭니다.
chmod -R 777 *
或
chmod -R a=rwx *
(2) file1.txt 파일을 모든 사람이 읽을 수 있도록 만듭니다.
chmod ugo+r file1.txt
或
chmod a+r file1.txt
或
chmod +r file1.txt
(3) test.sh 파일에 대한 모든 사용자의 실행 권한을 뺍니다.
chmod -x test.sh
# 或
chmod a-x test.sh
(4) 각각 기호 및 수치 방법을 사용하여 test.sh 파일에 대한 새 권한을 rwxr–r–로 설정합니다.
# 符号方式
chmod a=rwx,g=r,o=r test.sh
# 数字方式
chmod 744 test.sh
참고글:
https://dablelv.blog.csdn.net/article/details/102827264