当前位置:首页 » 编程软件 » shell脚本修改密码

shell脚本修改密码

发布时间: 2024-06-28 07:58:37

A. 如何使用shell脚本修改linux的登陆密码

以root用户为例:
第一种:
echo “123456″ | passwd –stdin root
优点:方便快捷
缺点:如果你输入的指令能被别人通过history或者其他方式捕获,那么这样的方式是很不安全的,更重要的是如果密码同时含有单引号和双引号,那么则无法通过这种方法修改。
说明:
批量修改linux密码 passwd –stdin user 从标准输入中读取密码,所以用户可以在脚本中使用如 echo NewPasswd | passwd –stdin username 这种方式来批量更改密码 但在其它的一些发行版(如Debian/Suse)所提供的passwd并不支持–stdin这个参数
第二种:
a. 首先将用户名密码一起写入一个临时文件.
cat chpass.txt
root:123456
zhaohang:123456
b. 使用如下命令对用户口令进行修改:
chpasswd < chpass.txt
c. 可以使用 123456 来登录系统,密码修改完毕.
优点:可以很快速方便的修改多个用户密码
缺点:明文密码写在文件里仍然显得不够安全,但是避免了第一种修改方式不能有特殊字符串密码的情况.
第三种:
a. 用 openssl passwd -1 来生成用户口令,连同用户名一起写入文件.
cat chpass.txt
root:$1$ri2hceVU$WIf.firUBn97JKswK9ExO0
zhaohang:$1$i/Gou7.v$Bh2K6sXmxV6/UCxJz8N7b.
b. 使用如下命令对用户口令进行修改:
chpasswd -e < chpass.txt
c. 可以使用 123456 来登录系统,密码修改完毕.

B. 用shell脚本批量创建30个用户,用户名为exam1~exam30,用户密码统一为gdlclinux。

写好了,还在测试,测试好了就给你。
写好了,通过测试了。
########################################################################
#注:本脚本中使用了函数模块,以方便修改和调试
#************************************************
# 2011年12月10日 初稿
#************************************************
# 2011年12月11日 测试 问题:密码修改函数尚未实现
#************************************************
# 2011年12月11日 定稿 密码修改函数实现
#************************************************
# by [email protected] 12.11.2011
########################################################################

#设置变量
i=1
username=exam
password=gdlclinux
rmso=$(tput rmso)
smso=$(tput smso)
#此处可添加要求输入用户名和密码的项

#错误判断函数
SEA()
{
location=$( which useradd ) #查找useradd的绝对路径
if [ \( "$location" = "" \) -o \( -s "$location" \) ] #判断是否找到useradd文件,或着找到的文件为空
then
echo "Useradd was not found,job terminated $smso unsuccessfully$rmso!"
exit
else
if [ -x "$location" ] #若useradd文件存在且不为空,判断是否具有可执行权限
then
echo "Command useradd doesn't have excution(x) mode"
exit
else #无法确定问题原因
echo "Script terminated by some unknown problem,Please check it!"
exit
fi
fi
}
#提示信息函数
casemsg()
{
#判断passwd执行的返回值,并进入case分支
case "$y" in
0) echo "Set password for $smso $username$i$rmso successfully"
;;
1) echo "Permission denied when set password for $smso $username$i$rmso"
exit 1 ;;
2) echo "Invalid combination of options for command passwd"
exit 2 ;;
3) echo "Unexpected failure, nothing done"
exit 3 ;;
4) echo "Unexpected failure, passwd file missing"
exit 4 ;;
5) echo "Passwd file busy, try again"
exit 5 ;;
6) echo "Invalid argument to option"
exit 6 ;;
esac
}
#用户创建函数
usercreate()
{
useradd -m $username$i #如果需要其他功能,请参照useradd帮助手册修改此行,如:设置uid
x=$?
}
#密码修改函数
#这里如果你的系统里有chpasswd这个批修改工具的话,就不用这么麻烦了。
MOVpassword()
{
( echo "$password";sleep 1;echo "$password" )|passwd $username$i #若useradd执行成功,则调用passwd设置密码
y=$?
}
#主循环
while [ "$i" -ge 1 -a "$i" -le 30 ]
do
usercreate #调用usercreate函数创建用户
if [ "$x" -eq 0 ] #判断useradd是否执行成功
then
echo "User $smso $username$i$rmso have been create successfully!"

MOVpassword #调用MOVpassword修改密码

casemsg #调用casemsg函数

if [ "$y" = 0 ] #如果MOVpassword的返回值为0,则将i加1
then
let i++
fi

else
SEA #调用错误判断函数

fi
done
unset i x y location rmso smso username password #释放所有设定的变量

C. 嵌入式linux,用shell脚本实现修改root密码,求教

关键是shell简单的写文件没办法同时改经过加密的/etc/shadow档,我认为passwd在调用过程中会隐含修改shadow,你要用shell实现的话,必须在修改/etc/passwd的同时,也要按照相应方法计算出加密后的字符串,再用shell修改/etc/shadow。

D. 运行linux脚本,遇到要按回车键,怎么让它自动应答,继续运行脚本

实现的方法和详细的操作步骤如下:

1、第一步,连接相应的linux主机,进入linux命令行状态,并等待输入shell命令,见下图,转到下面的步骤。

E. LINUX中如何用shell脚本批量设置用户密码

while read line
do
user=`echo $line|cut -d : -f 1`
useradd $user
password = `echo $line | cut -d : -f 2`
echo "$password" | passwd --stdin "$user"
done<userlist.txt

Linux下 Passwd有参数 --stdinThis option is used to indicate that passwd should read the new password from standard input, which can be a pipe.
--stdin参数表明passwd可以从标准输入或者管道接收密码。

热点内容
phpqq验证 发布:2024-11-07 21:09:07 浏览:961
安卓忘记屏幕时间怎么办 发布:2024-11-07 20:46:08 浏览:180
酒店服务器异常怎么办 发布:2024-11-07 20:46:03 浏览:805
电视买什么牌的什么配置好 发布:2024-11-07 20:41:55 浏览:652
光遇安卓用什么拍视频比较好 发布:2024-11-07 20:23:02 浏览:991
华为云服务器搭建网站 发布:2024-11-07 20:22:39 浏览:251
手机刷安卓卡需要注意什么 发布:2024-11-07 20:21:09 浏览:23
块存储客户端 发布:2024-11-07 20:12:14 浏览:972
scratch打地鼠编程 发布:2024-11-07 20:06:41 浏览:211
微信存储空间里聊天记录删除 发布:2024-11-07 20:05:31 浏览:166