问题标签 [sudoers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4079 浏览

php - PHP 命令未执行 system()、exec() 或 passthru()

我正在尝试使用 open office 运行命令行文件转换。

当我以root身份在命令行中执行时,它工作正常并且文件被转换。但是,当我以 apache 用户的身份在 PHP 文件中传递上述命令时,它不会执行。

我尝试了所有三个 PHP 命令行执行:

还,

$rtnval返回 1 和$command_output1。我很困惑,无法知道 linux (centos) 对上述命令的响应是什么。非常沮丧,因为当我尝试执行命令时无法知道系统响应。

我还包括/etc/suders允许 apache 运行 open office 命令。

apache ALL: (ALL) NOPASSWD: /path/to/openoffice

该命令仍然没有以 apache 用户身份在 PHP 中执行。

作为 apache 用户,我缺少什么让 PHP 不执行这个命令?

0 投票
2 回答
315 浏览

php - 在 etc/sudoers 中授予的权限仅持续 10 分钟

我有一个包含 a 的 PHP 脚本,shell_execute()它执行的命令通常需要 sudo。我用 visudo 编辑了 sudoers 以包含以下内容:

我怀疑任何一个都应该起作用,但我采用了腰带和吊带的方法来确定。

我正在用 vim 编辑 etc/sudoers,所以在添加这些行之后,我执行 :x 并且一切正常。我的 PHP 脚本做了它应该做的事情......大约 10-15 分钟。然后脚本停止工作。具体来说,shell_exec()停止工作。

如果我再做sudo visudo一次,我的新台词仍然存在。但只有当我再次保存它时,脚本才会再次开始工作。

谁能告诉我为什么会发生这种情况?我有两个不太好的猜测:

  1. 有某种宽限期从我开始sudo visudo,这就是允许我的脚本工作的原因(但只在它到期之前)。
  2. etc/sudoers 中的新数据保留在 sudoers.tmp (“锁定文件”)中......这些都不适合我。
0 投票
1 回答
13457 浏览

linux - visudo nopasswd 不工作

我试图让 admin 组中的所有用户在jar没有密码的情况下以 SUDO 的身份运行文件,我已经编辑了 sudoers 文件(使用 visudo)并尝试了许多命令,但它仍然每次都提示我输入密码


内容/etc/sudoers

0 投票
1 回答
1342 浏览

php - 这是 sudoers 文件授予 php 访问权限以重新加载 nginx 的正确条目吗?

我需要授予 php 访问权限以重新加载 nginx。该命令是nginx -s reload这样的,下面的 sudoers 文件中的条目是否正确?

www-data ALL=NOPASSWD: nginx -s reload

那么<?php exec('sudo nginx -s reload'); ?>shell_exec 会是要使用的函数吗?

谢谢

0 投票
2 回答
1905 浏览

php - PHP shell_exec - 使用 RSYNC 作为 root 没有密码

我正在尝试为 staging->production 发布脚本创建一个 PHP Web 界面。Web 界面是安全的(内部网、密码等),所以我很高兴 apache 充当 root 用户来执行 rsync。root 用户没有密码,密钥文件用于 SSH 访问。

我尝试在 shell 脚本中对 rysnc 命令执行 sudo 操作...

并通过将以下内容添加到 sudoers 文件中来允许 apache 运行 rsync...

我正在使用 PHP shell_exec 来调用脚本...

我收到以下错误...

如何设置以便我可以像 root 用户一样运行 rsync 命令?

谢谢!

0 投票
2 回答
2134 浏览

bash - sudo -i 通过 sudoers 文件不再具有特定权限

我有一个名为 sudo -i -u user /bin/bla/whatever 的 bash 脚本。直到最后一次更新到 CentOS 5.8 之前,它都运行良好。这是 sudoers 文件中的相应条目:

如果我使用 sudo -i 它似乎调用了命令

(关于安全日志)。现在,自从更新以来,它似乎调用

因此是不允许的。我试图将 sudoers 文件中的行更改为

但那是不允许的语法,所以我尝试了:

这是有效的语法,但也不起作用。

如果我使用 sudo -H -u user /bin/bla/whatever 它工作正常。即使我在 sudoers 文件中允许 /bin/bash ,但这将允许任何事情.....

有任何想法吗?

埃里克

0 投票
1 回答
881 浏览

linux - sudoers NOPASSWD 在桌面启动器脚本中无效

我在 Linux Mint 13 中有一个启动器脚本,以便我可以单击桌面上的图标来安装我的 NAS。为了在没有密码的情况下使用 /bin/mount 我必须将此行添加到 sudoers:

挂载 NAS 的脚本非常简单:

如果我使用终端,我的脚本无需输入密码即可工作,但是当它从启动器运行时(使用“终端中的应用程序”),它会要求输入密码。如果我给出它接受它并运行的密码 - 所以它必须知道哪个用户正在运行它并允许用户使用 sudo,所以它确实尊重部分 sudoers,但它不尊重 /bin/mount 的 NOPASSWD 关键字. 如何让 NOPASSWD 在这里工作?

0 投票
2 回答
21613 浏览

linux - Qt,Linux,检查给定用户是否具有 sudo 权限

我正在运行 Fedora 17 KDE x64 和 Qt 4.8.1。

与 Ubuntu 相比,Fedora 不授予第一个创建的用户 sudo 权限,也不会将第一个创建的用户添加到/etc/sudoers文件中。因此,在 Fedora 17 KDE 上安装程序(尚未测试 Gnome 等)时,它需要root(不是sudo)权限。所以,我们有三个级别的权限(按照权限级别降序排列):

1) 根 2) 须藤 3) 用户

在 Fedora 17 KDE 中,如果您有权访问root用户帐户,您可以通过编辑文件并添加以下行来授予sudo您想要的任何其他用户权限:/etc/sudoers

… 下线:

替换user为您希望授予 sudo 访问权限的帐户的名称。

但并非每个用户都可以访问root用户的帐户。这就是root用户可以将超级用户 ( sudo) 权限授予某些用户帐户的原因。

我想要检查运行应用程序的当前用户是否注册为超级用户。如果是这样,我将使该/usr/bin/kdesu工具使用/usr/bin/sudo要求输入sudo密码的工具。

如果用户不是超级用户,我会/usr/bin/kdesu保持默认行为 - 它使用/usr/bin/su需要root密码的工具。

目前,我正在使用getenv('USER')(Windows 上的“USERNAME”,但我只需要 Linux 上的此功能)来获取当前用户。可以通过遍历QProcess::systemEnvironment()列出 HOSTNAME 和 USER 变量的位置来获取当前用户的名称。

解析/etc/sudoers文件不是一个选项,因为打开文件需要sudoroot特权。

0 投票
1 回答
4542 浏览

linux - “visudo:警告:Cmnd_Alias `NOPASSWD' 已引用但未定义”是什么意思?

我正在使用 visudo 命令编辑文件 sudoer。当我完成保存文件时,会出现此警告。

我无法以非 root 用户身份远程执行特定文件。我认为这个警告可能与它有关。

如何解决此警告?

编辑:实际上是 NOPASSWD

0 投票
4 回答
3705 浏览

linux - 当您没有权限时在 Mac 或 Linux 上编辑 sudoers 文件

我正在尝试在我的 MacOS(或 Linux)系统上安装一些东西,但我没有权限,因为我不是管理员。所以我尝试使用sudo它,它说我不在/etc/sudoers文件中。我试过编辑sudoers文件,但它不允许我,所以我“用谷歌搜索”它。大家都说用visudo编辑文件。问题是,它甚至不让我使用visudo!当我输入“visudo”时,它只是说

将不胜感激一些帮助。提前致谢!

编辑:我尝试切换用户,然后编辑 sudoers 文件,但仍然没有工作