あいしんくいっとオススメ商品レビュー

Windows/Linuxでパスワードをコマンドワンライナーで設定する方法

本記事対象
Windows/Linuxでパスワードをコマンドワンライナーで設定する方法が知りたい方

ども。あいしんくいっと(@ithinkitnet)です。

WindowsやLinuxを扱ってると、定期的にOSユーザのパスワードを変更することがあります。

例えばLinuxでユーザーパスワードを変更するのであれば、

パスワード変更コマンド
# passwd <ユーザ名>
で変更すると思いますが、これだとインタラクティブにキーボード入力でパスワードを応答する必要があって面倒だったりします。

Linuxパスワード変更
root@ithinkit:~# passwd test
新しいUNIXパスワードを入力してください:<任意のパスワード入力>
新しいUNIX パスワードを再入力してください:<任意のパスワード再入力>
passwd: パスワードは正しく更新されました

WindowsにしてもLinuxにしても、何十台ものサーバのパスワードを変更して回るのは大変な労力を要します。

そんな時に役立つのが、今回の「パスワードをワンライナーで設定する方法」です
コレをスクリプトに仕込んだりすれば、多少なりとも楽になるかも知れません。

注意
パスワードを平文で設定することになるので、正直セキュリティ上はヤバいです。
なので、あくまでスクリプト内での使用にとどめることをオススメします。

パスワードをワンライナーで設定する方法(CentOS編)

使いどころは限定されるのですが、「定期的にパスワード変更を行う場合のスクリプトで使う」といった時は役立つと思います。
使い方はカンタン♪

パスワード変更ワンライナー
# echo <任意のパスワード> | passwd --stdin <ユーザ名>
これで指定したユーザのパスワードが変更されます。

コマンド実行例
[root@cent7 ~]# echo hogehoge | passwd --stdin root
ユーザー root のパスワードを変更。
passwd: すべての認証トークンが正しく更新できました。
[root@cent7 ~]# ssh localhost
root@localhost's password:
Last login: Sun Nov 15 07:54:50 2015 from localhost
[root@cent7 ~]# ログアウト
Connection to localhost closed.
[root@cent7 ~]#

このようにrootであってもパスワードが変更出来てしまいます。
まぁ、コマンド単体で使うのはセキュリティ上で問題が大ありなので止めたほうが良いかと思います(笑)
と言うのも、コマンド履歴に ”設定したパスワード文字列がバッチリ残ってしまう” ので、本当に危険だということは認識しておいてください。

コマンド実行例
[root@cent7 ~]# history
1 yum install open-vm-tools -y
2 shutdown -r now
3 echo hogehoge | passwd --stdin root
4 ssh localhost
5 history
6 echo hogehoge | passwd --stdin root
7 ssh localhost
8 history
[root@cent7 ~]#

パスワードをワンライナーで設定する方法(Ubuntu編)

我が家にはラズパイ様もいるのでコチラでも試してみました。ちなみにUbuntuもこのやり方でイケると思います。
ちなみにCentOSのコマンドとは若干異なります。

コード名
# echo <ユーザ名>:<任意のパスワード> | /usr/sbin/chpasswd
コマンド実行例
root@ithinkit:~# echo test:hogehoge | /usr/sbin/chpasswd
root@ithinkit:~# ssh test@localhost
test@localhost's password:
Linux ithinkit 4.0.9-v7+ #807 SMP PREEMPT Fri Jul 24 15:21:02 BST 2015 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Nov 15 08:18:36 2015 from localhost
test@ithinkit:~$ ログアウト
Connection to localhost closed.
root@ithinkit:~#

パスワードをワンライナーで設定する方法(Windows)

Windowsでも「net」コマンドを利用することでパスワード変更をコマンドワンライナーで行うことができます。

net userコマンド
net user <ユーザ名> <任意のパスワード>

上記コマンドを並べてバッチ化するだけで一括ユーザーパスワード変更もデッキてしまいます。

コマンド実行例
C:WINDOWSsystem32>net user hoge hogehoge
コマンドは正常に終了しました。

C:WINDOWSsystem32>
注意
Linux同様、パスワードを平文で入力する必要があるのでバッチ化して実行しましょう。

WindowsとLinuxそれぞれパスワードをコマンドで変更する方法について書きました。
セキュリティ上はよろしくないのですが、定期的にパスワードを変更する際のスクリプトに使うと良い感じかも知れませんね。

以上、あいしんくいっとでした。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)