MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


Linux passwdコマンドやファイル
profile-img
投稿者: fujioka090...さん
投稿日:2023/03/14 12:01
更新日:
like-img
分類
技術
テクノロジー
Unix系サーバ
キャリア
運用・保守
投稿内容
今回はアカウントパスワード設定に関する「passwd」コマンドや「etc/passwd」ファイルについて説明しようと思います。


「passwd」コマンドはユーザーアカウントのパスワード設定や変更、有効期限の設定等を行うためのコマンドです。

一般ユーザーだと自身のパスワードを変更する際に使用することができます。

その他のユーザーのパスワードを変更する場合は、パスワードを変更したいユーザーでログインするか、rootユーザーでログインする必要が有ります。

「passwd」コマンドの書式及びオプションは下記のようになります。([]内は省略可能)


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


オプション(基本的にrootユーザーのみ使用可能)

-e・・・指定ユーザーのパスワードを期限切れにする。期限切れとなったユーザーは次回ログイン時にパスワード変更を促される。

-d・・・指定ユーザーのパスワードを削除する。

-l・・・指定ユーザーのアカウントをロックする。

-u・・・指定ユーザーのアカウントロックを解除する。

-i 日数・・・パスワードの有効期限が切れてからアカウント使用不能になるまでの日数を指定する。

-n 日数・・・パスワード変更最小日数を指定する。この最小日数が経過するまでユーザーはパスワード変更ができない。


実際に仮想環境を使用して「passwd」コマンドを使用してみようと思います。

まずrootユーザーでログインし、「useradd」コマンドを使用して「test」ユーザーを新規作成します。コマンドは下記になります。


useradd test


新規作成した「test」ユーザーにはまだパスワード設定されていないので、「passwd」コマンドを使用してパスワード設定を行います。


passwd test


上記コマンドを入力すると、下記画像が表示されるので設定したいパスワードを入力します。パスワード設定が成功すると、一番下の行のような文言が表示されます。



これでパスワード設定・変更は完了となります。ちなみにユーザーアカウントの情報は全て「/etc/passwd」というファイルに記載されており、先ほど新規作成した「test」ユーザーの情報も記載されています。「cat」コマンドを使用し、「/etc/passwd」の内容を確認してみます。下記画像が内容になります。



しかし、この状態だとユーザー情報が多くて見づらいので、「grep」コマンドを使用して「test」ユーザーの情報のみを抽出してみます。



上記画像のように「test」ユーザーの情報が表示されました。

情報は:(コロン)で区切られており、各番号が何の情報を表しているのかを下記に示します。


①ユーザー名

②パスワード(別ファイルに記載のため、xと記載されている)

③ユーザーID

④ユーザーのプライマリグループID

⑤コメント

⑥ホームディレクトリ

⑦ログインシェル


ちなみに②パスワードは、「/etc/shadow」という別ファイルに暗号化されたパスワードが記載されています。

「/etc/shadow」ファイルはrootユーザーのみ読み出し可能なファイルで、一般ユーザーでは中身を見ることができません。こちらのファイルについての説明はまた別の機会にさせていただきたいと考えています。


パスワード管理はセキュリティ設定を考える上で必ず行わなければならない重要なことであるため、今回passwdコマンドや「etc/passwd」ファイルの説明をさせていただきました。


参考資料

Linuxコマンド【 passwd 】ユーザーのパスワードを変更 - Linux入門 - Webkaru

Linux ユーザー一覧の確認と/etc/passwd ファイル (zpp.jp)

コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3