vipwコマンドでパスワードファイルを安全に編集する方法|vigr・pwckとの使い分けもコマンド

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドU-Z, ユーザ・グループ管理コマンド > vipwコマンドでパスワードファイルを安全に編集する方法|vigr・pwckとの使い分けもコマンド
「/etc/passwdファイルを直接viで編集してもいいの?」
「パスワードファイルを安全に編集する方法を知りたい」
/etc/passwdファイルはシステムのユーザー情報を管理する重要なファイルです。直接viで編集すると、他のユーザーが同時に変更して内容が壊れるリスクがあります。

この記事では、vipw コマンドで/etc/passwdファイルを安全に編集する方法を解説します。
ロック機構の仕組み、vigrでの/etc/group編集、pwckでの整合性チェックまで、ユーザー管理に必要な知識をまとめました。

※ vipwの実行にはroot権限が必要です。
【この記事でわかること】
・vipw は /etc/passwd 編集中にファイルをロックし、同時編集による破損を防ぐ専用コマンド
・保存時に構文チェックが走るため、フォーマットが崩れたままで保存されるリスクがない
・/etc/group を安全に編集するには vigr コマンドを使う(vipw と同様のロック機構)
・vipw 後は pwck コマンドで /etc/passwd と /etc/shadow の整合性を確認するのが定番
・vi で /etc/passwd を直接編集するのは絶対に避ける(ロックなしで破損リスクあり)

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

vipwコマンドとは?

vipw は、/etc/passwdファイルを安全に編集するための専用コマンドです。

vipwには2つの重要な安全機構があります。

ファイルロック:編集中に/etc/passwdをロックし、他のユーザーが同時に変更できないようにする
構文チェック:保存時にファイルの構文をチェックし、不正なエントリがないか確認する

viで直接/etc/passwdを編集しないでください。ロックがかからないため、編集中に他のプロセス(useraddやpasswd等)がファイルを変更し、データが壊れる可能性があります。

vipwの使い方

1. /etc/passwdを編集する

# /etc/passwdを安全に編集 # vipw root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin tomohiro:x:1001:1001::/home/tomohiro:/bin/bash

viと同じ操作で編集できます。保存して終了すると、ロックが解除されます。

2. 編集中に他のユーザーがvipwを実行した場合

# 別のセッションでvipwを実行しようとすると # vipw vipw: /etc/passwd is busy (/etc/ptmp present)

ロックされているため、同時編集はできません。これがvipwの安全機構です。

/etc/passwdの各フィールド

/etc/passwdの各行は「:」(コロン)で7つのフィールドに区切られています。

# フィールドの意味 # ユーザー名:パスワード:UID:GID:コメント:ホームディレクトリ:ログインシェル tomohiro:x:1001:1001:Tomohiro:/home/tomohiro:/bin/bash

・パスワード欄の「x」は、パスワードが/etc/shadowに保存されていることを意味します
・ログインシェルを /sbin/nologin にすると、そのユーザーはログインできなくなります

vigrで/etc/groupを編集する

グループファイル(/etc/group)を編集する場合は vigr を使います。vipwと同様のロック機構が働きます。

# /etc/groupを安全に編集 # vigr

pwckでパスワードファイルの整合性をチェック

pwck コマンドで、/etc/passwdと/etc/shadowの整合性をチェックできます。

# パスワードファイルの整合性チェック # pwck user 'adm': directory '/var/adm' does not exist pwck: no changes # グループファイルの整合性チェック # grpck

vipwで編集した後は、pwck で整合性を確認しておくと安心です。

本記事のまとめ

やりたいこと コマンド
/etc/passwdを安全に編集 vipw
/etc/groupを安全に編集 vigr
パスワードファイルの整合性チェック pwck
グループファイルの整合性チェック grpck

/etc/passwdを安全に編集する方法を知っていますか?

コマンドの使い方を一つひとつ覚えていくのは時間がかかります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。