-pオプションを使用できます。
useradd -p encrypted_password newuser
残念ながら、これにはパスワードを自分でハッシュする必要があります(passwdがそれを行います)。残念ながら、一部のデータをハッシュするための標準的なユーティリティはないようです。そのため、自分でデータを作成する必要があります。
これが、暗号化を行うために作成した小さなPythonスクリプトです。これをpcryptと呼んだとすると、上記のコマンドラインを次のように記述します。
useradd -p $(pcrypt ${passwd}) newuser
注意すべきいくつかの警告。
- pcryptの実行中、平文はpsコマンドを介してすべてのユーザーに表示されます。
- pcryptは古いスタイルのcrypt関数を使用します-MD5ハッシュのようなより現代的なものを使用している場合は、pcryptを変更する必要があります。
そしてここにpcryptがあります:
#!/usr/bin/env python
import crypt
import sys
import random
saltchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
def salt():
return random.choice(saltchars) + random.choice(saltchars)
def hash(plain):
return crypt.crypt(arg, salt())
if __name__ == "__main__":
random.seed()
for arg in sys.argv[1:]:
sys.stdout.write("%s\n" % (hash(arg),))