본문 바로가기
프로그래밍/LINUX

[LINUX 8일차] CentOS 사용자 관리(useradd 기본값, 사용자 수정, 사용자 삭제)

by B T Y 2017. 3. 21.
반응형

CentOS 사용자 관리(useradd 기본값, 사용자 수정, 사용자 삭제)에 대해서 정리한다.




※ 사용자 관리



1. useradd 기본값

( 기본값 변경 방법은 vi를 통해서 접근 하는 방법과 

command를 이용한 방법이 있다 )


- /etc/default/useradd 파일에 useradd 기본값이 정의 되있다.



1). 리눅스에서 주석은 #로 표시한다.


2). CREATE_MAIL_SPOOL은 사용자를 생성할때 메일함을 자동으로 만들것인지를 설정하는 부분이다.

* /var/spool/mail 디렉터리에 모든 사용자의 메일함이 들어있다.




3). vi 명령어를 통해서 /etc/passwd에 직접 사용자를 만들어주면 메일함은 생기지 않는다.

( 단, 해당 사용자를 로그인하면 그 사용자에 대한 메일함이 자동 생성된다 )



- command : useradd -D ( useradd 기본값 변경 옵션 )

-b    홈 디렉터리 변경

-s    쉘(Shell) 변경

-g    그룹 변경

-f    INACTIVE 변경

-e    EXPIRE(계정 만료기간) 변경


* INACTIVE : 패스워드 종료일 이후의 유효(기간)여부 설정 ( 0, -1, 1이상의 숫자 )

1). 1이상의 숫자 : 5를 설정하면 패스워드 만료기간 이후에 5일 동안은 패스워드가 유효

2). -1 : 이 기능 자체를 비활성화 시킨다.

3). 0 : 패스워드 만료기간이 되자마자 패스워드를 잠궈버린다.



ex) #>useradd -D -b /linux ( 옵션 -b를 이용한 홈 디렉터리 변경 )

( 재부팅을 하지 않아도 변경된 내용이 바로 적용된다 )



( useradd 기본값에 홈디렉터리가 /home에서 /linux로 변경 되었다 )



( useradd로 이용해서 사용자를 생성하면 사용자 홈디렉터리가 /linux에 생성 되는걸 볼 수 있다 )



( ls -a 로 확인 해보면 뼈대도 다 들어있는 홈디렉터리가 맞는걸 알 수 있고 

/etc/passwd에서 사용자 정보를 확인 해봐도 마찬가지이다 )



* SKEL CREATE_MAIL_SPOOL은 옵션이 따로 존재하지 않고 vi를 이용해 /etc/default/useradd에 

접근해서 직접 편집 해줘야 한다.



2. 사용자 수정


- command : usermod <option> <value> <user_name>

-d    홈 디렉터리 변경

-c    Comment 변경

-s    쉘(Shell) 변경

-g    GID(Group ID) 변경( 기본 그룹 변경 )

-G    GID 추가( 기본 그룹 외에 소속 그룹 추가 )




( usermod -d 를 이용해서 사용자 test01에 홈디렉터리를 /linux/test01로 변경 해주었다 )



( 사용자 test01에 로그인 해보기 위해서 passwd 명령어를 이용해 test01에 비밀번호를 설정 해주었다 )



( 사용자 test01에 로그인을 시도 했는데 분명히 홈 디렉터리를 /linux/test01로 바꿔줬는데 

찾을수 없다고 에러가 발생하고 확인 결과 ls로 확인 결과 /linux 안에 test01 디렉터리가 존재하지 

않는다는걸 볼 수 있다 )



( 관리자 계정으로 돌아가서 /home 디렉터리에서 옮겨지지 않은 /home/test01 디렉터리를 

mv 명령어를 이용해 /linux 디렉터리 안으로 옮긴다 )



( 홈 디렉터리의 내용을 옮긴후에 다시 test01로 로그인 한 결과 정상적으로 로그인이 된다 )



* 여기서 알 수 있는 점은 명령어 usermod -d 로 사용자 홈 디렉터리를 수정 한다해도 

실제 홈디렉터리에 있는 내용들이 옮겨지지 않는다는 걸 알 수 있다.

( 이런점 때문에 사용자 수정은 command를 이용하는 것보다 vi로 직접 편집 하는게 더 편하다 )




3. 사용자 삭제


- command : userdel <user_name>

-r    사용자의 홈 디렉터리까지 삭제 ( 메일함 포함 )



* 옵션을 사용하지 않으면 사용자(/etc/passwd)와 

사용자 이름의 그룹( 해당 그룹이 내 기본 그룹일때만 )만 삭제한다.

( 홈 디렉터리와 메일함은 남아있다 )


* 삭제하는 사용자의 GID에 속한 사용자가 있다면 /etc/group에  

해당 사용자 GID는 남겨두고 나머지는 삭제 된다.



( 사용자 test06은 현재 사용자 정보(/etc/passwd), GID(/etc/group), 메일함(/var/spool/mail), 홈디렉터리(/linux)가 있다 )



( userdel 명령어에서 옵션 -r을 이용해서 test06을 삭제하면 사용자 정보, GID, 메일함, 홈디렉터리가 

모두 삭제 된걸 볼 수 있다 )




반응형

댓글