root 계정은 시스템에서 어떤 일도 할 수 있는 계정이기 때문에 작업 중 사고가 발생할 가능성이 많습니다.
가급적 root 계정은 시스템 설정 변경, 패키지 설치 등 꼭 필요할 때만 사용해야 합니다.
따라서 평소에는 일반 계정으로 작업을 하고, su 명령어를 통해 root 계정으로 전환하는 방식으로 사용하는 것이 좋습니다.
GROUP
기본 그룹의 GID ( 100은 users 입니다. )
HOME
홈 디렉터리 경로입니다.
INACTIVE
비밀번호 유효기간 종료 이후 어떻게 처리할 것인지에 대한 설정입니다.
-1 : 유효기간 없음
0 : 비밀번호 유효기간이 만료되면 패스워드를 잠군다.
1이상 : 비밀번호 유효기간 만료 후 정수 값 동안 비밀번호가 유효
EXPIRE
계정 종료 일자
SHELL
간단하게 쉘이란 명령어를 기계어로 해석하는 해석기를 말합니다.
/bin/sh : 본 쉘 ( 최초 개발된 쉘)
/bin/bash : 리눅스 기본 쉘
/sbin/nologin : 서비스 계정을 위한 로그인 하지 않는 사용자를 위한 쉘
/bin/dash : 리눅스 우분트 계열의 기본 쉘
/bin/tcsh : 확장 쉘을 의미하며, C쉘의 확장 버전
/bin/csh : C쉘을 의미하며, C언어로 만들어진 쉘
/bin/ksh : Unix 기본 쉘
SKEL
유저 생성시 추가되는 홈 디렉터리에 복사할 파일들이 있는 디렉터리의 경로
( 이 경로에 대해서는 조금 뒤에 언급을 다시 할 것입니다. )
CREATE_MAIL_SPOOL
메일함 생성 여부
/etc/login.defs 파일은 useradd 명령 시 두 번째로 참조하는 파일입니다.
vi 편집기로 직접 파일을 열어 보시면 각 설정에 대한 내용을 확인 할 수 있습니다.
MAIL_DIR : 메일 디렉터리 위치
PASS_MAX_DAYS : 비밀번호 만료일
PASS_MIN_DAYS : 비밀번호 변경 후 다시 변경할 수 있는 최소 일 수
PASS_MIN_LEN : 비밀번호 최소 길이
PASS_WARN_AGE : 값으로 설정된 일 수가 남았을 때, 비밀번호 만료 경고 메시지를 보냄
UID_MIN : 유저 생성 시 유저에게 할당 할 수 있는 UID 최소 번호
UID_MAX : 유저 생성 시 유저에게 할당 할 수 있는 UID 최대 번호
CREATE_HOME : 홈 디렉터리 생성 여부
USERGROUPS_ENAB : userdel 명령 시 그룹도 삭제, 즉 userdel 명령어로 유저가 없는 그룹을 삭제할 것인지 여부
ENCRYPT_METHOD : 암호화 방법
3. /etc/skel
처음에 살펴 본 /etc/default/useadd 파일에서 SKEL의 값은 /etc/skel이였습니다.
따라서 useradd 명령을 하면 /etc/skel 디렉터리에 있는 파일들이 새롭게 생성되는 유저의 홈 디렉터리로 복사됩니다.
예를들어 새로운 유저가 알아야 할 정보들( readme.txt 파일 )을 /etc/skel 디렉터리 아래에 저장하면 유저 생성시 유저 홈 디렉터리에 readme.txt 파일이 자동으로 추가 됩니다.
# vi /etc/passwd
쉘 목록에서 /sbin/nologin은 무엇일까요?
/sbin/nologin은 shell이 없는 계정은 접속은 가능하지만 쉘 권한이 없으므로 명령을 할 수 없는 계정을 의미합니다.
예를 들어, 모든 권한을 갖는 root 계정으로 MySQL을 실행하는 것은 보안상 좋지 않습니다.
그래서 MySQL 서비스만 실행 할 수 있는 mysql계정을 생성해서 사용합니다.
mysql 계정은 MySQL 서비스를 수행하는 권한만 있을 뿐 로그인이 필요하지 않습니다.
아직 이 부분은 직접 사용해보지 않았으므로 이해가 안될 수 있는데, MySQL을 설치할 때 자세히 언급 하도록 하겠습니다.
nologin 계정을 만드려면 useradd 명령을 할 때 –M 옵션을 주면 됩니다.
-M 옵션은 홈 디렉터리 없이 계정을 생성하는 옵션을 의미합니다.
# useradd -M mysql
2) 비밀번호 수정
# passwd
3) 유저 삭제
유저를 삭제할 때 유저만 삭제하고 홈 디렉터리는 남기는 것이 좋습니다.
홈 디렉터리에 그 유저가 사용했던 라이브러리, 작업했던 것들 등이 있을 수 있으므로 그 유저에게 백업하라고 알린 뒤에서야 홈 디렉터리를 삭제하는 것이 좋습니다.
# userdel user
홈 디렉터리까지 삭제하려면 -r 옵션을 추가하면 됩니다.
# userdel -r user
4) 그룹에 대한 정보
# cat/etc/group
5) 사용자가 속한 그룹 조회
# groups 사용자명
# chage -m 10 user1
# chage -E 2019/02/25 user1
# chage -m 10 user1
user1 사용자가 비밀번호를 변경하면 최소 10일은 사용해야 변경 할 수 있음
# chage -E 2019/02/25 user1
user1 사용자가 설정한 비밀번호는 2019.02.25일까지 사용 가능
이상으로 사용자를 추가할 때 참조하는 3개의 파일과 사용자와 관련된 여러 명령어들을 알아보았습니다.