この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
WindowsやLinuxを扱ってると、定期的にOSユーザのパスワードを変更することがあります。
例えばLinuxでユーザーパスワードを変更するのであれば、
# passwd <ユーザ名>
で変更すると思いますが、これだとインタラクティブにキーボード入力でパスワードを応答する必要があって面倒だったりします。
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 <ユーザ名> <任意のパスワード>
上記コマンドを並べてバッチ化するだけで一括ユーザーパスワード変更もデッキてしまいます。
C:WINDOWSsystem32>net user hoge hogehoge
コマンドは正常に終了しました。
C:WINDOWSsystem32>
WindowsとLinuxそれぞれパスワードをコマンドで変更する方法について書きました。
セキュリティ上はよろしくないのですが、定期的にパスワードを変更する際のスクリプトに使うと良い感じかも知れませんね。
以上、あいしんくいっとでした。