IT 프로그래밍 관련/리눅스 시작하기

Ubuntu 사용자와 그룹관리

지나는행인 2021. 4. 5. 23:24
728x90

현재 사용하고 있는 사용자 계정이 있다.

 

이것은 처음 시작할때 만든 계정이고, 이러한 계정은 생성시 따로 설정을 하지 않으면 본인의 계정명으로 새 그룹을

 

생성하고 그 그룹안에 사용자 계정을 만든다.

 

다중사용자가 가능한 운영체제이기때문에 , 여러개의 계정이 존재하는 것이 가능하고, 그룹또한 마찬가지이다.

 

계정 및 사용자는 뒤에 말하게 될 권한설정하는 것에도 별개로 작용한다.

 

그건 나중에 다시 이야기 한다.

 

먼저 현재 사용자 계정관련 정보와 그룹정보를 보는 파일을 실행해보겠다.

 

> /etc/passwd             <--- 사용자 계정 정보 파일

> /etc/group               <--- 그룹정보 확인 파일

 

뒤의 두개의 텍스트파일을 vim이나 기타 cat 등으로 읽을 수 있다.

* vim /etc/passwd   실행화면

계속 사용하고 있는 naya86 계정으로 정보확인을 해본다면 , 

 

사용자 이름: naya86

비밀번호: x(표시하지 않음)

사용자ID: 1000

소속 그룹: 1000

추가정보: cho kyeonghyeon

홈 디렉토리경로: /home/naya86

기본 쉘 종류 : bash

 

라는 뜻이다.

 

그 아래로도 다 사용자 계정이다. 계정별로, 사용자ID 는 다르지만, 그룹ID 는 같은 것이 있는게 보인다.

 

이것은 사용자 별로 같은 그룹으로 묶을 수 있다는 것이다.

 

* vim /etc/group 실행화면

위는 그룹정보파일이다.

 

앞서 말했다시피 , 사용자계정을 생성할때 별도의 그룹에 넣지 않으면, 사용자계정명으로 새로운 그룹이 생성된다.

 

위에서 naya86 계정을 생성하고 이용하면서 별도의 그룹으로 생성하지 않았으므로,

 

그룹 이름: naya86

비밀번호: x(표시하지 않음)

그룹 id : 1000

그룹에 속한 사용자 이름: 그룹의 주인은 따로 표시하지 않음

 

이렇게 된다고 볼 수 있다.

아래보면 Yeonhee 라는 그룹에 ohspace 라는 사용자가 있고, 이 사용자는 LIDAR 그룹에도 속해 있는 것을 볼 수 있다.

 

이처럼 한 사용자가 여러그룹에 포함되는것이 가능하다.

 

 

 

 

** 사용자 관리 명령어

사용자를 추가 및 삭제 , 정보변경 할 수 있다.

 

>adduser name (유저이름이 name인 사용자 생성)

>adduser --uid 1000 name (사용자ID가 1000이고 유저이름이 name인 사용자 생성)

>adduser --home /경로 name (홈디렉토리가 /경로 이고 이름이 name인 사용자 생성)

 

>passwd username  (유저이름이 username인 사용자의 비밀번호 지정/변경)

 

>usermod --groups groupname username (groupname 그룹에 username 사용자를 추가)

 

>userdel -r username (username 사용자 삭제. 홈 디렉토리까지 전부 삭제)

  ( -r 을 옵션으로 주지 않을 시 사용자 홈 디렉토리와 하위 파일들은 남아있음 )

 

>groups (현재 로그인된 사용자가 소속된 그룹)

>groups username (username 사용자가 소속된 그룹 확인)

 

 

** 그룹 관리 명령어

그룹을 추가 및 삭제, 정보변경 할 수 있다.

 

>groupadd groupname (groupname 그룹 생성)

>groupadd --gid 1000 groupname (그룹ID가 1000인 groupname 그룹 생성)

 

>groupdel groupname (groupname 그룹을 삭제, 단 해당 그룹의 메인 사용자가 없어야함)

 

>gpasswd mygroup (mygroup 그룹의 암호 지정)

>gpasswd -A newuser1 mygroup (newuser1을 mygroup의 관리자(Administrator)로 지정

>gpasswd -a newuser1 mygroup (newuser1을 mygroup의 사용자(account)로 지정

>gpasswd -d newuser1 mygroup (newuser1을 mygroup에서 제거)

 

 

 

 

이렇게 많은 사용자가 생성될 수 있는데 , 사용자가 생성될때마다 필요한 파일을 일일이 옮겨주는 것이 귀찮다.

 

이럴때는 관리자계정의 사용자가 /etc/skel   디렉토리에 사용자가 생성될 때 기본적으로 있어야할 파일을 넣어둔다면,

 

새로운 사용자생성시 사용자홈디렉토리에 파일이 복사되어 옮겨진다.