시스템(Linux)

권한 및 그룹설정에 대해 알아보겠습니다.

forward error correction Circle 2023. 1. 30. 07:31
반응형


Ⅰ. 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 등과 같이 파일의 내용을 읽어 들이는 것과 관련있습니다.

wwrite로 쓰기가 가능하다는 것을 나타내고 값은 2입니.

cat,echo,vim등과 같은 파일의 내용을 수정,변경 하는 것과 관련 있습니다.

xexecute로 실행이 가능하다는 것을 나타내고 값은 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가 됩니다.

반응형