Ⅰ. Chmod 이란?
chmod(change mode)명령어는 유닉스와 리눅스 계열의 환경 안에서 쓰이는 파일 및 디렉터리의 권한에 대한 셸 명령어입니다.
Ⅱ. Permission 이란?
파일 및 디렉터리의 권한을 변경하기 앞서 권한이 어떻게 부여되어있는지 알아보도록 하겠습니다.
ls -al 이라는 명령어를 실행하게 되었을 때 나타는 내용은 다음과 같습니다.
-rw- rw- r-x 1 [소유자] [그룹 이름] [파일 크기] [작성월] [작성일] [작성연도] [파일명]
[root@feccle ~]# ls -al total 52 dr-xr-x---. 4 root root 284 Sep 9 2021 . dr-xr-xr-x. 17 root root 224 Aug 8 2020 .. -rw-------. 1 root root 1550 Aug 8 2020 anaconda-ks.cfg -rw-------. 1 root root 4964 Dec 24 07:52 .bash_history -rw-r--r--. 1 root root 18 Dec 28 2013 .bash_logout -rw-r--r--. 1 root root 176 Dec 28 2013 .bash_profile -rw-r--r--. 1 root root 176 Dec 28 2013 .bashrc drwxr-xr-x. 3 root root 18 Oct 20 2020 .cache drwxr-xr-x. 3 root root 18 Oct 20 2020 .config -rw-r--r--. 1 root root 100 Dec 28 2013 .cshrc -rw-r--r--. 1 root root 3 Jan 9 2023 tcp_fin_timeout~ -rw-r--r--. 1 root root 3 Jan 9 2023 tcp_fin_timeouw~ -rw-r--r--. 1 root root 3 Jan 9 2023 tcp_fin_timeoux~ -rw-r--r--. 1 root root 3 Jan 9 2023 tcp_fin_timeouy~ -rw-r--r--. 1 root root 3 Jan 9 2023 tcp_fin_timeouz~ -rw-r--r--. 1 root root 129 Dec 28 2013 .tcshrc |
-rw-r--r-- 의 rw r r 은 무엇인지 알아보겠습니다.
파일에서의 rwx권한 r 은 read로 읽기를 나타내고 값은 4입니다.
cat,more,vim,cp 등과 같이 파일의 내용을 읽어 들이는 것과 관련있습니다.
w는 write로 쓰기가 가능하다는 것을 나타내고 값은 2입니다.
cat,echo,vim등과 같은 파일의 내용을 수정,변경 하는 것과 관련 있습니다.
x는 execute로 실행이 가능하다는 것을 나타내고 값은 1입니다.
실행 파일 같은 경우 실행 여부와 관련이 있습니다.
디렉토리에서의 rwx권한에 대해서 알아보겠습니다.
drwx r-x rw- [맨앞 d는 디렉토리를 의미합니다]
r권한은 ls,dir등과 같이 디렉터리 내부 내용을 읽어드리는 것과 관련 있습니다.
w권한은 mkdir,touch,rm,mv과 같은 디렉토리 내부에 생성,삭제와 관련이 있습니다.
x권한은 디렉토리에 x가 없다는 것은 대부분의 명령어를 이용 할 수가 없게 됩니다.
-rwxrwxrwx 가 세 개로 나누어져 있는데 rwx 가 세트도 되며, 각각 Owner, Group, Other 로 이루어져 있습니다.
첫 번째는 파일의 소유자(owner) : 파일소유자가 갖는 파일 및 디렉터리에 대한 권한입니다.
두 번째는 파일의 해당 (Group) : 소유자와 같은 그룹에 속한 사람들의 파일에 대한 권한입니다.
세 번째는 그 외(other) : 소유자와 같은 그룹에 속한 사람들을 제외한 모든 사람들 권한입니다.
Ⅲ. Chmod 사용방법
chmod [옵션] [권한값] [특정 파일 혹은 특정 디렉터리]
ex) chmod -R 755 /usr/local/*
* -R: 지정한 디렉터리 및 하위 디렉터리 및 파일의 권한을 변경합니다.
chmod의 특수 목적 접근 모드
퍼미션 방식 외에도 4자리 표기법인 특수 목적 접근 모드가 있습니다.
code | 비트명 | 절대적 방법 | 의미 |
1 | sticky bit | 1000 | 실행 후에도 메모리를 점유하도록 설정 |
2 | SetGID(Set Group ID) | 2000 | 프로세스 실행 당시 GID로 설정 |
3 | SetUID(Set User ID) | 4000 | 프로세스 실행 당시 UID로 설정 |
사용 방법
ex1) 1000(code 1) + 퍼미션 방식 750(rwx r-x ---) = 1750
ex2) chmod 4750 tomcat : tomcat 파일을 실행할 때 실행파일을 가진 user의 권한을 갖고 실행합니다.
chmod 2750 http : http t파일을 실행할 때 실행파일을 가진 그룹의 권한을 갖고 실행합니다.
Ⅳ. chown 이란?
chown(change the owner of a file) 명령어는 유닉스 및 리눅스 계열의 시스템에서 파일의 소유권을 바꾸기 위해서 사용됩니다. 대부분의 경우 root 만이 실행할 수 있다. 소유하고 있는 파일의 그룹을 바꾸고 싶어하는 권한이 없는 (일반적인) 사용자들은 chgrp을 사용해야 합니다.
Ⅴ. chwon 옵션
chown [옵션] [소유자] [그룹 이름] [특정 파일 혹은 특정 디렉터리]
[root@feccle ~]# chown feccle:feccle access.log access.log의 소유자를 'feccle'으로, 그리고 그룹을 'feccle'로 바꾸기 [root@feccle ~]# chown :427 /home /home의 그룹을 427 (그룹 이름이 식별자 427로 연관이 있든지 없든지 간에)로 바꾸기 [root@feccle ~]# chown -R feccle root root의 소유권을 사용자 feccle로 바꾸기 |
Ⅵ. chgrp 이란?
유닉스 및 리눅스 계열 시스템에서 일반 사용자들이 파일 시스템 오브젝트에 연결된 그룹을 변경하는 명령입니다.
파일 시스템 오브젝트에는 3가지 집합의 접근 권한이 있는데, 그 중 하나가 소유자를 위한 것이고, 다른 하나가 그룹을 위한 것이며, 나머지 하나가 기타 사용자를 위한 것입니다
Ⅶ. chgrp 사용방법
chgrp [옵션] [그룹 이름] [특정 파일 혹은 특정 디렉터리]
옵션명
-R: 하위 디렉터리에도 적용한다.
-v: 변경되는 오브젝트의 이름을 출력한다.
-f: 오류가 발생하더라도 다른 오브젝트에 적용을 계속한다.
[root@feccle ~]# ls -l *.conf -rw-rw-r-- 1 feccle school 4712 Nov 28 2022 httpd.conf -rw-rw-r-- 1 feccle school 1814 Nov 28 2022 server.conf $ chgrp staff *.conf $ ls -l *.conf -rw-rw-r-- 1 feccle company 4712 Nov 28 2022 httpd.conf -rw-rw-r-- 1 feccle company 1814 Nov 28 2022 server.conf httpd.conf, server.conf 라는 파일에 연결된 그룹을 school 에서 company 로 변경 할 수 있습니다. |
Ⅷ. umask 란?
새롭게 만들어지는 파일에 대한 파일 권한을 제한하는 기능이며, 파일이 생성될 때 요구되는 허가권을 설정을 제한하는 데 사용됩니다. 기본 값은 022 입니다.
새로 생성되는 파일의 권한은 그룹과 다른 모든 사용자에 대해서 쓰기권한을 주지 않는 644(rw-r--r--)또는 755(rwxr-xr-x)가 된다. 다시 말해, 일반 텍스트 파일의 경우 644이며 실행파일에 경우는 755가 됩니다.
'시스템(Linux)' 카테고리의 다른 글
rsync 에 대해 알아보겠습니다. (0) | 2023.04.19 |
---|---|
링크파일에 대해 알아보겠습니다. (0) | 2023.02.14 |
접근통제 보안 모델에 대해 알아보겠습니다. (0) | 2023.01.23 |
일정한 간격의 반복적인 작업 실행을 위한 리눅스 명령어에 대해 알아보겠습니다. (0) | 2023.01.20 |
리눅스(Linux) find 명령어 사용법 (2) | 2023.01.08 |