分页: 1 / 1
帮助!!!一个切换root的shell程序
发表于 : 2007-08-20 14:58
由 lionel1022
#!/bin/bash
sudo su -
echo 123456 | sudo -S
老提示要输入密码?
请问各位该如何改,能不用输入密码?
发表于 : 2007-08-20 15:21
由 ofewiofewo
不输入密码会大大降低安全性吧。实在要这样做,可以修改/etc/sudoers文件,为这个用户和这个shell添加一个NOPASSWD的tag。类似:
代码: 全选
用户名 ... = NOPASSWD: 你的sh文件,......
发表于 : 2007-08-20 16:16
由 relive
在置顶的帖子里面有,对应的一句是用root权限执行sed -ie '/^%admin/s/ALL$/NOPASSWD: ALL/' /etc/sudoers
不过这样做的话,虽然可以解决楼主的问题但是和楼主需要知道的东西相差很远。我也想知道楼主问题的正解。我解不出帮你顶
发表于 : 2007-08-20 17:52
由 gregorian
为什么要在脚本上sodu过去你,一个你要脚本有root的权限的话,感觉还是用chmod +t 会比较好
发表于 : 2007-08-20 18:36
由 BigSnake.NET
脚本思路本身就错误, root权限的脚本应该在启动时以root执行
发表于 : 2008-02-20 18:43
由 foja
我也很想知道该怎么做,最近一直在为此烦恼
发表于 : 2008-02-20 19:15
由 eexpress
alias s-p关机='echo xxxx | sudo -S poweroff'
发表于 : 2008-02-20 19:31
由 iblicf
这个大概是要 expect 的意思了,,我不太会用,下边的只能维持数秒,,^^
代码: 全选
#!/usr/bin/expect
spawn su -
expect "Password:"
send "123456\r"
expect "#"
#send "pwd\r"
#exit
发表于 : 2008-02-20 20:11
由 bones7456
BigSnake.NET 写了:脚本思路本身就错误, root权限的脚本应该在启动时以root执行
这个才是正解.其他都是旁门左道.不安全的.
发表于 : 2008-02-20 20:16
由 eexpress
bones7456 写了:BigSnake.NET 写了:脚本思路本身就错误, root权限的脚本应该在启动时以root执行
这个才是正解.其他都是旁门左道.不安全的.
不能这么说哦。要看脚本里面主要的操作是谁。
发表于 : 2008-02-20 20:28
由 iblicf
抛开安全考虑,只是说这个如何实现,,当然值得讨论一下的,虽然 1# 的意图其实不明确,,
如此类似可能的情况 ,,
1 ,sudo 可以不输入密码
2 ,sudo -S 可以从stdin 获得输入
3 , setuid 位设置
4 , 考虑 root script ( cron )
5 , expect ,
6 , .....
发表于 : 2008-02-21 14:33
由 lb_bn
root cron和sudo -S不错。
造合大众。
