我用su - 用户 怎样才能实现把密码写在一行,而不用提示输入密码?

ATCG 2004-01-18 08:45:16
我用su - 用户 怎样才能实现把密码写在一行,而不用提示输入密码
...全文
479 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chairou 2004-01-18
  • 打赏
  • 举报
回复
hehe,现在用expect的人多了不少哦,
tkit 2004-01-18
  • 打赏
  • 举报
回复
默认安装好像没有这个包,你需要从安装光盘或网上去下载
tkit 2004-01-18
  • 打赏
  • 举报
回复
呵呵,su本身会去调passwd这个程序,而passwd会检测,必须从终端上得倒输入,所以任何重定向都是不起作用的,但是……有一个东东有用,就是expect,它通过伪终端和spawn出来的程序通信,而伪终端是passwd会认的,不然网络登陆就不行了,呵呵,简单的脚本如下:
#!/usr/bin/expect -f

spawn su -l
expect "Password:*"
sleep 1
send "your password\r"
expect "root]#"
interact
exit
---------------------------
当然这种方式的主要用途不是提供给别人用哈,不然密码的随意暴露也太危险了,所以它是一种当前使用非常广泛、用于批处理自动化测试的脚本语言。类似于上面脚本,你在自己机器上当然也可以为了省事而这样做,呵呵
ATCG 2004-01-18
  • 打赏
  • 举报
回复
问题是我不是root
blh 2004-01-18
  • 打赏
  • 举报
回复
但是如果你是root,那么你就不需要密码就可以直接转换为你希望的用户
blh 2004-01-18
  • 打赏
  • 举报
回复
好像不行,要么你自己写个su,反正linux是源代码公开的
ATCG 2004-01-18
  • 打赏
  • 举报
回复
就是这样
su - root
password:

我希望不要出现password提示
而只要直接在su命令行写密码,这样一条命令就完成,可以吗?
blh 2004-01-18
  • 打赏
  • 举报
回复
????不明白

19,620

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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