[RHEL6] 계정관리 명령어들 7탄(newgrp, newusers, passwd, pwck)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 계정관리 명령어들 7탄(newgrp, newusers, passwd, pwck)

by 찬찬이 아빠 2019. 12. 31.
반응형
  19. newgrp(새 그룹)

 1) 경로 : /usr/bin/newgrp

 2) 요약 : 새로운 그룹으로 로그인

 3) 사용 방법 : newgrp [그룹명]

 4) 추가 설명

 newgrp 명령어는 현재 세션의 사용자 그룹을 변경합니다. touch 명령으로 파일을 생성한 후에 chown 명령으로 다른 그룹의 속성으로 변경할 수도 있지만 newgrp 명령으로 그룹명을 지정하면, 지정한 그룹의 쉘로 환경이 바로 변경됩니다.

 

 newgrp 명령어에서 지정한 그룹은 반드시 시스템에 존재하는 그룹명이나 그룹ID가 있어야 합니다. /etc/group 파일을 확인하거나 groups 명령어로 존재 여부를 확인할 수 있습니다.

 

 아래와 같이 touch 명령어로 파일을 생성하면 사용자의 그룹으로 파일이 생성됩니다.

$ touch chanchan

$ ls -al chanchan
-rw-r--r-- 1 chanchan chanchan 0 Dec 31 2019 15:30 chanchan

 

 groups 명령으로 현재 로그인한 사용자의 그룹을 확인합니다.

$ groups
chanchan adm dialout CD-ROM plug dev lpadmin admin samba share

 

 newgrp 명령어로 사용자의 그룹을 park으로 변경 후 다시 파일을 생성해 봅니다.

$ newgrp park

$ touch chanchan2

$ ls -al chanchan2
-rw-r--r-- 1 chanchan park 0  Dec 31 2019 15:31 chanchan2

  

 

 

  20. newusers(사용자추가)

 1) 경로 : /usr/bin/newusers

 2) 요약 : 배치모드로 새로운 사용자를 업데이트하거나 추가

 3) 사용 방법 : newusers [옵션]

 4) 옵션

 -h, --help : 도움말 출력

 -r, --system : 시스템 계정을 생성

 

 5) 추가 설명

 newusers 명령어는 시스템 관련 명령으로 /etc/passwd 파일 형식으로 된 파일을 읽어 사용자를 추가하거나 정보를 업데이트 합니다. 파일 형식은 패스워드 파일과 같은 형식이다. pw_passwd 필드는 암호화된 패스워드의 값으로 저장됩니다.

 

pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell


아래와 같이 배치모드에서 사용한 newuser.test 파일은 추가할 사용자의 정보를 가지고 있습니다. 이 파일의 사용자명은 park, 패스워드는 123456, uid와 gid는 1001, 홈 디렉터리는 /home/park, 쉘은 /bin/bash로 구성되어 있다고 가정합니다.

# cat newusers.test
park:123456:1001:1001:park:/home/park:/bin/bash

 

 예) newuser.test 파일을 배치모드로 실행하여 사용자 추가

newusers newusers.test

 

 

 

  21. passwd(패스워드 변경)

 1) 경로 : /usr/bin/passwd

 2) 요약 : 사용자의 패스워드를 변경

 3) 사용 방법 : passwd [옵션][사용자]

 4) 옵션

 -a, --all : 모든 사용자의 암호 상태를 출력, -S 옵션과 같이 사용해야함

 -d, --delete : 사용자의 암호를 삭제

 -e, --expire : 강제적으로 사용자의 암호를 만료시킴

 -h, --help : 도움말 출력

 -i, --inactive INACTIVE : 암호가 만료된 이후에 비활성화 기간(INACTIVE)을 지정

 -l, --lock : 지정한 사용자의 암호에 락(lock)을 지정

 -n, --mindays MIN_DAYS : 다시 암호를 변경할 수 있는 최소 일수(MIN_DAYS)를 지정

 -q, --quiet : 메시지를 출력하지 않음

 -r, --repository REPOSITORY : 저장소(REPOSITORY)의 암호를 변경

 -S, --status : 사용자의 패스워드 정보를 출력, 상태 정보는 7개의 필드로 구성

 -u, --unlock : 사용자 암호의 락을 해제

 -w, --warndays WARN_DAYS : 암호 만료 메시지를 보여줄 기간(WARN_DAYS)을 지정

 -x, --maxdays MAX_DAYS : 패스워드 암호를 변경하지 않아도 되는 최대 유효기간(MAX_DAYS)을 지정

 

 5) 추가 설명

 패스워드 관리는 일반 사용자는 물론 시스템 관리자에게 매우 중요합니다. passwd 명령어로 주기적으로 패스워드를 변경하는 것은 최소한의 보안 장치입니다. useradd 명령어로 사용자를 추가했다면 반드시 passwd 명령어로 패스워드를 생성해야 사용자가 활성화가 됩니다.

 

 예) 현재 로그인된 사용자의 패스워드 변경

# passwd

New password:
Retype new password:
passwd: all authentication tokens updated successfully

 

 슈퍼유저(root)는 지정한 사용자의 패스워드를 변경할 수 있습니다.

 

 예) park 사용자의 패스워드 변경

# passwd park

New password:
Retype new password:
passwd: all authentication tokens updated successfully

 

 만약 슈퍼유저(root) 권한으로 passwd -Sa 명령을 실행하면 모든 사용자의 패스워드 파일의 정보를 출력할 수 있습니다.

# passwd -Sa

root P 12/31/2019 0 99999 7 -1
park P 12/20/2019 0 99999 7 -1
chan L 12/10/2019 0 99999 7 -1
필드 설명
첫 번째 필드 사용자 로그인 이름
두 번째 필드

L : 사용자 계정에 락이 걸려 있음

NP : 사용할 패스워드가 없음

P : 사용할 패스워드가 있음

세 번째 필드 패스워드의 마지막 변경 날짜
네 번째 필드 패스워드를 변경해야 하는 최소 날짜
다섯 번째 필드 패스워드를 변경하지 않아도 되는 최대의 유효기간
여섯 번째 필드 패스워드 변경 요구 메시지 전의 암호 만료 예고 기간
일곱 번째 필드 패스워드 만료 후에 로그인 비활성화 기간

 

 /etc/passwd 파일은 username:password:uid:gid:gecos:homedir:shell 형태로 되어 있습니다.

# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin/:sbin/nologin
--- 중간 생략 ---
park:x:500:500:park:/home/park:/bin/bash
필드 설명
username 고유한 계정을 구별하는 사용자 아이디
password 사용자의 패스워드가 암호화된 형태로 사용자가 읽을 수 있고, 보안상 위험이 있어 pwconv 명령어로 /etc/shadow 파일을 사용
uid 사용자 ID로써 계정을 구별하는 값
gid 그룹 ID로써 /etc/group과 관련이 있다
gecos 사용자의 실제 이름, 주소, 전화번호 등의 정보가 있다
homedir 사용자의 홈 디렉터리
shell 사용자가 로그인 할 쉘

 

 

 

  22. pwck(패스워드 파일 점검)

 1) 경로 : /usr/sbin/pwck

 2) 요약 : 패스워드 파일의 무결성을 검증

 3) 사용 방법 : pwck

 4) 추가 설명

 pwck 명령어는 /etc/passwd과 /etc/shadow 파일에서 잘못된 점이 있는지 무결성을 검사합니다. 패스워드의 보안 취약성을 미리 검사할 수 있는 pwck 명령어는 일반 사용자는 물론 특히 시스템 관리자가 정기적인 시스템 검사를 할 때 꼭 필요합니다.

 

 아래는 pwck 명령을 실행한 결과입니다.

# pwck

[sudo] password for user:
사용자 'lp' : '/var/spool/lpd' 디렉터리가 없습니다.
사용자 'uucp' : '/var/spool/uucp' 디렉터리가 없습니다.
--- 중간 생략 ---
사용자 'pulse' : '/var/run/pulse' 디렉터리가 없습니다.
pwck : 바뀐 점이 없음

 

 비활성화된 시스템 계정은 위와 같은 메시지를 출력합니다. 불필요한 계정은 /etc/passwd 파일에서 삭제 또는 주석(#)으로 처리할 수 있습니다.

 

 games 계정을 주석(#) 처리하면 다음과 같은 메시지를 출력한다. y를 입력하면 자동적으로 /etc/shadow 파일에서도 이를 업데이트 합니다.

# pwck

/etc/shadow에 있는 암호 파일 입력값이 일치하지 않습니다.
사용자 '#games'를 /etc/shadow에 추가하시겠습니까?
반응형

댓글