我的user用户需要以root身份运行我的一个xxx.sh(里面有需要root权限的cmd),不输入密码。
visudo里,添加
ALL ALL=(root) NOPASSWD:/home/user/xxx.sh
不成功。
如果xxx.sh里面是"sudo cmd",那么还是需要输入密码。
如果xxx.sh里是"cmd",那么不需要密码但是并没有获取root权限。
怎么破?
【已解决】普通用户通过visudo提升权限不成功,求助
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 1010
- 注册时间: 2006-09-29 5:11
【已解决】普通用户通过visudo提升权限不成功,求助
上次由 sanz 在 2015-11-05 9:06,总共编辑 1 次。
Dell D620 -> Asus U44SG
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
- sunfish
- 帖子: 989
- 注册时间: 2008-05-03 1:53
-
- 帖子: 1010
- 注册时间: 2006-09-29 5:11
Re: 普通用户通过visudo提升权限不成功,求助

那我visudo里的修改为什么没有用啊?
Dell D620 -> Asus U44SG
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: 普通用户通过visudo提升权限不成功,求助
釐清我的user用户需要以root身份
是需要以 root 身份
還是需要 root 權限
建議 試試那我visudo里的修改为什么没有用啊?
不要去修改任何已經存在的群組及使用者帳號設定
額外設定合乎你期望權限的 新群組
把該使用者 加入該群組
補充
root 是最有權利的帳號 ?
Ubuntu 預設關閉 root 登入
在許多程式 也限制 uid > 0
所以 root 身份 處處 受到限制
意思是
在 Ubuntu
不建議新手 使用 root 登入 或 切換成 root 身份
-
- 帖子: 1010
- 注册时间: 2006-09-29 5:11
Re: 普通用户通过visudo提升权限不成功,求助
原来问题是在cmd本身。我只设置了可以nopasswd运行cmd.sh,里面用到python没有授权。
加一行
ALL ALL=(root) NOPASSWD:/usr/bin/python
成功。
不过,这里的两条授权全是给ALL用户的,我是通过www-data用户运行python脚本,里面调用os.popen('cmd.sh'),cmd.sh里再以root身份调用python。。。说到这里估计有人晕了。其实就是有个python模块必须以root身份才能运行,而我在网页脚本里要用到,所以。。。。(估计有人已经猜到是啥模块了
)
现在问题来了,我想缩小授权用户范围,但是我已经想不清楚到底是哪个用户需要哪个权限了。这两个授权语句里的用户到底应该设成谁?www-data?user? 当然,我试验一下就可以,但是,我想搞清楚。
ALL ALL=(root) NOPASSWD:/home/user/xxx.sh
ALL ALL=(root) NOPASSWD:/usr/bin/python
加一行
ALL ALL=(root) NOPASSWD:/usr/bin/python
成功。
不过,这里的两条授权全是给ALL用户的,我是通过www-data用户运行python脚本,里面调用os.popen('cmd.sh'),cmd.sh里再以root身份调用python。。。说到这里估计有人晕了。其实就是有个python模块必须以root身份才能运行,而我在网页脚本里要用到,所以。。。。(估计有人已经猜到是啥模块了

现在问题来了,我想缩小授权用户范围,但是我已经想不清楚到底是哪个用户需要哪个权限了。这两个授权语句里的用户到底应该设成谁?www-data?user? 当然,我试验一下就可以,但是,我想搞清楚。
ALL ALL=(root) NOPASSWD:/home/user/xxx.sh
ALL ALL=(root) NOPASSWD:/usr/bin/python
Dell D620 -> Asus U44SG
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
-
- 帖子: 1010
- 注册时间: 2006-09-29 5:11
Re: 普通用户通过visudo提升权限不成功,求助
测试后结果是用户名应该是www-data
www-data ALL=(root) NOPASSWD:/home/user/xxx.sh
www-data ALL=(root) NOPASSWD:/usr/bin/python
www-data ALL=(root) NOPASSWD:/home/user/xxx.sh
www-data ALL=(root) NOPASSWD:/usr/bin/python
Dell D620 -> Asus U44SG
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS