I use CentOS5. I'm trying to read a username and a password in a bash script so I can create a new unix user.

useradd -p $password $login

the problem here is that the password is not encrypted later in /etc/shadow.

In useradd man pages it is meant to specify passwords encrypted with crypt which is not a bash command. How can i use this function from a Bash script? Or is there any command for encrypting strings?

有帮助吗?

解决方案

You could use OpenSSL for this. Its passwd command uses crypt by default.

$ openssl passwd secret
xzQbh15rXTn1c
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top