[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
groupadd 명령어로 생성되는 그룹은 특별한 옵션이 주어지지 않는 한 GID는 499 까지는 할당되지 않는다. 즉, GID 가 500 이상인 그룹들 가운데 가장 낮은 GID 번호로 그룹을 생성하게 된다( -r 옵션 사용시에는 예외).
groupadd teamzezz
아무 옵션없이 새로운 그룹을 생성하면 기존에 있던 그룹의 마지막 번호 다음번호를 GID 로 할당하여 teamzezz 라는 그룹이 생성된다.
grep teamzezz /etc/group
teamzezz:x:501:
특정 GID를 할당하여 그룹을 생성
groupadd -g 1000 admin
이후부터 추가되는 그룹은 GID 가 1001 로 지정된다. 항상 가장 마지막 GID 다음 번호로 할당됨을 유념하자.
tail -f /etc/group
... (중략)
nestgoer:x:500:
teamzezz:x:501:
admin:x:1000:
시스템용 그룹 (GID 499 이하)을 생성
groupadd -r sysadmin
위와 같이 -r 옵션을 사용하면 0 번 부터 499 까지의 할당되어 있지 않은 GID 중 가장 높은 번호를 할당해 준다.
그룹 삭제 - groupdel
groupdel sysadmin
그룹 확인 - groups
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 그룹에 설정
gpasswd -a zezz wheel
zezz 사용자를 wheel 그룹에 삭제
gpasswd -d zezz wheel
특정 그룹의 그룹패스워드 설정/변경/제거
흔치 않은 일이지만 그룹에 패스워드를 설정할 경우가 생길 수 있다. 그룹의 패스워드는 /etc/gshadow 파일에 저장된다.
그룹에 패스워드 설정 및 변경
gpasswd wheel
그룹에 패스워드 삭제
gpasswd -r wheel
특정그룹멤버를 특정그룹의 그룹관리자로 설정
gpasswd 명령어 사용시 -A 옵션을 사용하면 그룹관리자를 설정할 수 있다. 단, 그룹관리자를 설정하려면 그룹정책을 보안그룹계정정책(Secure group account information)일 때에만 유효하다. 그 이유는 그룹관리자가 등록되는 파일이 /etc/shadow 파일이기 때문이다. CentOS 6.4 는 기본적으로 /etc/gshadow 파일이 존재하는 보안그룹계정정책이다.
wheel 그룹의 그룹관리자로 nestgoer를 설정한다.
gpasswd -A nestgoer wheel
그룹관리자 확인
grep wheel /etc/gshadow
wheel::nestgoer:nestgoer,zezz
특정 그룹의 그룹멤버 설정
그룹 멤버를 완전히 새로 설정하는 예이다. 즉, 기존 그룹멤버를 완전히 무시하고 새로운 그룹멤버들을 설정하는 방법이다.
gpasswd -M nestgoer,tiffiny
grep wheel /etc/group
wheel:x:10:nestgoer,tiffiny
'컴퓨터 활용(한글, 오피스 등) > 50_2.운영체제_리눅스' 카테고리의 다른 글
리눅스 - sudo 명령어에서 root 권한이 없을 때_.. is not in the sudoers file (0) | 2023.04.28 |
---|---|
[UNIX / Linux] 사용자 정보, 그룹 정보 (0) | 2023.04.28 |
KVM Virtual Machines on Rocky Linux 9 using Cockpit (0) | 2023.04.27 |
xming 설치 및 사용법 (0) | 2023.04.27 |
Rocky linux 설치 (0) | 2023.04.27 |