고양이 여름이의 지식채널
[Linux] 리눅스 권한과 chmod 옵션 예제 본문
리눅스는 사용자와 프로세스에 다양한 수준의 권한을 제공하는 다중 사용자 운영 체제입니다.
권한 변경은 chmod 라는 명령어로 설정이 가능합니다. chmod 는 파일과 디렉터리의 권한을 변경하는 데 사용되는 리눅스 명령입니다. 파일을 읽고, 쓰고, 실행 할 수 있는 사용자를 지정하고 중요한 데이터에 대한 액세스를 제어할 수 있습니다. 이 명령은 숫자 또는 기호 모드를 사용하여 권한을 설정하고 파일 액세스에 대한 세부적인 제어를 제공합니다.
권한 표현
리눅스에서 파일 및 디렉터리 권한은 권한모드 또는 파일모드라고 하는 세 자리 숫자로 표시됩니다. 세 자리 숫자는 읽기, 쓰기 및 실행의 세 가지 권한 유형을 나타냅니다.
첫 번째 숫자는 파일 또는 디렉터리 소유자에 대한 권한을 나타내고, 두 번째 숫자는 파일 또는 디렉터리를 소유하는 그룹에 대한 권한을 나타내며, 세 번째 숫자는 다른 모든 사용자에 대한 권한을 나타냅니다.
또한 숫자는 문자와 같이 표현이 되는데 읽기, 쓰기, 실행 권한을 나타내기 위해 r, w, x 문자를 사용하여 나타냅니다.
<표현 방법>
[소유자권한] [그룹 소유자 권한] [일반사용자권한]
7 7 7
rwx rwx rwx
--숫자
각 자리의 숫자는 0에서 7 사이의 값을 가질 수 있습니다.
- 0 : No permission
- 1 : Execute permission
- 2 : Write permission
- 3 : Write and execute permission
- 4 : Read permission
- 5 : Read and execute permission
- 6 : Read and write permission
- 7 : Read, write, and execute permission
다음은 권한을 읽는 방법에 대한 몇 가지 예입니다.
- 777 : 소유자, 그룹 및 기타 사용자에게 읽기, 쓰기 및 실행 권한이 있습니다. (전체 허용)
755 : 소유자가 읽기, 쓰기 및 실행 권한을 가지고 있으며, 그룹 및 기타 사용자가 읽기 및 실행 권한을 가지고 있습니다.
644 : 소유자에게 읽기 및 쓰기 권한이 있으며, 그룹 및 기타 사용자에게 읽기 권한이 있습니다.
--문자
문자는 아래의 문자로 표현됩니다.
Letter | Permission Type |
r | read |
w | write |
x | execute |
r = 4 , w = 2, x = 1 로
이 문자를 이용하여 아래와 같이 표현할 수가 있습니다.
- 777 : rwxrwxrwx
- 755 : rwxr-xr-x
- 644 : rw-r--r--
디렉토리의 권한은 문자 앞에 d를 넣어서 표현합니다.
디렉토리 권한
777 - drwxrwxrwx
chmod
리눅스의 chmod 명령어는 파일과 디렉터리의 권한을 변경하는 데 사용됩니다. 여러 가지 방법으로 권한을 수정하는 데 사용할 수 있는 여러 옵션이 있습니다.
다음은 chmod 옵션의 몇 가지 예시 입니다.
# 기본 chmod 권한 변경
# myfile.txt 의 권한을 644 로 변경한다.
chmod 644 myfile.txt
# myfile.txt 의 권한을 777 로 변경한다.
chmod 777 myfile.txt
=======================================
# 옵션을 사용한 chmod 권한 변경
# 소유자, 그룹, 기타 사용자에 실행권한을 추가한다.
chmod +x file
# 소유자, 그룹, 기타 사용자에 쓰기 권한을 제거한다.
chmod -w file
# 소유자만 파일 읽기 권한을 추가한다.
chmod u+r file
# 그룹만 파일 쓰기 권한을 추가한다.
chmod g+w file
# 기타 사용자만 읽기 권한을 제거한다.
chmod o-r file
# 모든 사용자(소유자, 그룹 및 기타 사용자)에 실행 권한을 추가한다.
chmod a+x file
# 디렉토리 하위 모든 파일 및 디렉토리에 u+w 명령을 실행 (소유자만 쓰기 권한추가)
chmod -R u+w directory