본문 바로가기
컴퓨터 활용(한글, 오피스 등)/50_2.운영체제_리눅스

Linux_계정과 그룹 관리

by 3604 2023. 4. 28.
728x90

[Linux] 계정과 그룹 관리

출처: https://pmin-a.tistory.com/53

사용자를 식별하고 인증을 받거나 로컬/네트워크 자원에 접근하는 것을 가능하게 해주는 객체 

       - 관리자 : 시스템을 관리(window:administor, linux:root(수퍼유저))

       - 일반 사용자 : 제한되어있음 

 

리눅스의 일반 사용자 : $

리눅스의 관리자 : #

 

 

그룹 

하나의 그룹에 소속된 계정은 그룹의 권한을 그대로 상속

권한을 편리하게 할당하기 위하여 사용

 

 

사용 목적
사용자를 식별하여 인증/접근

권한 할당을 통해 보안성 향상

사용자 별 환경 제공 

 


 

리눅스의 계정 생성 

# useradd 사용자명

=> # useradd test01

 

리눅스 계정 삭제 

# userdel -r 사용자명 

-r 옵션은 사용자의 홈 디렉터리까지 삭제

 

비밀번호 설정

# passwd test01

 

설정 확인

# tail -1 /etc/passwd

passwd에서 제일 마지막에 추가된 계정을 확인 가능 

tail /etc/passwd 시 최근 10개 목록 

 

 

/etc/passwd 파일 

root(사용자 계정이름) :x(패스워드가 암호화 되어 /etc/shadow파일에 저장 :0(uid) :0(gid) :(comment주석) :/root(사용자의 홈디렉터리) :/bin/bash(사용자의 shell정의)

test01:x:501:501::/home/test01:/bin/bash 

 

passwd가 암호화 되있는 x는 /etc/shadow에 들어가 있다 !!

 

 

*which /passwd에서 나오는 /usr/bin/passwd와의 차이점 

패스워드를 변경할 때 사용하는 파일 

 

 

/etc/skel 디렉터리

사용자 계정의 홈 디렉터리에 제공 할 기본 환경설정 파일이 저장된 디렉터리

사용자 홈 디렉터리의 초기 환경 제공을 위해 사용

사용자 계정을 생성 했을 때 skel 디렉터리에 있는 파일들이 자동으로 사용자 홈 디렉터리로 복사

==> 이미 생성된 사용자에게는 영향X , 새로 생성되는 사용자에게만 영향을 끼침 !!

 

기존 /etc/skel을 복사하여 /etc/ktel 생성

# cp -r /etc/skel /etc/ktel

(디렉터리는 -r 필수)

 

사용자를 생성하는데 /etc/skel이 아닌 /etc/ktel을 참조하도록 생성

# useradd -mk /etc/ktel test02 

 

생성된 사용자의 정보 변경은 usermod로 가능 

# usermod ~~~~~~~ 사용자명 

 


그룹 관리 파일

/etc/group 사용자의 그룹 정보

 

그룹 관리 명령어

groups 사용자 그룹 정보 확인

groupadd 사용자 그룹 생성

groupdel 사용자 그룹 삭제

 

 

그룹을 생성하거나 삭제할 때 맨뒤 계정명 !

# groupadd [옵션] [계정명]

# groupadd -g 520 testgr

# groupdel testgr 

 

2차그룹(G) : g(1차,기본)와 구분 

 

 

 

Q) UID : 600 , GID(610), 2차 GID(611) 으로 사용자 test600 생성 

# usradd -u 600 -g 610 -G 611 test600 

==> 610 그룹과 611 그룹이 없음 !!!!!!

# groupadd -g 610 testgroup1

# groupadd -g 611 testgroup2

# usradd -u 600 -g 610 -G 611 test600 

 

 

/etc/default/useradd 수정을 통해 계정 생성 방법

# vi /etc/default/useradd 

② HOME=/home2 

⑤ SHELL=/bin/csh 

⑥ SKEL=/etc/ktel

을 수정하면 useradd시 저 디폴트 값에 의해 계정이 생성된다.

 

/home2는 없는 디렉터리 이므로 생성

# mkdir /home2

# useradd defautest

 

# ls /home2 

defautest

# tail -1 /etc/passwd 

defautest:x:506:506::/home2/defautest:/bin/csh

생성된 것을 확인 할 수 있음

 

사용자 삭제 후 file 복구

# userdel -r test06 

# tail -1 /etc/passwd //사용자 삭제 확인 

# rm -rf /home2 //home2 디렉터리 삭제

# vi /etc/default/useradd 열어서 원상 복구 

 

리눅스시스템에는 사용자를 생성하면 자동으로 사용자명과 같은 그룹이 생성됩니다. 따라서 리눅스에서는 자신의 계정 이름과 동일한 그룹에 반드시 속하게 되며, 특정 그룹을 만들어서 기존의 사용자들이 소속되게 할 수도 있습니다.

그룹 추가 - groupadd

groupadd 명령어로 생성되는 그룹은 특별한 옵션이 주어지지 않는 한 GID는 499 까지는 할당되지 않는다. 즉, GID 가 500 이상인 그룹들 가운데 가장 낮은 GID 번호로 그룹을 생성하게 된다( -r 옵션 사용시에는 예외).

BASH
groupadd teamzezz

아무 옵션없이 새로운 그룹을 생성하면 기존에 있던 그룹의 마지막 번호 다음번호를 GID 로 할당하여 teamzezz 라는 그룹이 생성된다.

BASH
grep teamzezz /etc/group

  teamzezz:x:501:

특정 GID를 할당하여 그룹을 생성

BASH
groupadd -g 1000 admin

이후부터 추가되는 그룹은 GID 가 1001 로 지정된다. 항상 가장 마지막 GID 다음 번호로 할당됨을 유념하자.

BASH
tail -f /etc/group

  ... (중략)
  nestgoer:x:500:
  teamzezz:x:501:
  admin:x:1000:

시스템용 그룹 (GID 499 이하)을 생성

BASH
groupadd -r sysadmin

위와 같이 -r 옵션을 사용하면 0 번 부터 499 까지의 할당되어 있지 않은 GID 중 가장 높은 번호를 할당해 준다.

그룹 삭제 - groupdel

BASH
groupdel sysadmin

그룹 확인 - groups

BASH
groups

  nestgoer wheel

그룹 관리 - gpasswd

리눅스 시스템을 사용하는 주체는 두가지로 볼 수 있는데 그것은 사용자이거나 그룹이다. 특정 그룹에 사용자를 추가하거나 제거하고 특정 그룹에 패스워드를 설정하는 작업은 gpasswd를 이용한다.

gpasswd 옵션

  • -a user : 특정 그룹에 새로운 그룹멤버를 추가함.
  • -d user : 특정 그룹에서 지정한 그룹멤버를 제거함.
  • -r : 특정 그룹의 패스워드를 제거함
  • -R : 특정 그룹에 접근을 제한함
  • -A user, ... : 특정 그룹의 그룹관리자를 설정함
  • -M user, ... : 특정 그룹의 그룹멤버를 새로 설정함.

위의 옵션들 가운데 -A 와 -M 외의 옵션들은 동시사용이 가능하다.

그룹에 사용자 추가

그룹에 사용자를 추가하는 방법 3가지

  • vi 명령어로 /etc/group 파일을 편집하여 직접 등록한다.
  • gpasswd 명령어의 -M 명령어로 그룹멤버를 직접 설정한다.
  • gpasswd 명령어의 -a 옵션으로 새로운 멤버를 추가 등록한다.

zezz 사용자를 wheel 그룹에 설정

BASH
gpasswd -a zezz wheel

zezz 사용자를 wheel 그룹에 삭제

BASH
gpasswd -d zezz wheel

특정 그룹의 그룹패스워드 설정/변경/제거

흔치 않은 일이지만 그룹에 패스워드를 설정할 경우가 생길 수 있다. 그룹의 패스워드는 /etc/gshadow 파일에 저장된다.

그룹에 패스워드 설정 및 변경

BASH
gpasswd wheel

그룹에 패스워드 삭제

BASH
gpasswd -r wheel

특정그룹멤버를 특정그룹의 그룹관리자로 설정

gpasswd 명령어 사용시 -A 옵션을 사용하면 그룹관리자를 설정할 수 있다. 단, 그룹관리자를 설정하려면 그룹정책을 보안그룹계정정책(Secure group account information)일 때에만 유효하다. 그 이유는 그룹관리자가 등록되는 파일이 /etc/shadow 파일이기 때문이다. CentOS 6.4 는 기본적으로 /etc/gshadow 파일이 존재하는 보안그룹계정정책이다.

wheel 그룹의 그룹관리자로 nestgoer를 설정한다.

BASH
gpasswd -A nestgoer wheel

그룹관리자 확인

BASH
grep wheel /etc/gshadow

  wheel::nestgoer:nestgoer,zezz

특정 그룹의 그룹멤버 설정

그룹 멤버를 완전히 새로 설정하는 예이다. 즉, 기존 그룹멤버를 완전히 무시하고 새로운 그룹멤버들을 설정하는 방법이다.

BASH
gpasswd -M nestgoer,tiffiny
BASH
grep wheel /etc/group

  wheel:x:10:nestgoer,tiffiny

 

728x90