useradd和php crypt()

useradd和php crypt(),php,Php,我需要你帮我解决这个令人沮丧的问题 我正在运行:DebianLinux5.0。使用webmin版本1.510 当我使用webmin界面创建一个新用户并连接到pop3帐户时,一切都很好。当我使用以下PHP代码生成新用户时: $pass = crypt("user1"); shell_exec("sudo /usr/sbin/useradd user1 -g users -c \"user one\" -s /bin/sh -p $pass"); 用户(当然还有邮件账户)生成得很好。但是,我无法登

我需要你帮我解决这个令人沮丧的问题

我正在运行:DebianLinux5.0。使用webmin版本1.510

当我使用webmin界面创建一个新用户并连接到pop3帐户时,一切都很好。当我使用以下PHP代码生成新用户时:

$pass = crypt("user1");
shell_exec("sudo /usr/sbin/useradd user1 -g users -c \"user one\" -s /bin/sh -p $pass");
用户(当然还有邮件账户)生成得很好。但是,我无法登录此pop3帐户。每次我尝试,我都会得到一个身份验证错误。似乎我用crypt()生成的密码;是不对的,我可以通过查看它来判断,它看起来与系统生成的模式非常不同。

试试看

$allowed_salt = "abcdefghiklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";
$salt = substr($allowed_salt, rand(0,strlen($allowed_salt)-1), 1).substr($allowed_salt, rand(0,strlen($allowed_salt)-1), 1);
$pass = crypt("user1",$salt); 
shell_exec("sudo /usr/sbin/useradd user1 -g users -c \"user one\" -s /bin/sh -p $pass");