Linux 파일 폴더 권한 확인 변경 chmod

리눅스에서 권한을 확인하고 변경하는 방법을 알아보겠습니다.

권한을 변경하는 명령어로 chmod를 사용합니다.

$ chmod 777 hoge.txt

 

하지만 의미 모를 숫자를 지정합니다.

또는 파일과 폴더를 확인할 때도 의미를 모르는 영어들이 나옵니다.

-rw-r--r--  1 user user      9  1月 1 00:00 hoge.txt

 

권한을 변경할때 설정하는 숫자들과 ls 명령어를 사용해 파일과 폴더 리스트에서 표시되는 영어들에 대해서 먼저 알아야 합니다. 

 

권한 종류

「-rw-r–r–」 또는 「drwxr-xr-x」 10개 문자에 대해 먼저 알아보겠습니다.

1번째 문자는 파일 종류를 의미합니다.

종류의미
 – 파일
 d 디렉토리
 l 링크

 

2번째부터 4번째 문자는 파일의 소유자 권한을 의미합니다.

5번째부터 7번째 문자는 소유 그룹을 의미합니다.

8번째부터 10번째 문자는 그 외 권한을 의미합니다. 

-rw-r–r–를 다시 확인해보면

파일 종류는 파일이고,

소유자에게 읽기와 쓰기 권한이 있으며,

소유 그룹은 읽기 권한이 있습니다.

그리고 소유자와 소유 그룹이 아닌 그 외 유저에게는 읽기 권한이 설정되어 있습니다.

drwxr-xr-x를 확인해보면

파일 종류는 디렉토리이고,

소유자에게는 읽기, 쓰기, 실행 권한이 있으며,

소유 그룹은 읽기와 실행 권한이 있습니다.

그리고 그 외 유저에게는 읽기와 실행 권한이 설정되어 있습니다.

 

 

접근 권한 변경

파일과 디렉토리 권한을 변경하는 방법을 알아보겠습니다.

권한을 변경하기 위해 chmod 명령어를 사용합니다.

$ ls -l 
-rw-r--r--  1 user group      9  1月 1 00:00 hoge.txt

$ chmod 764 hoge.txt
$ ls -l
-rwxrw-r--  1 user group      9  1月 1 00:00 hoge.txt

 

chmod는 숫자로 권한을 변경할 수 있습니다.

모드(숫자)모드(알파벳)권한
 4 r 읽기
 2 w 쓰기
 1 x 실행

 

표에 작성되어 있는 숫자를 더해서 소유자소유 그룹그 외 유저 순으로 값을 입력합니다.

chmod 764 hoge.txt 를 확인해보겠습니다.

소유자는 읽기, 쓰기, 실행 권한 (7 = 4+2+1)

소유 그룹은 읽기 쓰기 권한 (6 = 4+2)

그 외 유저는 읽기 권한(1 = 1)

이 설정되어 있습니다.

이번에는 알파벳으로 권한을 변경하는 방법을 보겠습니다.

$ ls -l
-rw-r--r--  1 user group      9  1月 1 00:00 hoge.txt

$ chmod u+x hoge.txt
$ ls -l
-rwxr--r--  1 user group      9  1月 1 00:00 hoge.txt

$ chmod g+w hoge.txt
$ ls -l
-rwxrw-r--  1 user group      9  1月 1 00:00 hoge.txt

 

알파벳으로 권한을 변경하는 경우에는 chmod에 아래처럼 설정을 해야 합니다.

chmod 변경대상 변경방법 변경내용 파일명

실제 chmod를 작성해보면 다음과 같습니다.

$ chmod u+x hoge.txt

u – 변경 대상

+ – 변경 방법

x – 변경 내용

에 해당합니다.

변경 대상을 다음 중 하나를 선택합니다.

변경대상의미
 u 유저
 g 그룹
 o 그 외 유저
 a 전체

 

변경 방법은 다음 중 하나를 선택합니다.

변경 방법의미
 = 지정 권한 설정
 + 지정 권한 추가
 – 지정 권한 삭제

 

변경 내용은 다음 중 하나를 선택합니다.

변경 내용의미
 r 읽기
 w 쓰기
 x 실행

 

$ chmod u+x hoge.txt 명령어를 확인해보면

소유자에게 실행 권한을 추가로 부여했습니다.

변경 대상이나 변경 내용은 동시에 여러개 설정할 수 있습니다.

$ chmod go+w hoge.txt

$ chmod a-wx hoge.txt

 

동시에 여러개 설정하는 경우에는 틀린 곳이 없는지 확인해가면 하는 것이 좋습니다.

댓글