[Linux] 리눅스(CentOS7)

[Linux] 리눅스 사용자 관리 명령어 및 사용법

ITsubin 2022. 3. 2. 01:22

[ useradd ]

- 사용자 계정 생성 명령어

- 형식 : useradd (option) [계정명]

 

(useradd의 option)

-u [숫자] : UID 지정

-g [숫자] : GID 지정

-d : 홈 디렉터리 지정

-s : 셸 지정  ex) useradd -s /bin/csh testshell

     (접속 중인 셸을 확인하려면 echo $SHELL)

 

[ usermod ]

- 사용자 계정 속성 변경

- 형식 : usermod (option) [계정명]

 

(usermod의 option)

-u [숫자] : UID 변경

-g [숫자 또는 계정] : 메인그룹 변경

-G [숫자 또는 계정] : 보조그룹 변경

-c [별명] : 계정별명 변경

-s [셸] : 계정 셸 변경

-d [디렉터리] : 홈디렉터리 경로 변경

 

[ userdel ]

- 사용자 계정 삭제

- 계정 및 계정 문서 내용 삭제

- 계정 홈 디렉터리 및 메일 내용은 남아있음

- 계정 정지

 

(userdel의 option)

-r [사용자 계정]

 : 계정과 관련된 내용 모두 다 삭제

 : 기존 계정에 대한 정보를 남기지 않음

 : 계정 영구삭제

 

[ 사용자 관리 연습문제 (답은 아래에) ]

 

1. test40 ~ test45 계정을 생성하세요.
2. test40의 UID를 2000으로 변경하세요.
3. test41의 홈디렉터리를 /home/export/test41로 변경하세요.
4. test42의 별칭을 test4242로 변경하세요.
5. test43의 GID는 1001 , test44의 GID는 1002로 변경하세요.
6. test46 계정을 새로 만들 때 셸을 /bin/csh로 만드세요.
7. test46의 메인GID를 1000 , 보조 GID를 1001로 변경하세요.
8. test44를 삭제할때 홈 디렉터리는 유지하고, test45는 영구삭제하세요.

9. test41의 메인 GID를 43의 그룹과 같게 하고, 보조 GID를 test44와 같게 하세요.

[ 1번 답 ] - test40 ~ test45 계정을 생성하세요.

 

계정 생성

[root@localhost /]# useradd test40; useradd test41; useradd test42; useradd test43; useradd test44; useradd test45

 

생성 확인

[root@localhost /]# cat /etc/passwd | grep test4[0-5]
test40:x:1001:1001::/home/test40:/bin/bash
test41:x:1002:1002::/home/test41:/bin/bash
test42:x:1003:1003::/home/test42:/bin/bash
test43:x:1004:1004::/home/test43:/bin/bash
test44:x:1005:1005::/home/test44:/bin/bash
test45:x:1006:1006::/home/test45:/bin/bash

 

(/etc/passwd 파일은 새로 생성하면 파일의 마지막부터 추가되기 때문에 tail 명령어로 확인해도 됩니다.)

[root@localhost /]# tail -6 /etc/passwd
test40:x:1001:1001::/home/test40:/bin/bash
test41:x:1002:1002::/home/test41:/bin/bash
test42:x:1003:1003::/home/test42:/bin/bash
test43:x:1004:1004::/home/test43:/bin/bash
test44:x:1005:1005::/home/test44:/bin/bash
test45:x:1006:1006::/home/test45:/bin/bash
[root@localhost /]#

 

[ 2번 답 ] - test40의 UID를 2000으로 변경하세요.

 

UID 변경

[root@localhost /]# usermod -u 2000 test40

 

UID 변경 확인

[root@localhost /]# cat /etc/passwd | grep test40
test40:x:2000:1001::/home/test40:/bin/bash

 

[ 3번 답 ] - test41의 홈 디렉터리를 /home/export/test41로 변경하세요.

 

홈디렉터리 변경

[root@localhost /]# usermod -d /home/export/test41 test41

 

홈디렉터리 변경 확인

[root@localhost /]# cat /etc/passwd | grep test41
test41:x:1002:1002::/home/export/test41:/bin/bash

 

[ 4번 답 ] - test42의 별칭을 test4242로 변경하세요.

 

별칭 변경

[root@localhost /]# usermod -c test4242 test42

 

별칭 변경 확인

[root@localhost /]# cat /etc/passwd | grep test42
test42:x:1003:1003:test4242:/home/test42:/bin/bash

 

[ 5번 답 ] - test43의 GID는 1001 , test44의 GID는 1002로 변경하세요.

 

gid 변경

[root@localhost /]# usermod -g 1001 test43; usermod -g 1002 test44

 

gid 변경 확인

[root@localhost /]# cat /etc/passwd | grep test4[3-4]
test43:x:1004:1001::/home/test43:/bin/bash
test44:x:1005:1002::/home/test44:/bin/bash

 

[ 6번 답 ] - test46 계정을 새로 만들 때 셸을 /bin/csh로 만드세요.

 

test46 생성(: /bin/csh)

[root@localhost /]# useradd -s /bin/csh test46

생성 확인

[root@localhost /]# cat /etc/passwd | grep test46
test46:x:2001:2001::/home/test46:/bin/csh

 

[ 7번 답 ] - test46의 메인 GID를 1000 , 보조 GID를 1001로 변경하세요.

 

gid 변경

[root@localhost /]# usermod -g 1000 -G 1001 test46
또는
[root@localhost /]# usermod -g 1000 test46; usermod -G 1001 test46

gid 변경 확인

(메인 gid/etc/passwd 파일에서 확인이 가능하지만, 보조 gid는 확인이 불가합니다.

/etc/group 파일을 열어보면 GID1001test40 계정의 보조 그룹에 test46이 새로 생겼음을 확인할 수 있습니다.)

[root@localhost /]# cat /etc/passwd | grep test46
test46:x:2001:1000::/home/test46:/bin/csh
[root@localhost /]# cat /etc/group | grep test46
test40:x:1001:test46
test46:x:2001:
[root@localhost /]#

 

[ 8번 답 ] - test44를 삭제할 때 홈 디렉터리는 유지하고, test45는 영구삭제하세요.

 

test44 계정은 [문제 5]에서 gid1002로 바꿨기 때문에 그냥 지우면 오류가 납니다. test44gid를 다시 1005로 바꾼 후 지우면 됩니다.

[root@localhost /]# usermod -g 1005 test44 && userdel test44
[root@localhost /]# userdel -r test45

계정 삭제 확인

[root@localhost /]# cat /etc/passwd | grep test4[4-5]
[root@localhost /]#

test44의 홈 디렉터리가 남아있는 지도 확인하겠습니다.

위를 보시면 test44의 홈 디렉터리는 기본값으로 /home/test44인 것이 보입니다. ls 명령어로 체크하겠습니다..

[root@localhost /]# ls /home | grep test44
test44
[root@localhost /]#

 

[ 9번 답 ] - test41의 메인 GID를 43의 그룹과 같게 하고, 보조 GID를 test44와 같게 하세요.

[root@localhost /]# usermod -g 1004 -G 1002 test41

확인

[root@localhost /]# cat /etc/passwd | grep test41
test41:x:1002:1004::/home/export/test41:/bin/bash
[root@localhost /]# cat /etc/group | grep test41
test41:x:1002:test41
[root@localhost /]#