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

发布网友 发布时间:2022-04-25 11:24

我来回答

1个回答

热心网友 时间:2024-03-09 12:11

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


配置单个用户的密码:

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 选项。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com