ソルトツールを使用してユーザーとパスワードを生成するより良い方法はありますか?

ソルトツールを使用してユーザーとパスワードを生成するより良い方法はありますか?

私のソルト依存関係とシステムバージョンは次のとおりです。

#~: salt -V
Salt Version:
           Salt: 3000

Dependency Versions:
           cffi: 1.11.5
       cherrypy: Not Installed
       dateutil: Not Installed
      docker-py: Not Installed
          gitdb: Not Installed
      gitpython: Not Installed
         Jinja2: 2.8
        libgit2: Not Installed
       M2Crypto: 0.29.0
           Mako: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.4.6
   mysql-python: Not Installed
      pycparser: 2.10
       pycrypto: 2.6.1
   pycryptodome: Not Installed
         pygit2: Not Installed
         Python: 2.7.18 (default, Apr 27 2020, 21:31:03) [GCC]
   python-gnupg: Not Installed
         PyYAML: 5.3.1
          PyZMQ: 14.0.0
          smmap: Not Installed
        timelib: Not Installed
        Tornado: 4.5.3
            ZMQ: 4.0.4

System Versions:
           dist: SuSE 12 x86_64
         locale: UTF-8
        machine: x86_64
        release: 4.12.14-122.136-default
         system: Linux
        version: SUSE Linux Enterprise Server  12 x86_64

次のホスト名のリストを使用して、ソルトを使用して大規模なユーザーリストを作成しています。

for i in $(cat hostname_list.txt); do salt $i cmd.run "useradd -u 4441  -c \"John Doe \" -g 5900 -m jdoe" ; done ;

このコマンドは、ユーザーログインに関連するパスワードを生成しません。

このコマンドを使用してパスワードを作成しようとしましたが、うまくいきませんでした。

for i in $(cat hostname_list.txt); do salt $i user.passwd jdoe '<new Password>' ; done ;

まず、/etc/shadowファイルで暗号化されたパスワードを特定してパディングして、1つのホストのパスワードを設定しました。

for i in $(cat hostname_list.txt); do salt $i shadow.set_password jdoe 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

暗号化されたパスワードにgrepを持たないソリューションはありますか?

ベストアンサー1

chpasswdツールで使用されます。

for i in $(cat hostname_list.txt); do salt $i cmd.run "echo 'jdoe:XXXXXXXX' | chpasswd" ; done ; 

おすすめ記事