본문 바로가기
프로그래밍/리눅스

프로그래밍 「 리눅스 편」chmod — 파일 권한 변경

by grapedoukan 2023. 6. 11.
728x90

chmod 모드에 따라 지정된 각 파일의 파일 모드 비트를 변경하며, 이는 변경할 내용의 기호 표현 또는 새 모드 비트의 비트 패턴을 나타내는 8진수일 수 있습니다.

간단히 말해서 사용자가 파일 및 디렉토리의 권한을 수정할 수 있습니다.chmod

아래는 chmod의 시놉시스입니다.

       chmod [OPTION]... MODE[,MODE]... FILE...
       chmod [OPTION]... OCTAL-MODE FILE...
       chmod [OPTION]... --reference=RFILE FILE...

파일/디렉터리의 사용 권한 확인

명령을 사용하여 파일의 기존 권한을 찾을 수 있습니다. 파일에 대한 자세한 정보를 얻으려면 플래그를 추가합니다.ls-l

ls -l <file_path>

첫 번째 문자는 입력 유형을 나타냅니다.

  • - 파일을 나타냅니다.
  • d 디렉토리를 나타냅니다.
  • i 링크를 나타냅니다.

다음 문자 집합을 각 그룹에 대해 최대 3개로 그룹화합니다. 이러한 그룹은 사용자, 그룹 및 기타 사용자에 대한 해당 사용 권한을 나타냅니다.

Chmod는 아래 두 가지 표기법을 사용하여 권한을 변경합니다.

심볼릭 모드

기호 모드는 및 조합을 사용하여 권한을 부여하거나 취소합니다.symbolsoperators

사용자 수준 권한

이러한 작업은 사용자 수준에서 사용 권한을 제어합니다.

  • u – 사용자에게 권한 부여
  • g – 그룹(사용자 그룹)에 권한 부여
  • o – 다른 사람(위의 어느 하나에 해당하지 않는 사람)에게 권한을 부여합니다.

파일 수준 권한

파일 수준에서 사용 권한을 제어합니다.

  • r – 읽기 권한 부여
  • w – 쓰기 권한 부여
  • x – 실행 권한 부여

연산자

이는 사용 권한을 추가 또는 제거할지 여부를 정의합니다

  • + – 권한 추가
  • - – 권한 제거
  • = – 사용 권한을 지정된 값으로 설정

심볼릭 모드 사용

  • 소유자에 대한 읽기 및 쓰기, 그룹 및 기타에 대한 읽기 전용:
chmod u+rw,go+r [file_name]

옥탈 모드

4진수 표기법은 숫자를 사용하여 권한을 나타냅니다. 각 숫자는 소유자, 그룹 및 다른 사용자에 대한 사용 권한 집합을 나타냅니다. 값 2, 1 및 <>은 읽기, 쓰기 및 실행 권한에 해당합니다.

통사론

chmod <user><group><others> test.sh
chmod 777 test.sh

8진수 모드 사용

모든 권한 제거

chmod 000 test.sh

사용자에게 모든 권한을 추가하고 다른 사용자 및 그룹만 읽을 수 있습니다.

chmod 744 test.sh
  • 첫 번째 숫자(7)는 사용자에 대한 권한을 나타냅니다: 7 = ( 4 () +2 () +1(readwriteexecute) )
  • 두 번째 숫자(4)는 그룹에 대한 사용 권한을 나타냅니다. 4(read)
  • 세 번째 숫자(4)는 다른 사용자의 사용 권한을 나타냅니다: 4(read)

chmod의 실제 사용 사례

파일을 실행 가능하게 만들 수 있는 권한 부여

간단한 bash 스크립트(test.sh)를 생성하고 실행합니다. "권한 거부" 오류 메시지가 표시됩니다. 파일이 실행 형식이 아니기 때문입니다.

이제 사용 권한을 사용하여 실행 권한을 추가하고 권한을 확인합니다. 이제 실행 파일 형식입니다.chmod +x test.sh

마찬가지로 다음을 사용하여 권한을 취소할 수 있습니다. -

chmod -x test.sh   #To revoke execute permission
chmod -r test.sh   #To revoke readpermission
chmod -w test.sh   #To revoke write permission

디렉터리의 사용 권한 추가 및 제거

2개의 하위 디렉터리가 있는 디렉터리를 만들고 읽기 권한을 제거합니다.

이제 디렉토리 내용을 읽어보십시오. "권한 거부" 오류 메시지가 표시됩니다. 그러나 자식 디렉터리의 내용을 읽을 수 있습니다.

부모 디렉터리의 사용 권한을 변경하는 것만으로는 자식 파일/디렉터리 사용 권한에 영향을 주지 않습니다. 모든 자식 디렉터리에 동일한 권한을 적용하려면 -R을 사용합니다.

sudo chmod -R -r testdir

결론

chmod와 다양한 표기법을 이해하면 사용자가 액세스 권한을 효과적으로 제어할 수 있습니다. 기호 표기법을 사용하든 8진수 표기법을 사용하든 chmod는 권한을 정확하게 관리할 수 있는 다양한 옵션을 제공합니다.

728x90