「chfn コマンドの使い方を知りたい」
chfn(change finger information)は、/etc/passwd に登録されているユーザーの個人情報(GECOSフィールド)を変更するコマンドです。現代のLinux運用ではあまり使われませんが、ユーザー情報の管理やスクリプトでの一括設定で役立つ場面があります。この記事では、
chfn コマンド の実践的な使い方を解説します。GECOSフィールドの構造、フルネームや電話番号の設定方法、
finger コマンドとの組み合わせ、セキュリティ上の注意点まで網羅しました。・chfn は /etc/passwd の GECOSフィールド(フルネーム・部屋番号・電話番号等)を変更するコマンド
・-f でフルネーム、-r で部屋番号、-w で内線番号、-h で自宅電話番号を指定する
・一般ユーザーは自分の情報のみ変更可能。他ユーザーの変更には root 権限が必要
・変更した情報は finger コマンドで確認できるが、本番サーバーでは fingerd は無効にする
・現代の Linux 運用では GECOS フィールドをほとんど使わないため、chfn を使う機会は限られる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
chfnコマンドとは?GECOSフィールドの解説
chfn は /etc/passwd の5番目フィールド(GECOSフィールド)を変更するコマンドです。GECOSとは「General Electric Comprehensive Operating System」の略で、歴史的な経緯からユーザーの個人情報格納に使われています。GECOSフィールドにはカンマ区切りで以下の情報を格納できます。
・フルネーム:ユーザーの氏名
・部屋番号:オフィスの部屋番号
・内線番号:オフィスの電話番号
・自宅電話番号:自宅の電話番号
・その他:追加情報
# /etc/passwd のGECOSフィールドの例 # ユーザー名:パスワード:UID:GID:[フルネーム,部屋,内線,自宅電話,その他]:ホームDir:シェル yamada:x:1001:1001:Taro Yamada,Room101,03-3333-3333,090-1234-5678:/home/yamada:/bin/bash
基本的な使い方
1. フルネームを設定する(-f)
# 現在の情報を確認する $ grep yamada /etc/passwd yamada:x:1001:1001::/home/yamada:/bin/bash # フルネームを設定する $ chfn -f "Taro Yamada" yamada Changing finger information for yamada. Password: Finger information changed. # 変更後を確認する $ grep yamada /etc/passwd yamada:x:1001:1001:Taro Yamada:/home/yamada:/bin/bash
2. 対話型で複数の情報を設定する
オプションを付けずに実行すると、対話型で各項目を設定できます。$ chfn Changing finger information for yamada. Password: Name [Taro Yamada]: Taro Yamada Office []: ← Enterで空欄のままにする Office Phone []: 03-3333-3333 Home Phone []: ← Enterで空欄のままにする Finger information changed. $ grep yamada /etc/passwd yamada:x:1001:1001:Taro Yamada,,03-3333-3333:/home/yamada:/bin/bash
3. rootで他のユーザーの情報を変更する
一般ユーザーは自分の情報のみ変更できますが、root はすべてのユーザーの情報を変更できます。# root で別ユーザーの情報を変更する # chfn -f "Hanako Suzuki" suzuki # 確認する # grep suzuki /etc/passwd suzuki:x:1002:1002:Hanako Suzuki:/home/suzuki:/bin/bash
応用・実務Tips
fingerコマンドで変更内容を確認する
finger コマンドは GECOSフィールドの内容を整形して表示します。ただし finger は外部パッケージのため、インストールが必要な場合があります。# finger コマンドで確認する(要インストール) $ finger yamada Login: yamada Name: Taro Yamada Directory: /home/yamada Shell: /bin/bash Office Phone: 03-3333-3333 # インストール方法(RHEL系) # sudo dnf install finger
getentコマンドで情報を確認する
finger を使わなくても、getent passwd でユーザー情報を確認できます。# getent passwd で情報を確認する $ getent passwd yamada yamada:x:1001:1001:Taro Yamada,,03-3333-3333:/home/yamada:/bin/bash
トラブルシュート・エラー対処
「chfn: PAM: Authentication failure」が出るとき
パスワード認証に失敗している場合に発生します。正しいパスワードを入力してください。root の場合はパスワードなしで実行できますが、sudo 経由で実行しているか確認してください。$ chfn -f "Taro Yamada" chfn: PAM: Authentication failure # root で実行する場合は sudo を付ける $ sudo chfn -f "Taro Yamada" yamada
セキュリティ上の注意点
GECOSフィールドの情報はfinger コマンドで外部から参照される場合があります。・本番サーバーでは fingerd(finger デーモン)を有効にしないこと:ユーザー情報が外部に漏れるリスクがある
・個人情報(電話番号等)の記載:社内ポリシーに従って判断する
・現代の Linux 運用:GECOS フィールドはほとんど使用されない。フルネーム設定程度が現実的な用途
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| フルネームを設定する | chfn -f "フルネーム" |
| 内線番号を設定する | chfn -w "内線番号" |
| 自宅電話番号を設定する | chfn -h "電話番号" |
| 対話型で複数項目を設定する | chfn(引数なし) |
| 現在の情報を確認する | grep ユーザー名 /etc/passwd |
| 他ユーザーの情報を変更する(root) | chfn -f "名前" ユーザー名 |
Linuxユーザーの個人情報フィールドを正しく管理できていますか?
コマンドの使い方を一つひとつ覚えていくのは時間がかかります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:chshコマンドでログインシェルを変更する方法|/etc/shellsの確認とusermodとの違いも
- 前のページへ:fingerコマンドでユーザー情報を表示する方法|ログイン状況やメール確認も
- この記事の属するカテゴリ:Linuxコマンド・LinuxコマンドA-E・ユーザ・グループ管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます