概要
mkpasswdコマンドを使いたいんだけど、サーバ立ててmkpasswdコマンドインストールするのは面倒くさいという話です。現場では、たまたまmkpasswdコマンドが使えるサーバが見つかったので、事なきを得たのですが、今後困ることもあるかな?と思って備忘録的にメモしておきます。
セキュリティは気にしないぜ
って人は、これ使うと良いです。(自己責任で)
入力したパスワードをどこでどう悪用(出来るのか?)されていても文句は言えません。
セキュリティは気にしないぜ2
Docker Hubにもいくつかイメージが落ちています。
Pulls 100K+ なので、これが人気あるっぽい。
Dockerfileが公開されていないので、何が仕込まれているか分からない・・
C:\Users\taka_>docker run -d d0nsk1/mkpasswd
Unable to find image 'd0nsk1/mkpasswd:latest' locally
latest: Pulling from d0nsk1/mkpasswd
5bed26d33875: Pull complete
f11b29a9c730: Pull complete
930bda195c84: Pull complete
78bf9a5ad49e: Pull complete
b86a56c4cbfa: Pull complete
Digest: sha256:9b45d5f1dd6ddc51edf6b4997d0b75a66ebd32ae03755d7a82a1e1ff7c56efa0
Status: Downloaded newer image for d0nsk1/mkpasswd:latest
48ce5d384262dfe550b3dfbd6ecead5df369cae346c67b701d5ec21ff9f87dc5
C:\Users\taka_>docker exec -it 48 /bin/bash
root@48ce5d384262:/# mkpasswd
Password:
G0IX3MDFP4ORc
root@48ce5d384262:/# exit
exit
C:\Users\taka_>docker rm -f 48
48
C:\Users\taka_>
一応動きはします。
というわけでコンテナを自分で作ります
Ubuntuだとmkpasswdコマンドないそうです。あと、Centosでもmkpasswdコマンドなかったので、Centosの代替の一つであるRocky Linuxのコンテナイメージにmkpasswdコマンドをインストールしてみます。
mkpasswdコマンドは、expectというパッケージに入っています。
C:\Users\taka_>docker run --name rockylinux -it rockylinux /bin/bash
Unable to find image 'rockylinux:latest' locally
latest: Pulling from library/rockylinux
72a2451028f1: Pull complete
Digest: sha256:5fed5497b568bcf7a90a00965987fc099edbcf44b1179a5ef6d4b47758281ca5
Status: Downloaded newer image for rockylinux:latest
[root@e704117b5602 /]# mkpasswd
bash: mkpasswd: command not found
[root@e704117b5602 /]# yum -y install expect
Rocky Linux 8 - AppStream 4.6 MB/s | 9.6 MB 00:02
Rocky Linux 8 - BaseOS 2.3 MB/s | 6.6 MB 00:02
Rocky Linux 8 - Extras 20 kB/s | 12 kB 00:00
Dependencies resolved.
========================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================
Installing:
expect x86_64 5.45.4-5.el8 baseos 265 k
Installing dependencies:
tcl x86_64 1:8.6.8-2.el8 baseos 1.1 M
Transaction Summary
========================================================================================================================
Install 2 Packages
Total download size: 1.4 M
Installed size: 4.9 M
Downloading Packages:
(1/2): expect-5.45.4-5.el8.x86_64.rpm 1.1 MB/s | 265 kB 00:00
(2/2): tcl-8.6.8-2.el8.x86_64.rpm 573 kB/s | 1.1 MB 00:01
------------------------------------------------------------------------------------------------------------------------
Total 575 kB/s | 1.4 MB 00:02
Rocky Linux 8 - BaseOS 1.6 MB/s | 1.6 kB 00:00
Importing GPG key 0x6D745A60:
Userid : "Release Engineering <infrastructure@rockylinux.org>"
Fingerprint: 7051 C470 A929 F454 CEBE 37B7 15AF 5DAC 6D74 5A60
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : tcl-1:8.6.8-2.el8.x86_64 1/2
Running scriptlet: tcl-1:8.6.8-2.el8.x86_64 1/2
Installing : expect-5.45.4-5.el8.x86_64 2/2
Running scriptlet: expect-5.45.4-5.el8.x86_64 2/2
Verifying : expect-5.45.4-5.el8.x86_64 1/2
Verifying : tcl-1:8.6.8-2.el8.x86_64 2/2
Installed:
expect-5.45.4-5.el8.x86_64 tcl-1:8.6.8-2.el8.x86_64
Complete!
[root@e704117b5602 /]# mkpasswd
P9enbb3O,
[root@e704117b5602 /]# mkpasswd -l 16
7xlidphtO,qcdAs8
[root@e704117b5602 /]# exit
exit
C:\Users\taka_>docker rm -f rockylinux
rockylinux
C:\Users\taka_>
というわけで
Docker便利ですね。
Dockerすらインストールするの面倒だぜって場合は、どうしましょう。。