일반적인 Linux 명령(7): chmod 명령(files/chmod 777에 읽기 및 쓰기 권한 부여)

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

추천

출처blog.csdn.net/weixin_49114503/article/details/132994396