메뉴 건너뛰기

조회 수 5312 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

root의 권한을 가진 상태에서 User, 즉 사용자들의 계정을 관리할 수 있습니다.

 

유저를 생성, 삭제 시킬수도 있고 그룹생성, 삭제와 유저의 그룹이동 그리고 유저계정의 패스워드 삭제, 지정 등 다양한 기능이 있습니다.

 

 위        치

의        미 

 /etc/passwd

사용자 계정 정보의 저장소  (누구나 볼 수 있음)

 /etc/shadow

 암호화(password)된 사용자 정보 (관리자만 볼 수 있음)

 /etc/group

 그룹 목록들에 대한 정보

 /home

 사용자별 홈 디렉토리

 

자 그럼 cat명령어를 이용해서 /etc/passwd를 조회해 보겠습니다.

 

 

제가 생성한 사용자 계정 blue 를 예를들어 설명하겠습니다.



blue : x : 500 : 500 : : /home/blue : /bin/bash

 

 위        치

의        미 

 blue

사용자 계정명 

 x

패스워드 (패스워드 삭제 시 빈공간이 됩니다. x는 패스워드가 존재한다는 뜻입니다.)

 500

 UID (User ID, 500번부터 시작, UID가 0이면 root관리자를 나타냅니다.)

 500

 GID (Group ID, 500번부터 시작, GID가 0이면 root관리자를 나타냅니다.)

 /home/blue

홈 디렉토리 위치

 /bin/bash

사용자 시스템 로그인 시 shell의 위치 

 

이번에는 cat명령어를 이용해서 /etc/shadow를 조회해 보겠습니다.

 

 

blue : !! : 15327 : 0 : 99999 : 7 : : :

 

 위        치

의       미 

 blue

 사용자 계정명

 !!

패스워드(md5암호화된 패스워드가 존재합니다.)

패스워드 설정은 아래에 passwd명령어에 관한 설명에서 찾아보시면 됩니다.

 15327

 암호 생성 일자

 0

 암호 변경 가능 최소 시간

 99999

 초기 암호변경 없이 사용 유효기간

 7

 만료 지정시 만료 경고일수

 

이번에는 cat명령어를 이용해서 /etc/shadow를 조회해 보겠습니다.

 

 

blue : x : 500 :

 

 위치

의미 

 blue

 그룹명

 x

 그룹 패스워드

 500

 GID

 NULL

 그룹 구성원 사용자(User) 이름

 

자 이제 유저와 그룹을 생성, 삭제, 관리하는 방법을 알려드리겠습니다.

 

<1. useradd명령어로 사용자 계정 추가>

 

명령어 형식 : useradd [option] [계정명]

 

-p : 패스워드 지정

 

-u : 사용자 UID 변경

 

-g : 사용자 기본그룹 지정

 

-d : 사용자의 기본 홈 디렉토리 변경

 

useradd명령어는 보통 계정을 생성하는 경우에만 사용합니다.

패스워드를 다루는 명령어도 따로 있고 UID,GID를 변경하기 위한 명령어도 따로 존재합니다.(아래에 설명)

 

그럼 유저를 생성해 보겠습니다. 유저 이름은 red로 하겠습니다.

 

 

유저를 생성하게 되면 기본적으로 home 디렉토리에 정보가 저장됩니다.

 

생성전에는 사용자 blue만 존재했지만 useradd red입력으로 새로운 유저 red가 패스워드 없이 생성되었습니다.

 

<2. userdel명령어로 사용자 계정 삭제>

 

명령어 형식 : userdel [option] [계정명]

 

-f : 강제 삭제

 

-r : 계정 생성시 만들어진 모든 정보 삭제

 

-h : 도움말

 

계정 삭제를 위해 존재하는 명령어 입니다. 주로 -r과 -f를 합친 -rf를 많이 사용합니다.

그럼 계정 red를 삭제시켜 보겠습니다.

 

 

userdel -rf red를 입력하고 다시 확인해 보니 red계정이 사라졌습니다.

 

 <3. usermod명령어로 사용자 계정 수정>

 

명령어 형식 : usermod [option] [인자값] [계정명]

 

-p : 패스워드 지정 -> usermod -p [인자값에 원하는 패스워드를 입력합니다.] [계정명]

 

-u : 사용자 UID 변경 -> usermod -u [원하는 UID번호] [계정명]

 

-d : 사용자의 기본 홈 디렉토리 변경(왜 사용하는지 모르겠습니다;;;)



-g : 사용자 기본그룹 지정 -> usermod -g [목적지 그룹 계정명] [이동할 그룹 계정명]

 

 

blue유저는 GID(Group ID)가 500번이고 red유저는 501번이라고 되어있습니다.

여기서 red유저의 그룹을 blue유저의 그룹으로 이동해 보겠습니다.

 

 

usermod -g blue red 를 입력했습니다.

오오!! red유저의 그룹이 500번으로 옮겨졌네요.

 

이런식으로 그룹을 옮기게 되면 blue그룹이 최상위 그룹이 되며 red계정은 blue그룹안에 속하게 됩니다.

 

여기서 어떤분은 분명 /etc/group에서 확인을 해보실 건데요, 아마 안바뀌어져 있을 겁니다.

/etc/group에는 항상 초기값이 저장되어 있기 때문에 아무리 그룹이동을 해도 초기에 생성된 그룹의 번호가 보여집니다.^^

 

다시 원래로 이동하려면 usermod -g red red <- 이런식으로 입력하시면 초기값으로 돌아옵니다.^^

 

-l : 계정명 변경 -> usermod -l [바뀌어질 계정명] [바꿀 계정명] 

 

 

어라? 오류는 안떴는데 디렉토리에는 계정명이 바뀌지 않았네요??

 

 

cat /etc/passwd로 확인해 보니 바뀌어져 있네요 ㅋ 홈 디렉토리에는 계정명이 그대로 남아있습니다.

 

<4. passwd명령어를 통한 패스워드 수정>

 

명령어 형식 : passwd [option] [계정]

 

-d : 패스워드 NULL 지정(암호삭제)

 

-l : 패스워드 잠금

 

-u : 패스워드 잠금 해제

 

-S : 패스워드 상태 출력

 

passwd명령어 관련된 옵션은 -d에 관해서만 설명하겠습니다. 다른건 딱 봐도 뭐하는 애들인지 아시겠죠?

 

 

cat /etc/shadow로 확인을 해보니 위에서 설정한 blue계정의 패스워드가 blue1234로 설정되어 있습니다.

 

 

passwd -d blue를 입력하고 엔터를 치니 영어로 쏼라쏼라 나옵니다. ㅋㅋ

blue유저의 패스워드를 제거합니다. 성공! 뭐 이런 뜻입니다. /etc/shadow에서 다시 확인해 볼까요?

 

 

red계정은 지워버렸습니다. 자세히 보시면 패스워드란에 !!가 없고 패스워드 인자값도 없고 그냥 비어 있네요. 성공입니다!

 

<5. groupadd, groupdel을 이용한 그룹생성, 삭제>

 

명령어 형식 : groupadd [option] [그룹], groupdel [그룹] (그룹란에는 지우고싶은 그룹의 계정명을 입력합니다.)

 

-f : 그룹 강제 생성

 

-g : 그룹 생성 시 GID 지정

 

-f 옵션은 말 그대로 강제로 그룹을 생성시킵니다. 딱히 쓸 일은 없을 것 같습니다.

-g 옵션은 그룹을 생성할 때 GID를 임의로 지정해 줄때 사용합니다.

 

groupadd -g 1000 bluegroup <- 입력하면 1000의 GID를 가진 bluegroup이라는 그룹이 생성됩니다.

 

 

 

cat /etc/group로 살펴보니 bluegroup이 생성되어 있네요.

 

마지막으로 그룹을 삭제하고 싶을 때 groupdel [그룹] 형식으로 입력해 줍니다.

여기서 중요한 점은 어딘가에 속해있는 그룹은 지울 수 있지만 최상위에 위치한 그룹은 지울수가 없다는 점입니다.


List of Articles
번호 제목 날짜 조회 수
236 split 명령어 (파일 나누기) 2021.03.26 76544
235 [CentOS 7] SSH 무작위 로그인 시도 막기 ( Fail2Ban ) 2018.03.28 69661
234 tomcat - server.xml 설정 file 2017.03.11 67334
233 리눅스서버 모니터링 rstatd 설치 2017.04.28 27358
232 fdisk로 파티션 삭제하기 2015.06.10 25935
231 fdisk로 파티션 삭제하기 2015.06.09 21721
230 CentOS6.6+httpd2.4.16+Mariadb10.0.20+php5.6.11 Source 설치.... file 2016.09.25 14742
229 bash 스크립트에서 네트워크 정보 확인하기 2014.02.27 14262
228 원격 접속 FreeNX (NOMACHINE) 설치/접속 (vnc 보다 훨 2014.02.27 12306
227 리눅스 읽기전용 파일시스템 / 파일 입/출력 오류 2016.07.22 12175
226 Centos7 64bit 웹서버 만들기-PHP설치 CAP5 file 2015.07.17 11979
225 php-5.2.17 make시에 오류 발생 make: *** [ext/dom/node.lo] 오류 1 2016.03.18 10736
224 이온큐브로더(ioncube) 설치 매뉴얼 2016.03.18 10382
223 CentOS 7 에 아파치(httpd) 설치 2015.07.16 10302
222 웹서버 모니터링 툴 awststs 2014.03.26 10229
221 파일 속성 명령어 : chattr, lsattr 2014.02.27 9611
220 libphp5.so: undefined symbol: unixd_config 2016.03.18 9575
219 iptable에서 TCP SYN Flooding 차단 설정 2014.02.27 9553
218 [CentOS 6.5] Tomcat 설치 및 구동 file 2017.03.11 9483
217 MySQL Linux Port 방화벽 설정(3306) file 2017.03.11 9468
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 12 Next
/ 12

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved