리눅스에서 권한을 확인하고 변경하는 방법을 알아보겠습니다.
권한을 변경하는 명령어로 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
동시에 여러개 설정하는 경우에는 틀린 곳이 없는지 확인해가면 하는 것이 좋습니다.
댓글