【已解决】普通用户通过visudo提升权限不成功,求助

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
sanz
帖子: 1010
注册时间: 2006-09-29 5:11

【已解决】普通用户通过visudo提升权限不成功,求助

#1

帖子 sanz » 2015-11-04 19:27

我的user用户需要以root身份运行我的一个xxx.sh(里面有需要root权限的cmd),不输入密码。
visudo里,添加
ALL ALL=(root) NOPASSWD:/home/user/xxx.sh

不成功。
如果xxx.sh里面是"sudo cmd",那么还是需要输入密码。
如果xxx.sh里是"cmd",那么不需要密码但是并没有获取root权限。

怎么破?
上次由 sanz 在 2015-11-05 9:06,总共编辑 1 次。
Dell D620 -> Asus U44SG
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
头像
sunfish
帖子: 989
注册时间: 2008-05-03 1:53

Re: 普通用户通过visudo提升权限不成功,求助

#2

帖子 sunfish » 2015-11-04 21:10

使用特殊权限,类似于passwd命令的权限,root拥有,但具有suid
docker && kubernetes
sanz
帖子: 1010
注册时间: 2006-09-29 5:11

Re: 普通用户通过visudo提升权限不成功,求助

#3

帖子 sanz » 2015-11-05 7:42

:Hehe 不懂。愿闻其详
那我visudo里的修改为什么没有用啊?
Dell D620 -> Asus U44SG
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 普通用户通过visudo提升权限不成功,求助

#4

帖子 poloshiao » 2015-11-05 8:07

我的user用户需要以root身份
釐清
是需要以 root 身份
還是需要 root 權限
那我visudo里的修改为什么没有用啊?
建議 試試
不要去修改任何已經存在的群組及使用者帳號設定

額外設定合乎你期望權限的 新群組
把該使用者 加入該群組

補充
root 是最有權利的帳號 ?
Ubuntu 預設關閉 root 登入
在許多程式 也限制 uid > 0
所以 root 身份 處處 受到限制
意思是
在 Ubuntu
不建議新手 使用 root 登入 或 切換成 root 身份
sanz
帖子: 1010
注册时间: 2006-09-29 5:11

Re: 普通用户通过visudo提升权限不成功,求助

#5

帖子 sanz » 2015-11-05 8:56

原来问题是在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身份才能运行,而我在网页脚本里要用到,所以。。。。(估计有人已经猜到是啥模块了 :em04 )

现在问题来了,我想缩小授权用户范围,但是我已经想不清楚到底是哪个用户需要哪个权限了。这两个授权语句里的用户到底应该设成谁?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
sanz
帖子: 1010
注册时间: 2006-09-29 5:11

Re: 普通用户通过visudo提升权限不成功,求助

#6

帖子 sanz » 2015-11-05 9:06

测试后结果是用户名应该是www-data
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
回复