상세 컨텐츠

본문 제목

[Linux] 사용자 계정 관리 part 2

개발/R.Pi3 + Linux

by 똘똘이박사 2016. 8. 5. 14:53

본문

· 최초작성 : 2016. 07. 29.

최종수정 : 2016. 08. 05.

· 작성/수정내용 :

  - 리눅스 파일의 권한 설정과, 사용자 변경 그리고 그룹 관련 명령 등 을 알아 봅니다




시작하기에 앞서


아~ 놀고 싶다~

휴가가 어서 왔으면...

 테스트 설정

 - OS : 라즈비안(데비안계열)

 - 사용툴 : Putty




# 사용자 계정 관리에 대하여 - part 2


리눅스 사용자 계정 추가와 관련된 부분은 이전 포스팅에서 거의 대부분 살펴 보았습니다.

이번 포스팅에서는 사용자 계정의 권한(chmod)과 소유권 설정(chown), 그리고 그룹 관리에 대한 내용을 정리해 보려고 합니다.

(파일에 대한 소유권과 권한 설정이 계정과 아무런 상관이 없을 수 도 있겠네요;;;;;)



사용자 권한 변경


리눅스에서 파일의 권한은 크게 3가지 분류 됩니다.


파일의 소유권자, 소속 그룹, 다른 모든 사용자


리눅스에서 ls -al 명령으로 파일의 권한을 확인해 볼 수 있습니다.



결과물의 맨 앞줄을 보면 drwxr-xr-x 요런식으로 되어 있는 부분이 파일에 어떤 권한이 있는지를 나타내 줍니다.


조금 더 자세히 보면 아래 그림과 같습니다.



가장 앞자리는 파일이 디렉토리인지 또는 일반 파일인지 등 파일의 타입을 나타내고

그 다음은 3자리씩 묶어서 파일의 권한을 설정합니다.


파일의 타입과 각 사용자에 따른 권한에 대한 표시가 어떤 의미인지 살펴 보겠습니다.


파일 타입은 몇가지가 있지만 주로 보게 되는 타입은 - 과 d 일거 같습니다.


 -

 plain file, 일반적인 파일이 여기에 해당합니다. (실행 파일도 포함)

 d

 directory

 l

 link. 다른 파일을 가리키는 링크파일

 p

 pipe. 두개의 프로그램을 연결하는 파일

 b

 block device. 블록단위로 하드웨어와 반응하는 파일

 c

 character device. 스트림 단위로 하드웨어와 반응하는 파일 



파일에 대한 권한은 파일의 소유자나, 그룹, 모든 사용자가 동일은 규칙을 적용 받습니다.

우선 그 의미를 보면


 r(4)

 읽기(read)

 w(2)

 쓰기(write)

 x(1)

 실행(Execute)


r/w/x 가 들어갈 자리에 '-'이 있다면 해당 권한이 없다는 뜻입니다.


예를들어,

r-x 라면 읽기와 실행이 가능한 파일,

rws 라면 읽고, 쓰고, 실행이 가능한 파일

r-- 라면 읽기 권한 밖에 없다는 뜻 입니다.


그럼 이제 사용자 권한 변경에 대한 명령어를 살펴 보겠습니다.


역시 예제를 먼저 보는 것이 빠르겠지요?


방법1

  • chmod g+w test
    test 라는 파일에 대해서 그룹웨 쓰기권한을 부여.

  • chmod o-x test
    test라는 파일에 대하여 모든 사용자에게서 실행 권한 삭제


+/- 기호를 중심으로 앞에는 소유자/그룹/모든사용자 를 설정하고 뒤에는 읽기/쓰기/실행 의 권한을 설정합니다.

+는 권한을 주는 것이고, -는 권한을 삭제 합니다.


방법2

  • chmod 777 test
    test라를 파일에 대해서 소유자/그룹/모든 사용자에 대해 읽고, 쓰고, 실행 가능한 권한을 부여

  • chmod 641 test
    test라는 파일에 대해서 소유자는 읽고 쓰기만, 그룹웨는 읽기만, 모든 사용자에게 실행 권한 만 부여 합니다.


파일에 대한 권한을 설정 하는 방법은 위 처럼 2가지 방식이 있습니다.

편한 방식을 사용하시면 되겠네요


방법2는, 위의 속성중 괄호안의 속성과 관련이 있습니다.

총 3제리 숫자는 각각 소유자/그룹/모든 사용자 권한을 나타냅니다.

r w x 를 각각 숫자로 바꿔보면 4, 2, 1 이 됩니다.

이것을 합하면 7! 즉 읽고, 쓰고, 실행하는 모든 권한을 가지고 있다는 의미 입니다.

6이라면 r w - 이므로, 읽고 쓰기 권한만 있겠죠

이런 방식으로 한번에 모든 권한을 설정을 할 수가 있습니다.



파일의 소유권 변경은 조금 더 간단합니다.


chown 명령어 사용법

  • chown test test
    test파일의 소유자를 test로 수정

  • chown :test test
    test파일의 그룹을 test로 수정

  • chown test: test
    test 파일의 소유자 및 그룹을 test로 수정

  • chown test:test2 test
    test 파일의 소유자는 test로, 그룹은 test2로 수정


그럼 이제 마지막으로 그룹 관리와 관련된 내용 확인해 보겠습니다.



그룹 생성 및 삭제, 관리


리눅스 사용자 계정은 좋든 싫든 어딘가의 그룹에 소속이 됩니다

아무 옵션을 주지 않았다면 생성한 계정명과 동일한 이름의 그룹이 자동생성되어 그 그룹에 속하게 되며

아니면 이미 생성되어진 다른 그룹웨 포함 시킬 수 있습니다.



그룹관리의 핵심은 /etc/group 파일 입니다.


언제나 그렇듯이 먼저 예제 명령어를 보고 시작해 보겠습니다.



groupadd -1000 user01
groupadd -r user02


첫 번째 명령은 GID를 1000 으로 지정하여 'user01' 이라는 그룹을 생성한 것이고

두번째 명령은 0~499 까지의 GID 중에서 가장 높은 수 다음의 수를 할당하겠다는 내용입니다.


UID 등록과 마찬가지로 아무 옵션이 없다면 GID 역시 500 부터 시작을 합니다.

그 이전의 GID는 UID와 마찬가지로 시스템에서 사용을 합니다.

따라서 시스템에서 사용하는 범위의 GID를 설정 하려면 -r 옵션을 주어야 하는 것입니다.


한 가지 더 이야기 하자면 첫 번째 명령과 같이 1000 GID를 1000 으로 설정 하였다면

다음 그룹을 생성할때 아무 옵션을 주지 않았을 경우, GID는 1001 이 됩니다.

(UID도 마찬가지 입니다.)


그룹의 삭제는 상당히 간단 합니다.




groupdel user01


'groupdel 그룹명' 입니다.




그룹을 생성하였다면, 여러가지 이유로 관리(수정)을 해야 할 일들이 있습니다.


그룹의 관리는 gpasswd 명령어를 사용합니다.

특정 그룹웨 사용자를 추가 하거나 제거하고, 그룹웨 패스워드를 설정 할 수 있습니다.


우선 옵션들을 먼저 정리해 보겠습니다.

  -a

 특정 그룹웨 새로운 계정을 등록. 

  -d 

 특정 그룹웨서 지정한 계정을 삭제.

  -r

 특정 그룹 패스워드를 제거.

  -R

 특정 그룹웨 접근을 제한.

  -A

 특정 그룹의 관리자를 설정

  -M

 특정 그룹의 계정을 새로 설정 ( 이 경우 기존 계정은 무시함)


그리고 패스워드를 지정하는 방법은 어떤 옵션도 주지 않으면 됩니다.

그룹의 비번은 사용자 관리와 마찬가지로 /etc/group 에서 하지 않습니다

/etc/gshadow 에서 관리를 하고 있습니다.


반응형

관련글 더보기