问题标签 [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.
php - PHP 命令未执行 system()、exec() 或 passthru()
我正在尝试使用 open office 运行命令行文件转换。
当我以root身份在命令行中执行时,它工作正常并且文件被转换。但是,当我以 apache 用户的身份在 PHP 文件中传递上述命令时,它不会执行。
我尝试了所有三个 PHP 命令行执行:
还,
$rtnval
返回 1 和$command_output
1。我很困惑,无法知道 linux (centos) 对上述命令的响应是什么。非常沮丧,因为当我尝试执行命令时无法知道系统响应。
我还包括/etc/suders
允许 apache 运行 open office 命令。
apache ALL: (ALL) NOPASSWD: /path/to/openoffice
该命令仍然没有以 apache 用户身份在 PHP 中执行。
作为 apache 用户,我缺少什么让 PHP 不执行这个命令?
php - 在 etc/sudoers 中授予的权限仅持续 10 分钟
我有一个包含 a 的 PHP 脚本,shell_execute()
它执行的命令通常需要 sudo。我用 visudo 编辑了 sudoers 以包含以下内容:
我怀疑任何一个都应该起作用,但我采用了腰带和吊带的方法来确定。
我正在用 vim 编辑 etc/sudoers,所以在添加这些行之后,我执行 :x 并且一切正常。我的 PHP 脚本做了它应该做的事情......大约 10-15 分钟。然后脚本停止工作。具体来说,shell_exec()
停止工作。
如果我再做sudo visudo
一次,我的新台词仍然存在。但只有当我再次保存它时,脚本才会再次开始工作。
谁能告诉我为什么会发生这种情况?我有两个不太好的猜测:
- 有某种宽限期从我开始
sudo visudo
,这就是允许我的脚本工作的原因(但只在它到期之前)。 - etc/sudoers 中的新数据保留在 sudoers.tmp (“锁定文件”)中......这些都不适合我。
linux - visudo nopasswd 不工作
我试图让 admin 组中的所有用户在jar
没有密码的情况下以 SUDO 的身份运行文件,我已经编辑了 sudoers 文件(使用 visudo)并尝试了许多命令,但它仍然每次都提示我输入密码
内容/etc/sudoers
:
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 会是要使用的函数吗?
谢谢
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 命令?
谢谢!
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 ,但这将允许任何事情.....
有任何想法吗?
埃里克
linux - sudoers NOPASSWD 在桌面启动器脚本中无效
我在 Linux Mint 13 中有一个启动器脚本,以便我可以单击桌面上的图标来安装我的 NAS。为了在没有密码的情况下使用 /bin/mount 我必须将此行添加到 sudoers:
挂载 NAS 的脚本非常简单:
如果我使用终端,我的脚本无需输入密码即可工作,但是当它从启动器运行时(使用“终端中的应用程序”),它会要求输入密码。如果我给出它接受它并运行的密码 - 所以它必须知道哪个用户正在运行它并允许用户使用 sudo,所以它确实尊重部分 sudoers,但它不尊重 /bin/mount 的 NOPASSWD 关键字. 如何让 NOPASSWD 在这里工作?
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
文件不是一个选项,因为打开文件需要sudo
或root
特权。
linux - “visudo:警告:Cmnd_Alias `NOPASSWD' 已引用但未定义”是什么意思?
我正在使用 visudo 命令编辑文件 sudoer。当我完成保存文件时,会出现此警告。
我无法以非 root 用户身份远程执行特定文件。我认为这个警告可能与它有关。
如何解决此警告?
编辑:实际上是 NOPASSWD
linux - 当您没有权限时在 Mac 或 Linux 上编辑 sudoers 文件
我正在尝试在我的 MacOS(或 Linux)系统上安装一些东西,但我没有权限,因为我不是管理员。所以我尝试使用sudo
它,它说我不在/etc/sudoers
文件中。我试过编辑sudoers
文件,但它不允许我,所以我“用谷歌搜索”它。大家都说用visudo
编辑文件。问题是,它甚至不让我使用visudo
!当我输入“visudo”时,它只是说
将不胜感激一些帮助。提前致谢!
编辑:我尝试切换用户,然后编辑 sudoers 文件,但仍然没有工作