[Ubuntu] 우분투 사용자 권한 설정[Ubuntu] 우분투 사용자 권한 설정

Posted at 2018. 7. 20. 18:05 | Posted in Linux/Ubuntu
반응형




■ 우분투에서 사용자 권한


-. 우분투를 포함한 리눅스 시스템들은 최초에 개발될 때부터 다수의 사용자가 동시에 한 컴퓨터를 같이 쓰는 환경을 고려해서 개발되었다.
-. 다수의 사용자가 같이 하나의 컴퓨터를 사용할 때 가장 중요한 것은 파일의 소유권과 사용권한이다.
-. 리눅스는 모든 파일과 디렉토리에는 반드시 소유자 개념이 존재하고 소유 개념 외에도 소유자, 소유그룹, 제3자로 권한을 분리해서

   각각에 해당하는 사람에 따라서 파일을 읽고, 쓰고, 실행할 수 있는 권한을 따로 줄 수 있게 되어 있다.



# 소유자 개념의 구분


① 소유자
 · 파일의 주인을 말한다.
 · 파일을 생성하면 자동으로 해당 계정이 파일의 주인이 된다.

② 소유그룹
 · 계정들은 특정 그룹으로 묶여 있을 수 있다.
 · 같은 그룹으로 묶어 놓으면 파일의 소유주가 아니더라도 그룹 권한으로 파일을 다룰 수 있다.
 · $ groups 라고 입력하면 자신이 속한 그룹을 확인 할 수 있다.

③ 제3자
 · 자신이 파일의 소유자도 아니고, 소유그룹도 아닌 모든 계정은 제 3자 계정에 속한다.




# 디렉토리  정보


 $ ls -l



-. 위 이미지는 필자의 홈 디렉토리에서 명령을 입력했을때 나온 결과이다.
-. 가장 뒤쪽에 있는 단어가 디렉토리명 또는 파일명을 나타낸다.
-. 위에서 examples.desktop 파일을 제외하고는 전부 디렉토리인데 그 정보를 알려주는 부분이 맨 첫부분에 있다.



① 0번 영역
 · 디렉토리를 의미한다.
 · 파일은 -로 표시가 된다.


② 123 영역

 · 소유자의 사용권한을 의미한다.
 · 위 예제에서는 소유자는 읽고, 쓰고, 실행할 수 있는 모든 권한을 부여받았다.

③ 456 영역

 · 소유 그룹의 사용 권한을 의미한다.
 · 위 예제에서는 소유 그룹은 읽거나 실행할 수는 있지만 쓸 수는 없다.

④ 789 영역

 · 제3자의 사용권한을 의미한다.
위 예제에서는 제3자는 소유 그룹과 마찬가지로 읽거나 실행할 수는 있지만 쓸 수는 없다.


# 읽기, 쓰기, 실행 권한


① r권한
 · r은 읽는 권한을 의미한다.
 · r권한이 없으면 해당 사용자는 음악을 재생할 수도, 사진 파일은 사진을 볼 수도 없다.
 · 설령 파일의 소유자가 본인라고 해도 권한이 없으면 읽을 수 없다.

② w권한
 · w권한은 쓰기 권한을 의미한다.
 · 이 권한이 없으면 파일의 내용을 수정할 수가 없다.

③ x권한
 · x권한은 실행권한을 의미한다.
 · 대부분의 데이터 파일(음악, 사진, 문서)들은 실행파일이 아니기 떄문에 일고, 쓰는 권한을 부여 받으면 사용하는 데 문제가 없다.
 · 하지만 실행파일 같은 경우는 실행권한을 부여 받지 못하면 실행할 수가 없다.


# 우분투에서 디렉토리
 -. 디렉토리는 리눅스에서 파일의 일종으로 분류된다.
 -. 하지만 디렉토리 안쪽으로 이동해서 들어가려면 반드시 디렉토리가 실행권한을 가지고 있어야 한다.
 -. 따라서 위 예제에서 모든 디렉토리가 실행권한을 가지고 있는 것이다.
 -. 디렉토리에 실행권한이 없으면 cd명령으로 이동할 수 없다.
 -. 위에서 언급했듯이 아무리 자기 소유의 파일이라 할지라도 적절한 권한을 주지 않았다면 ‘권한 없음’ 오류를 만날 수 있다.




■ 권한 변경하기


-. 권한을 바꾸는 명령어는 chmod 이다.

-. chmode를 쓰는 방법은 영문자를 이용하는 방법과, 숫자를 이용하는 방법 2가지가 있다.

-. chmode는 파일의 소유자나 루트계정만이 실행할 수 있다.




# 영문자를 이용하는 방법


 $ chmod u-x Music


-. 위 명령을 Music 디렉토리의 소유자 권한 중에서 실행권한을 제거하라는 명령이다.

-. u는 소유자를 의미하고, -x는 실행권한 제거를 의미한다.


소유자

g

소유 그룹

o

제3자


+r 또는 -r

읽기 권한 추가 또는 삭제

+w 또는 -w

쓰기 권한 추가 또는 삭제

+x 또는 -x

실행 권한 추가 또는 삭제


위에서 설명한 내용을 바탕을 몇 가지 예제를 살펴보자.


ex01)

 $ chmod go+rwx Music


 -. 위 명령어는 Music 디렉토리의 소유 그룹과 제3자에게 일기, 쓰기, 실행권한을 모두  부여하겠다는 의미이다.


ex02)

 $  chmod o-xw Music


-. 위 명령어는 Music 디렉토리의 제3자에게 실행과 쓰기 권한을 주지 않겠다는 의미이다.



# 숫자를 이용하는 방법


 -. 아래 표처럼 각각의 권한마다 숫자를 지정해서 더해주는 방법이다.


4

W

2

X

1


예를 들어 보자.


ex01)

 $ chmod 755 Music 


-. 위 명령어는 소유자에게는 읽기(4), 쓰기(2), 실행(1) 권한을 전부 부여하고, 소유그룹과 제3자에게는 읽기(4)와 실행(1) 권한만을 부여하는 명령이다.

-. 총 세 자리 숫자를 적어줘야 하는데 첫 번째 자리 숫자 값은 소유자의 권한을, 두 번째 자리 숫자값은 소유 그룹의 권한을,

   마지막 셋째 자리 숫자 값은 제3자의 권한을 의미한다.



ex02)

 $ chmod 300 Music


-. 위 명령어는 소유자는 쓰기(2)와 실행(1) 권한을 부여하고, 소유 그룹과 제 3자에게는 아무런 권한을 부여하지 않는 명령이다.




■ 파일소유자나 소유  그룹 바꾸기

-. 파일의 소유자나 소유 그룹을 바꾸기 위해서는 chown이라는 명령어를 이용한다.
-. 소유 그룹을 바꾸는 명령어로 chgrp라는 명령이 따로 존재하지만 chown으로도 바꿀 수 있다.
-. 대신 chown 명령을 쓰기 위해서는 루트 권한(sudo 명령어 사용)이 필요하다.


# 파일 권한 변경하기

파일 권한 명령어는 아래와 같이 사용할 수 있다.

$ sudo chown UID : GID 폴더 or 파일명

UID : 해당 파일 및 폴더의 소유자
GID : 해당 파일 및 폴더의 소유 그룹


 $ sudo chown newuser:newgroup target.file


위 명령은 target.file이라는 파일을 소유자는 newuser로 바꾸고 소유 그룹은 newgroup으로 바꾸라는 명령이다.



# 디렉토리 권한 변경하기


-. 계정 권한 변경 같은 종류의 명령어는 1개의 파일만 지정하는게 아니라 다수의 파일을 지정하거나

  특정 디렉토리 밑에 있는 모든 디렉토리와  파일을 다 지정해야 할 경우도 있다.

-. 이런경우 특수기호 *(Asterisk)와 재귀 옵션인 -R을 활용하면 좋다.


 $ sudo chown aaa:bbb -R


위 명령은 현재 디렉토리에 있는 모든 파일과 디렉토리를 포함하고, 하위에 있는 모든 파일과 모든 디렉토리를 전부 포함해서 소유자를 aaa로 바꾸고, 소유그룹을 bbb로 바꾸라는 명령이다.


-. -r 옵션을 이용하면 하위에 있는 모든 파일과 디렉토리를 지칭할 수 있다.

-. -r 옵션은 많은 명령어들이 지원하는 옵션이다.




반응형
//