LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1543|回复: 5

有没有办法在Shell脚本中切换到root用户

[复制链接]
发表于 2006-2-4 11:33:20 | 显示全部楼层 |阅读模式
比如我写了以下脚本:


  1. #!/bin/sh

  2. su
  3. abcd  # password
复制代码

结果:
bash: ./a.sh: Permission denied


我是想写一个脚本能自动上网,程序在/usr/sbin/adsl-start
但运行这个命令又需要有管理员的身份
:thank
发表于 2006-2-4 14:21:56 | 显示全部楼层
chmod 777 a.sh

而且像楼主这样写法是不能得到你期望的结果的……不过可以设置suid位。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-4 19:03:40 | 显示全部楼层
suid怎么个玩法?
愿闻其详
回复 支持 反对

使用道具 举报

发表于 2006-2-4 21:33:36 | 显示全部楼层
楼主可能只能在程序中测试是否有root权限,而不能直接在shell脚本里获得root权限,否则linux的安全性就成空话了~

在bash里可以用$UID变量来简单测试
回复 支持 反对

使用道具 举报

发表于 2006-2-5 21:33:08 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2006-2-6 17:24:05 | 显示全部楼层
如果adsl-start不是脚本,则
chmod 4755 /usr/sbin/adsl-start
如果是脚本就找到对应的程序再 4755
或是用 expect 来搞也可以。看 expect 的例子。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表