请大家看看我这个自动切换用户并修改密码的SHELL脚本!

gully 2002-05-18 02:24:16
#假设从用户K100 到 K200 初始密码为空 要求全部把密码修改为********
#!bin/bash
intname=100
password=******
until [intname -eq 200]
do
intname='$intname+1'
name='j$intname'
su $name
if[$! -eq 0] then
contine
else
passwd
$password
$password
fi
done
#不知是否可行 多多指教
...全文
357 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gully 2002-05-18
  • 打赏
  • 举报
回复
因为没有初始密码 任何人都可以修改
我只是看看有没有自动化的方法
gully 2002-05-18
  • 打赏
  • 举报
回复
没有初始密码
任何人都可以修改
我只是看看有没有自动得方法
spark_li 2002-05-18
  • 打赏
  • 举报
回复
晕,你不是root,那你修改他们的密码干什么啊?
gully 2002-05-18
  • 打赏
  • 举报
回复
要是没有root权限呢?
spark_li 2002-05-18
  • 打赏
  • 举报
回复
当然

>>#假设从用户K100 到 K200 初始密码为空 要求全部把密码修改为********

如果要满足你上面说的,
比如你不想修改所有密码为空的用户,只修改K100-->K200
的,你在shell里面简单判断一下即可

spark_li 2002-05-18
  • 打赏
  • 举报
回复
正好学习,写了一段shell,你看看可以不?

#!/bin/bash
newpass=********
alluser=`awk 'BEGIN {FS=":"} $2=="" {print $1}' /etc/shadow`
for user in $alluser ;do
usermod -p $newpass $user
done

chink 2002-05-18
  • 打赏
  • 举报
回复
UP
spark_li 2002-05-18
  • 打赏
  • 举报
回复
你这个肯定不行呀
passwd命令是交互的,
你用这个shell输入不进去吧!

简单了看了你写的,
你用su id 来判断是否有密码,
然后用passwd密令修改密码
不谈用passwd修改密码成功不成功
你su 到其他的用户,shell还能执行么?

建议采用下面的方式
以root身份执行,
判断shadow或者passwd文件的第二列是否为空
如果为空,用usermod -p newpassword username
修改密码
gully 2002-05-18
  • 打赏
  • 举报
回复
失败哟 没有人吗?
gully 2002-05-18
  • 打赏
  • 举报
回复
多多指教啊
gully 2002-05-18
  • 打赏
  • 举报
回复
没人???????????

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧