Linux

[리눅스] chmod 명령어 완벽 가이드

인생아 2024. 9. 24. 08:55
반응형

chmod는 리눅스에서 파일 권한을 변경하는 명령어입니다. 파일의 읽기, 쓰기, 실행 권한을 설정할 수 있으며, 사용자(User), 그룹(Group), 그리고 기타(Others) 사용자들에게 개별적으로 권한을 부여하거나 제거할 수 있습니다.

chmod 명령어 기본 사용법

chmod는 두 가지 방식으로 사용됩니다: 기호 모드숫자 모드. 기호 모드는 사용자가 이해하기 쉽고, 숫자 모드는 더 빠르고 강력합니다.

1. 기호 모드(Symbolic Mode)

기호 모드는 u (사용자), g (그룹), o (기타), a (모든 사용자)로 표현됩니다. 그리고 +, -, = 기호로 권한을 설정합니다.

chmod [옵션] [사용자][연산자][권한] 파일명

예시: 사용자에게 실행 권한 추가

user@linux:~$ chmod u+x script.sh

2. 숫자 모드(Numeric Mode)

숫자 모드는 읽기(r)=4, 쓰기(w)=2, 실행(x)=1로 표현되며, 이를 조합하여 각 사용자에게 권한을 부여합니다.

권한 숫자
r-- 4
-w- 2
--x 1

예시: 사용자에게 읽기, 쓰기, 실행 권한(7), 그룹과 기타 사용자에게 읽기 권한(4) 부여

user@linux:~$ chmod 744 file.txt

chmod 명령어 예제

1. 파일에 실행 권한 추가

user@linux:~$ chmod +x script.sh
user@linux:~$ ls -l
-rwxr--r-- 1 user user 123 Sep 21 15:00 script.sh

이 명령은 script.sh 파일에 실행 권한을 추가합니다.

2. 특정 사용자만 쓰기 권한 부여

user@linux:~$ chmod u+w file.txt
user@linux:~$ ls -l
-rw-r--r-- 1 user user 456 Sep 21 14:30 file.txt

여기서는 file.txt 파일에 사용자에게만 쓰기 권한을 부여합니다.

3. 숫자 모드로 권한 설정

user@linux:~$ chmod 755 my_program
user@linux:~$ ls -l
-rwxr-xr-x 1 user user 789 Sep 21 14:45 my_program

755 권한은 사용자에게 모든 권한(읽기, 쓰기, 실행)을 부여하고, 그룹과 기타 사용자에게는 읽기 및 실행 권한을 부여합니다.

4. 모든 사용자에게 읽기 및 쓰기 권한 제거

user@linux:~$ chmod a-rw confidential.txt
user@linux:~$ ls -l
---------- 1 user user 1024 Sep 21 14:55 confidential.txt

이 명령은 confidential.txt 파일에서 모든 사용자에게 읽기와 쓰기 권한을 제거합니다.

chmod 명령어 옵션

  • -R: 하위 디렉토리와 파일에도 동일한 권한을 적용합니다.
user@linux:~$ chmod -R 755 /var/www/html
  • --reference=FILE: 다른 파일의 권한을 참조하여 설정합니다.
user@linux:~$ chmod --reference=file1.txt file2.txt

파일 권한 구조

리눅스 파일의 권한은 읽기(r), 쓰기(w), **실행(x)**의 조합으로 이루어집니다. ls -l 명령을 통해 파일의 권한을 확인할 수 있습니다. 예를 들어:

-rwxr-xr--
  • 첫 글자 -: 파일 타입 (일반 파일은 **-**로 표시)
  • rwx: 사용자 권한 (읽기, 쓰기, 실행)
  • r-x: 그룹 권한 (읽기, 실행)
  • r--: 기타 사용자 권한 (읽기)

chmod 명령어 요약

  • chmod파일 권한을 설정하는 데 사용됩니다.
  • 기호 모드와 숫자 모드를 사용하여 권한을 조정할 수 있습니다.
  • 755와 같은 숫자는 읽기, 쓰기, 실행 권한을 표현하는 조합입니다.
  • -R 옵션으로 하위 디렉토리에도 동일한 권한을 적용할 수 있습니다.

예제: chmod 명령어 실행

user@linux:~$ chmod 755 script.sh
user@linux:~$ ls -l
-rwxr-xr-x 1 user user 123 Sep 21 15:00 script.sh

이 명령은 script.sh 파일에 읽기, 쓰기, 실행 권한을 사용자에게 부여하고, 그룹과 기타 사용자에게는 읽기 및 실행 권한만 부여합니다.

반응형