【发布时间】:2011-10-14 19:49:21
【问题描述】:
我请求您帮助创建一个脚本以一键创建用户和密码
useradd client1 -M -s /bin/false
passwd client1
例如拥有一个新用户:
登录名:client1 密码:test
有可能吗?如果是,请问如何?
【问题讨论】:
我请求您帮助创建一个脚本以一键创建用户和密码
useradd client1 -M -s /bin/false
passwd client1
例如拥有一个新用户:
登录名:client1 密码:test
有可能吗?如果是,请问如何?
【问题讨论】:
好的,我找到了:
第一个脚本创建用户:(add_user.sh)
#!/bin/sh
useradd $1 -M -s /bin/false
第二个创建密码或更改密码:
#!/bin/sh
echo "$1:$2" | chpasswd
你知道我如何从 php 文件中调用这个脚本吗?
<?php
Execution (add_user.sh) ?
?>
【讨论】:
man useradd 会给你提示,我相信这是如何做到的:
useradd [用户名] -d /path_to_home_directory -p [加密密码]
现在,非常重要的是,useradd 的文档说 -p 参数期望密码 ENCRYPTED 由 crypt(7) 返回;因此,您需要做的是创建一个示例用户,例如使用密码“test”,然后打开 /etc/shadow 并从文件中复制并粘贴密码并在脚本中使用它。
假设 /etc/shadow 中加密的“test”显示为“zxs1@431sa”,您的最终脚本应该是:
useradd [用户名] -d /path_to_home_dir -p zxs1@431sa [输入]
我认为应该这样做。
【讨论】:
应该这样做:
adduser client1 -p $(perl -e'print crypt("test", "aa")')
【讨论】: