본문 바로가기

OS/Linux

Linux - 권한관리 (chmod, chown, chgrp)

728x90

chmod 명령어
파일이나 디렉터리의 권한(퍼미션)을 변경하는 명령어입니다.


chmod [옵션] [퍼미션] [파일]
옵션
-c: 변경된 파일만 자세하게 보여준다.
-f: 변경되지 않은 파일에 대해서 오류 메시지를 보여주지 않는다.
-v: 작업상태를 자세히 보여준다.
-R: 경로와 그 하위 파일들을 모두 변경한다. // (주로 많이 사용)
--help: 도움말을 출력한다.
--version: 버전 정보를 보여준다.

 

chmod 명령어를 알기 전 리눅스에서 파일(File)이 가질 수 있는 권한은 세 가지로 나눌 수 있습니다.

  • 파일에 저장된 데이터를 읽기 (r = read)
  • 파일에 데이터를 쓰기 (w = write)
  • 파일 실행 (x = execute)

특정 파일이나 디렉터리에 부여된 권한을 알아보려면 ls -l 을 사용하거나 파일의 상태를 알려주는 stat 명령어를 사용해서 Access 필드를 보면 됩니다.

위 그림의 Access 항목에 있는 숫자(0777) 와 문자(-rwxrwxrwx) 의 의미는 다음과 같습니다.

위에서 말한 것과 같이 r은 읽기(read), w는 쓰기(write), x 는 실행(execution) 의 의미입니다.
예를 들어 0755로 권한이 설정되어 있다면 소유자는 읽고, 쓰고, 실행할 수 있고 소유자의 그룹은 읽고, 실행할 수 있고 그 외는 읽고 실행할 수 있다는 의미입니다.

 

chmod로 권한을 부여할 경우 숫자로도 가능하며 문자열로도 가능합니다.
기존에 부여한 권한에서 권한을 빼거나 더할때는 문자로 지정하는 게 편하고 전체를 새로 지정할 때는 숫자가 편합니다.

ex) chmod 755 22 또는 chmod +x 

접근 권한을 기호(문자)로 표현

  • 문자 표기법은 변경할 사용자(대상), 수행할 명령(연산), 설정할 퍼미션(접근 권한) 세 부분으로 분류됨
  • 다른 대상의 속성을 건드리지 않고 한 대상 속성만을 설정할 수 있는 장점을 가짐
  • 복수 지정은 콤마(,)를 사용하여 구분
 구 분  기 호  설 명
 사용자
(대상)
 u  user의 약자, 파일이나 디렉토리 소유자를 의미
 g  그룹 소유자
 o  others의 약자, 기타 사용자를 의미
 a  all의 약자, u,g,o의 조합
   아무 문자를 사용하지 않으면 all로 추정
 수행할 명령
(연산)
 +  추가
 -  제거
 =  지정, 기존의 속성 값은 사라짐
 설정할 퍼미션
(접근 권한)
 r  읽기
 w  쓰기
 x  실행

 

 

반응형

 

 

기호로 권한 설정 사용 예시

 표기법  의 미
 u+x  소유자에게 실행 권한을 추가
 u-x  소유자의 실행 권한 제거
 +x  모든 사용자(소유자, 그룹, 기타사용자)에게 실행 권한 추가
 o-rw  기타사용자의 읽기, 쓰기 권한 제거
 go=rw  그룹, 기타사용자에게 읽기, 쓰기 권한 지정, 이전에 실행 권한을 가지고 있다면 제거됨
 u+x,go=rw  소유자에게 실행권한을 추가하고 그룹, 기타 사용자에게 읽기, 쓰기 권한 지정
 a=rw  모든 사용자에게 읽기, 쓰기 권한 지정, 이전에 실행 권한을 가지고 있다면 제거됨
 g-w  그룹 소유자의 쓰기 권한 제거
 g+w,o-x  그룹 소유자에게 쓰기 권한 추가, 기타 사용자의 쓰기 권한을 제거

접근 권한을 8진수로 표현

  • 원하는 파일의 접근 권한을 설정하기 위해 8진수 표기법을 사용
  • 3자리의 8진수로 소유자, 그룹 소유자, 기타 사용자를 위한 파일 모드를 설정할 수 있음
  • r(읽기, 4) w(쓰기, 2) x(실행, 1)
 8진법  2진법  파일 모드
 0  000  ---
 1  001  --x
 2  010  -w-
 3  011  -wx
 4  100  r--
 5  101  r-x
 6  110  rw-
 7  111  rwx

chown 명령어
파일의 소유자나 소유그룹을 변경하는 명령어입니다.


chown [옵션] [소유자:소유그룹] [파일]
옵션
-c: 변경된 파일만 자세하게 보여준다.
-f: 변경되지 않은 파일에 대해서 오류 메시지를 보여주지 않는다.
-v: 작업상태를 자세히 보여준다.
-R: 경로와 그 하위 파일들을 모두 변경한다. // (주로 많이 사용)
--help: 도움말을 출력한다.
--version: 버전 정보를 보여준다.

 

ex) 33 파일의 소유자와 그룹을 root 계정에서 samso 사용자, 그룹으로 변경해 봅니다.

ex) 11 파일의 소유자만 samso 사용자로 변경해 봅니다.


chgrp 명령어
파일의 사용자 그룹만 변경하는 명령어입니다.


chgrp [옵션] [그룹] [파일]
옵션
-c: 변경된 파일만 자세하게 보여준다.
-f: 변경되지 않은 파일에 대해서 오류 메시지를 보여주지 않는다.
-v: 작업상태를 자세히 보여준다.
-R: 경로와 그 하위 파일들을 모두 변경한다. // (주로 많이 사용)
--help: 도움말을 출력한다.
--version: 버전 정보를 보여준다.


ex) 22 파일의 그룹을 root 계정에서 samso 그룹으로 변경해 봅니다.

 

728x90
반응형

'OS > Linux' 카테고리의 다른 글

Linux - RPM  (0) 2023.02.03
Linux - 찾기 명령어 (find)  (2) 2023.02.02
Linux - yum  (2) 2023.02.01
Linux - Crontab (크론탭)  (2) 2023.02.01
Linux - 언어설정 (locale)  (0) 2023.01.31