ioerror

vipw 사용법 및 옵션 - 시스템 패스워드 파일을 안전하게 수정하는 리눅스 관리 명령어 본문

OS

vipw 사용법 및 옵션 - 시스템 패스워드 파일을 안전하게 수정하는 리눅스 관리 명령어

반응형

 

vipw 사용법 및 옵션 - 시스템 패스워드 파일을 안전하게 수정하는 리눅스 관리 명령어

vipw - Edit the Password File

유닉스 및 리눅스 시스템에서 /etc/passwd 파일(및 -s 옵션 사용 시 /etc/shadow 파일)을 안전하게 편집하기 위한 시스템 관리 전용 명령어이다. 단순 텍스트 에디터로 파일에 직접 접근할 때 발생할 수 있는 동시 수정 충돌을 방지하기 위해 파일 잠금(Locking) 메커니즘을 적용하다. 편집 중에는 다른 프로세스나 관리자가 해당 파일에 접근하지 못하도록 파일 잠금을 수행하며, 편집 완료 후 문법 오류를 검증하여 파일 손상으로 인한 시스템 로그인 불능 사태를 사전 차단하다. 기본 에디터로 vi 또는 VISUAL/EDITOR 환경변수에 지정된 에디터를 사용하다. 반드시 root 권한이나 sudo를 통해 실행해야 하다.

1. vipw 용도

  • 시스템 계정 정보 파일(/etc/passwd)의 안전한 직관적 수정하다
  • shadow 패스워드 파일(/etc/shadow)의 파일 잠금 기반 안전 편집하다
  • 계정 관리 명령어(useradd, usermod 등)로 처리하기 어려운 시스템 계정의 세부 필드 직접 수정하다
  • 동시 작업으로 인한 데이터 무결성 파손 방지 및 구문 오류 검증하다

2. vipw 서식

Bash
 
vipw [옵션]

3. vipw 옵션

옵션 설명 사용가능 OS 및 쉘
-g, --group /etc/passwd 대신 /etc/group 파일을 안전하게 편집함 (vigr과 동일) Linux
-s, --shadow /etc/shadow (또는 group shadow) 파일을 안전하게 편집함 Linux
-p, --passwd /etc/passwd 파일을 편집함 (기본 동작) Linux
-q, --quiet 정적 모드로 실행하여 경고나 메시지 출력을 최소화함 Linux
-R, --root CHROOT_DIR 지정한 chroot 디렉터리 내의 패스워드 파일을 편집함 Linux
-h, --help 명령어 사용법 및 도움말을 출력함 Linux
Bash
 
# 1. 안전하게 /etc/passwd 파일 편집
sudo vipw
# 잠금 파일(.pwd.lock)을 생성한 후 에디터를 실행함
# 편집 종료 시 구문 검사를 수행하고 적용함

# 2. shadow 패스워드 파일 편집
sudo vipw -s
# /etc/shadow 파일에 대한 파일 잠금을 수행하고 안전하게 편집함

# 3. chroot 환경 내부의 패스워드 파일 편집
sudo vipw -R /mnt/target
# /mnt/target/etc/passwd 파일을 대상으로 안전 편집을 진행함
  • -s: 사용자 암호 해시 및 만료 정보가 담긴 /etc/shadow 파일을 보호 잠금 상태에서 수정하다
  • -R: 시스템 복구 모드나 chroot 환경 내 대상 디렉터리의 계정 파일들을 지정하여 수정하다

4. vipw 특이사항(유의사항)

  • /etc/passwd나 /etc/shadow 파일을 일반 vi나 nano로 직접 수정하는 것은 매우 위험하다. 수정 중에 다른 데몬이나 프로세스가 계정 정보를 변경하면 파일이 손상될 수 있다.
  • Stack Overflow 및 리눅스 커뮤니티에서 가장 자주 질문되는 부분은 에디터 변경 방법이다. 기본 에디터를 바꾸려면 export EDITOR=nano 또는 sudo EDITOR=nano vipw와 같이 환경변수를 지정하여 실행해야 하다.
  • 편집 중 잘못된 문법으로 작성하고 저장 후 종료할 경우, vipw는 오류를 감지하고 재편집할 것인지 복원할 것인지 물어보아 시스템 파손을 방지하다.
  • 작업을 진행하는 동안 /etc/ptmp 또는 /etc/.pwd.lock 잠금 파일이 생성된다. 비정상 종료로 해당 파일이 남아 있으면 다음 실행 시 잠금 경고가 발생하므로 수동 제거가 필요할 수 있다.

관련 명령어들

  • vigr: /etc/group 및 /etc/gshadow 파일을 안전하게 수정함
  • passwd: 사용자 계정의 비밀번호를 안전하게 변경함
  • pwck: /etc/passwd 및 /etc/shadow 파일의 무결성과 구문 오류를 검증함
  • grpck: 그룹 파일의 무결성을 검증함
  • useradd: 옵션 지정을 통해 신규 사용자 계정을 표준 방식으로 생성함

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

반응형
Comments