shell脚本自动给用户配置密码

 我来答
百度网友f6630ec58
2014-09-04 · TA获得超过368个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:236万
展开全部

很高兴能回答你的问题,根据你的题意,给出如下回答:


配置单个用户的密码:

echo "PASSWORD_IN_PUT" | passwd --stdin USER


多个用户配置一个密码:

#!/bin/sh
FILE=/home/user.list    # 用户名保存文件
while read line
do
    echo "PASSWORD_IN_PUT" | passwd --stdin $line
done < $FILE

将如上内容保存到一个文件中,sh file 即可执行。


其中,FILE文件的格式为:

root
linux
test
ftp
# 等等,每个用户一行


多个用户配置多个密码:(必须有规律,没有规律无法用脚本自动执行)

#!/bin/sh
FILE=/home/user.lis
for item in `cat $FILE`
do
    case $item in
        root)
            # 用户为 root
            echo "PASSWORD_root" | passwd --stdin $item
            ;;
        linux)
            # 用户为 linux
            echo "PASSWORD_linux" | passwd --stdin $item
            ;;
        *)
            # 用户为其他
            echo "PASSWORD_other" | passwd --stdin $item
            ;;
    esac
done

以上两个循环中,for、while 都可以使用和互换,只是写法不同,列出两种,供你参考。


case 语句用于进行多分支判断,你可以在 *) 这个默认语句前面再加入其他判断,格式参照上例即可。


归根结底,自动配置密码的核心主要是你会不会 passwd 命令中的 --stdin 选项。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式