程序中设置用户名和密码

来源:互联网 发布:佛教入门 知乎 编辑:程序博客网 时间:2024/05/17 03:31

编个程序,需要添加用户和密码
使用了命令
useradd -p 12345 test
突然间瞄到网页上说useadd -p 命令设置的密码不是原来的密码,而是加密之后的密码。

怎么样解决呢?
1、根据源密码来设置
加密之后的密码在/etc/shadow的第二个字段,拿到这个密文就可以用p直接设置密码了
useradd -p /$1/$EaTjv12a/$yAYHKjRflqHtqH807o59D0 user
但是如果没有这个加密后的密码呢?因为密码本来就要设置,事先可能拿不到加密后的密码,所以需要一种新的方法。

2、使用命令passwd
好了,使用这个命令可以随意设置。但是,又有新问题,这个密码设置需要交互式操作,在编写的代码里面用这个好像不怎么合适吧,;(,有没有不要交互的方式呢?google了一下,还真让我找到了,原来可以这样写
echo <newpasswd> | passwd --stdin <username>
或者
echo <username>:<passwd> | chpasswd

好了,问题解决了,继续吧,:-)