我尝试使用自动脚本创建一个使用Courier IMAP的邮件帐户。 我尝试使用这里的文档,但是关于密码的部分不起作用,用户没有任何传递,这意味着第一个EOF之后的行没有被执行
myapp-locale-en.js
答案 0 :(得分:1)
看起来你要做的就是:
#!/bin/bash
md5pass="$(echo -n "$2" | md5)"
userdb $1 set uid=5000 gid=5000 home=/var/mail/$1 mail=/var/mail/$1 systempw="$md5pass"
...由于您已经选择将流程设置为非交互式,因此如果ps
嗅探,或者某些地方history
,密码输入将无法保证安全案例+其他任何记录的内容。
概述:
echo -n
:不要在密码md5
:获取密码md5的非交互方式请注意userdbpw
从stdin读取。提供命令行参数作为输入并不会使它更安全。
获取md5的替代方法:
获取md5的其他一些方法,具体取决于可用的utils / packages:
echo -n pass | openssl dgst -md5 1a1dc91c907325c69271ddf0c944bc72
echo -n pass | md5sum | cut -f1 -d ' ' 1a1dc91c907325c69271ddf0c944bc72
echo -n pass | md5 1a1dc91c907325c69271ddf0c944bc72
以上各项;
printf "%s" "pass"
也适合替代:
echo -n "pass"