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

Ubuntu 사용자와 그룹관리

by 지나는행인 2021. 4. 5.
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   디렉토리에 사용자가 생성될 때 기본적으로 있어야할 파일을 넣어둔다면,

 

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

 

 

 

 

 

댓글