【Linux】chfnコマンドでユーザーの氏名や連絡先情報を変更する

目次

概要

/etc/passwd ファイルのGECOSフィールド(コメント欄)に格納されている、ユーザーの実名、部屋番号、電話番号などの付帯情報を変更するためのコマンドです。

finger コマンドなどで表示されるこれらの情報は、システム管理上の連絡先として利用されます。通常は対話形式で変更を行いますが、オプションを指定して非対話的に設定することも可能です。

仕様(引数・オプション)

構文

chfn [オプション] [ユーザー名]

主なオプション

オプション説明
-f [名前]ユーザーのフルネーム(Full Name)を変更します。
-r [部屋番号]オフィスの部屋番号(Room Number)を変更します。
-w [電話番号]職場の電話番号(Work Phone)を変更します。
-h [電話番号]自宅の電話番号(Home Phone)を変更します。
-o [その他]その他の情報(Other)を変更します。

基本の使い方

オプションを指定せずに実行すると、対話モードで順番に情報の入力を求められます。Enterキーを押すと、その項目は現在の値を維持(スキップ)します。

BASH

# 現在の情報を確認
finger mori

# 対話モードで情報を変更
chfn mori

# 変更後の情報を確認
finger mori

# /etc/passwd ファイルへの反映を確認
grep mori /etc/passwd

実行結果例

# chfn実行時の対話
Changing finger information for mori.
Password: (パスワード入力)
Name []: Mori Taro
Office []: 3F-A
Office Phone []: 03-1234-5678
Home Phone []: 
Finger information changed.

# grep確認結果
mori:x:1001:1001:Mori Taro,3F-A,03-1234-5678,,:/home/mori:/bin/bash

実践コマンド

コマンドライン引数で一括変更する

スクリプトで自動設定する場合や、対話モードが面倒な場合に、オプションを使って一発で設定を変更します。

BASH

# フルネームと内線番号を設定
sudo chfn -f "Mori Jiro" -w "Ex.9999" mori

情報を削除する(空にする)

特定の項目を削除したい場合は、引用符で囲んだ空文字 "" を指定するか、対話モードで none と入力するシステムもありますが、基本的には空文字で上書きします。

BASH

# 自宅電話番号を削除
chfn -h "" mori

カスタムポイント

  • GECOSフィールドの構造chfn で入力した情報は /etc/passwd の5番目のフィールドにカンマ区切りで保存されます。システムによってはメールソフトなどがこの「名前」欄を送信者名として利用することがあるため、正確な表記にしておくことが推奨されます。
  • プライバシーへの配慮finger コマンドはネットワーク越しにユーザー情報を公開する設定になっている場合があります(現代のセキュリティ設定では稀ですが)。自宅の電話番号など、公開されて困る情報は入力しない、または -o オプションなどで管理用の別枠に入れるなどの運用ルールが必要です。

まとめ

chfn コマンドは、Linuxユーザーの属性情報(メタデータ)を管理するための古典的ですが重要なツールです。usermod -c コマンドでも同様の変更は可能ですが、chfn は項目ごとに細かく対話的に指定できる点で優れています。特に組織内でサーバーを共有する場合、緊急連絡先として -w(職場電話)や -r(部屋番号)を正しく設定しておくことは、システム運用の円滑化に繋がります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次