首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件特定的visudo权限

文件特定的visudo权限
EN

Server Fault用户
提问于 2017-11-10 10:35:25
回答 2查看 866关注 0票数 0

我正在尝试将一些bash脚本集成到一个网站管理区域。

背景

我正在Ubuntu服务器上运行apache。赋予apache (www-data) sudo权限远非理想,所以我不会这么做。但是,可以为非sudo用户指定sudo访问。

出于许多安全原因,apache必须没有,或者在最坏的情况下,严重限制sudo访问.因此,一个合适的工作是指定www-data可以完成的特定脚本。

为了控制这一点,我使用etc/sudoers.tmp创建和编辑了visudo

我在var/www/html/scripts中添加了一个名为sudoscripts.sh的测试脚本。

这很简单:

代码语言:javascript
复制
#!/bin/sh
sudo whoami

因此,作为一个测试,我添加了一行:

www-data ALL=(ALL) NOPASSWD: ALL

这如预期的那样起作用。但是,这允许访问任何地方的所有脚本。

问题

然后,我将其替换为:

www-data ALL=(ALL) NOPASSWD: /var/www/html/scripts/sudoscript.sh

这会导致错误(在我的应用程序异常中):

sudo: no tty present and no askpass program specified

..。不能使用sudo。

有人能指出我做错了什么吗?我看过几个例子/其他堆栈溢出线程,它们要么不匹配,要么没有回答。

编辑以实现清晰性

以下是完整的文件:

代码语言:javascript
复制
Defaults        env_reset
Defaults        exempt_group=sudo
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

# Apache using /var/www/html/scripts

# (doesnt work)
www-data ALL=(ALL) NOPASSWD: /var/www/html/scripts/sudoscript.sh

# (works)
# www-data ALL=(ALL) NOPASSWD: ALL

谢谢

EN

回答 2

Server Fault用户

回答已采纳

发布于 2017-11-10 10:56:32

问题是,您没有使用sudo运行输入到sudoers文件中的命令。

您正在直接从您的You服务器运行/var/www/html/scripts/sudoscript.sh。然后脚本用whoami调用sudo,但sudoers文件中不允许whoami。您需要在sudoers中设置whoami,而不是脚本位置。

当然,这没什么意义。

更有意义的是:

/var/www/html/script/sudoscript.sh

代码语言:javascript
复制
#!/bin/sh
whoami

/etc/sudoers

代码语言:javascript
复制
www-data ALL=(ALL) NOPASSWD: /var/www/html/scripts/sudoscript.sh

然后在with服务器上使用sudo运行脚本:

代码语言:javascript
复制
sudo /var/www/html/scripts/sudoscript.sh
票数 3
EN

Server Fault用户

发布于 2017-11-10 10:40:47

在签证或投稿中对要求进行评论!在它面前,就像:

缺省值!请求

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/882824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档