모든 사용자는 혼자서 존재하는 것이 아닌 하나 이상의 그룹에 소속되어 있어야 한다.
CentOS 기준 표준사용자를 알아보기 위해
cat /etc/passwd
명령어를 입력하자.
1행인 root:x:0:0:root:/root:/bin/bash
부터 tcpdump:x:72:72::/:/sbin/nologin
까지 root 사용자부터 tcpdump 사용자까지는 리눅스에서 기본적으로 존재하는 표준 사용자이다.
root:x:0:0:root:/root:/bin/bash
의미를 파악해보자
사용자 이름:암호:사용자 ID:사용자가 소속된 그룹 ID:전체 이름:홈 디렉토리:기본 셸
사용자 이름 : root
암호 : x
← etc/shadow 파일에 비밀번호가 지정되어 있다는 의미
사용자 ID : 0
사용자가 소속된 그룹 ID: 0
전체이름: root
홈 디렉토리: /root
기본 셸: /bin/bash
bash 란?
리눅스의 표준 Shell, 1989년 브라이언 폭스가 GNU 프로젝트를 위해 개발한 bash shell은 sh shell 기반으로 만들어졌다. bash는 korn Shell과는 다르게 공짜였으며 급속히 전파되었다.x
bash 특징
- Alias 기능(명령어 단축 기능)
- History 기능 (↑ or ↓)
- 연산 기능
- Job Control 기능
- 자동 이름 완성 기능 (tab)
- 프롬프트 제어 기능
- 명령 편집 기능 etc...
/etc/passwd, /etc/shadow, /etc/group
파일에 새로운 행이 추가됨.# useradd newuser → newuser라는 이름 사용자 생성
# useradd -u 1111 newuser → newuser 사용자 생성 & 사용자 ID 1111 지정
# useradd -g mygroup newuser → newuser 사용자 생성 & mygroup 에 newuser사용자를 포함
# useradd -d /newhome newuser → newuser 사용자를 생성하면서 홈 디렉토리를 /newhome으로 지정
# useradd -s /bin/csh newuser → newuser 사용자를 생성하면서 기본 shell을 /bin/csh로 지정
# passwd new user → newuser 사용자의 비밀번호 지정(또는 변경)
# usermod -g root newuser → newuser 사용자의 그룹을 root 그룹으로 변경
# userdel newuser → newuser 사용자 삭제
# chage -l newuser → newuser 사용자에 설정된 사항 확인
# chage -m 2 newuser → newuser 사용자에 설정한 암호를 사용해야 하는 최소 일자.
(i.e 최소 2일을 사용해야 함)
# chage -M 30 newuser → newuser 사용자에 설정한 암호를 사용할 수 있는 최대 일자
(i.e 변경 후 최대 30일 까지 사용할 수 있음)
# chage -E 2026/12/12 newuser → newuser 사용자에 설정한 암호가 만료되는 날짜
(i.e 2026/12/12 까지만 사용할 수 있음)
# chage -W 10 newuser → newuser 사용자에 설정한 암호가 만료되기 전에 경고하는 기간. 지정하지 않을 경우 기본값은 7일
(i.e 이와 같이 설정하면 암호가 만료되기 10일 전부터 경고 메시지가 나감)
# groups → 현재 사용자가 소속된 그룹을 보여줌
# groups newuser → newuser가 소속된 그룹을 보여줌
# groupadd newgroup → newgroup이라는 그룹 생성
# groupadd -g 2222 newgroup → newgroup이라는 그룹을 생성하면서 그룹 ID를 2222로 지정
# groupmod -n mygroup newgroup → newgroup 그룹의 이름을 mygroup으로 변경
※ '-n '은 name의 약자 ※
# groupdel newgroup → newgroup 그룹 삭제 (단, 해당 그룹을 주요 그룹으로 지정한 사람이 없어야 한다.)
# gpasswd newgroup → newgroup 그룹의 암호 지정
# gpasswd -A newuser newgroup → newuser 사용자를 newgroup 그룹의 관리자로 지정
('-A' = Administration)
# gpasswd -a user1 newgroup → user1을 newgroup 그룹의 사용자로 추가
('-a' = add)
# gpasswd -d user newgroup → user1을 newgroup 그룹의 사용자에서 제거
('-d' = delete)