Unix上で利用できるパスワード生成コマンドmkpasswdの使い方を紹介
- 1. はじめに
- 2. 検証環境
- 3.
mkpasswd
コマンドとは? - 4. インストール
- 5.
mkpasswd
コマンドの使い方- 5.1. パスワードを生成する(デフォルト)
- 5.2.
-l
: パスワードの長さを変更する - 5.3.
-d
: パスワードに最低何文字の数値を含むようにするかを指定 - 5.4.
-c
: パスワードに最低何文字のアルファベット小文字を含むようにするかを指定 - 5.5.
-C
: パスワードに最低何文字のアルファベット大文字を含むようにするかを指定 - 5.6.
-s
: パスワードに最低何文字の特殊文字を含むようにするかを指定 - 5.7.
-2
: できるだけ右手と左手のキータッチが交互に行われるパスワードを生成 - 5.8. Unix 上のユーザにランダムなパスワードを設定する
- 5.9. その他 : ランダムな文字列を生成してみる
- 6. ひとこと
はじめに
過去に Bash シェルスクリプトでランダムな文字列を作成する方法 について投稿しましたが、
もし Linux のパッケージマネージャでツールをインストールできる環境であれば、 mkpasswd
を使うのがより柔軟かつかんたんです。
ランダムな文字列の生成だけでなく、パスワード生成ももちろん可能なコマンドです。
( コマンド名からわかるように、本来はパスワード生成を目的としたものですよね。 )
検証環境
mkpasswd
コマンドとは?
mkpasswd
コマンドは、パスワードを生成するためのコマンドです。
デフォルトでは 9 文字のランダムなパスワード が生成されますが、
オプションを指定することで生成されるパスワードの長さや文字種などを調整できます。
インストール
RedHat 系の OS の場合、 YUM
を使って expect というパッケージをインストールします。
インストールされたかを確認してみます。
ちなみに、ヘルプを表示しようとすると、いきなり謎の文言が表示されます。
--help
オプションは利用できないようですね。
僕の MacPC でも利用できましたが、 Homebrew で色々インストールしているため、どのパッケージでインストールされたのかわからず。。。
デフォルトでは MacPC では利用できないと思います。
mkpasswd
コマンドの使い方
パスワードを生成する(デフォルト)
オプション無しで mkpasswd
コマンドを実行すると、 9 文字 のパスワードが生成されます。
-l
: パスワードの長さを変更する
mkpasswd
コマンドで生成されるパスワード長は 9 文字でしたが、 -l
オプションを指定することで任意の長さに変更できます。
-d
: パスワードに最低何文字の数値を含むようにするかを指定
デフォルトでは、 最低 2 文字の数字 が含まれます。
数字の最低登場数を更に増やしたい場合には -d
オプションをしています。
想定通り、含まれる数字の数が変化しました。
-c
: パスワードに最低何文字のアルファベット小文字を含むようにするかを指定
デフォルトでは、 最低 2 文字のアルファベット小文字 が含まれます。
「最低」 なので、デフォルト挙動では 2 文字以上含まれています。
-C
: パスワードに最低何文字のアルファベット大文字を含むようにするかを指定
デフォルトでは、 最低 2 文字のアルファベット大文字 が含まれます。
-s
: パスワードに最低何文字の特殊文字を含むようにするかを指定
デフォルトでは、 最低 1 文字の特殊文字(数字、アルファベット以外) が含まれます。
-2
: できるだけ右手と左手のキータッチが交互に行われるパスワードを生成
タイプしているところを見られていたとしても解読されにくくなるように、
できる限り右手と左手のキータッチが交互に行われるパスワードを生成します。
できる限り ということで、必ず交互になるわけではないようです。
Unix 上のユーザにランダムなパスワードを設定する
mkpasswd
に引数を渡すと、引数で指定されたユーザのパスワードをランダムなもので再設定します。
その他 : ランダムな文字列を生成してみる
含まれる文字種を限定して、ランダムな文字列を生成してみましょう。
mkpasswd
をインストールしなければならないことを考えると、Bash シェルスクリプトでランダムな文字列を作成する方法 で十分な気はします。
ひとこと
アカウント発行時のランダムなパスワード生成処理に利用できますね。
下手なロジックを自分で組むより遥かに良いでしょう。
ディスカッション
コメント一覧
まだ、コメントがありません