问题标签 [sudo]

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 回答
14035 浏览

capistrano - Capistrano 在向 Ubuntu 框提示输入 SUDO 密码时挂起

我有一个 capistrano 部署配方,我已经使用了一段时间来部署我的 web 应用程序,然后使用 sudo 命令重新启动 apache/nginx。最近,当我尝试执行这些 sudo 命令时,cap deploy 挂起。我看到输出:“[sudo] password for” 带有我的服务器名称和远程登录,但这不是安全登录提示。cap shell 只是挂起等待更多输出,不允许我输入密码来完成远程 sudo 命令。

有没有办法解决这个问题或体面的工作?我不想删除远程用户对 web 重启命令的 sudo 密码提示。

0 投票
1 回答
449 浏览

git - 如何在没有 sudo 访问权限的情况下将 Gitosis 安装到我的服务器?

我正在尝试遵循这些命令

我在没有 sudo 访问权限的情况下管理将 Git 安装到我的服务器。但是,我需要 sudo 访问权限才能添加新用户:请参阅此。如果没有 sudo 访问权限,Gitosis 似乎很难安装。

0 投票
8 回答
141926 浏览

python - 从 python 脚本以超级用户身份运行命令

因此,我正在尝试使用子进程从 python 脚本中以超级用户身份运行一个进程。在 ipython shell 中类似于

工作正常,但只要我把它粘贴到一个脚本中,我就开始得到:sudo: apach2ctl: command not found.

我猜这是由于 sudo 在 ubuntu 上处理环境的方式。(我也试过了sudo -E apche2ctl restartsudo env path=$PATH apache2ctl restart没用)

所以我的问题基本上是,如果我想以apache2ctl restart超级用户身份运行,在需要时提示用户输入超级用户密码,我应该怎么做呢?我无意在脚本中存储密码。

编辑:

我尝试将命令作为字符串传递并标记为列表。在 python 解释器中,我会用一个字符串正确地得到密码提示(在我原来的问题中仍然不能在 python 脚本中工作),一个列表只是给出了 sudo 的帮助屏幕。

编辑2:

所以我收集到的是,虽然当 shell=True 时 Popen 会像字符串一样处理一些命令,但它需要

没有 'shell=True' 让 sudo 工作。

谢谢!

0 投票
6 回答
28391 浏览

python - 使用 python 脚本以超级用户身份运行 linux 系统命令

我已经在我的机器上安装了 postfix,并且我正在以编程方式(使用 python)(在某些操作上)即时更新 virtual_alias。更新 /etc/postfix/virtual_alias 中的条目后,我将运行以下命令:

我收到错误:p>

我想以非人类的方式运行提到的 sudo 命令(意思是,我正在从 python 脚本运行这个系统命令。)。那么如何让这个命令以编程方式运行呢?

0 投票
4 回答
46128 浏览

python - 无法在没有 sudo 访问权限的情况下安装 Python

我为服务器中的安装包提取、配置和使用了 make。

但是,我无法使用make install。我得到错误

我运行文件夹

我仍然得到同样的错误。

如何在没有 sudo 访问权限的情况下运行make install ?

0 投票
4 回答
7557 浏览

macos - 在 Mac OSX 10.5 中,找不到我的终端命令 sudo、find 等

我不知道发生了什么,但是在 Mac OSX 10.5 上的终端中,它再也找不到我的 sudo 命令或 find 命令等。它们在那里是因为如果我放 /usr/bin/sudo 或 /usr/bin /发现它工作正常...

我的 .bash_login 文件如下所示: export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin$PATH"

我的 .bash_profile 文件如下所示: export PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Python/2.5/site-packages/django_trunk/django/bin:/usr/local/mysql /bin:/usr/bin/sudo$PATH"

我现在要说,我真的不知道我在用终端做什么。我只是这一切的初学者,我必须为环境变量(就是它们的名字吗?)做一些事情才能丢失。我想我只需要确保 /usr/bin/ 路径在我的 bash 文件中,但它们是,而且它似乎不起作用。请帮忙!

此外,当我使用 /usr/bin/find 命令时,它对我说“权限被拒绝”,即使我以系统管理员帐户登录 Mac OSX。我不明白。

任何帮助都会很重要。谢谢 - 詹姆斯

0 投票
2 回答
6863 浏览

linux - 你如何让 sudo 保存密码?

您如何设置它以使 sudo 不会每次都提示您输入密码?我有根。

0 投票
3 回答
814 浏览

gcc - 更改 $ sudo gcc 的搜索目录

在 OS X 上,我正在尝试为 haskell 的 Cabal 安装 zlib 先决条件。我收到此错误:

库 -lgmp 位于 /sw/lib 中,因此如果我手动添加 -L/sw/lib,我可以成功运行该命令(“/usr/bin/gcc ...”)。问题是 sudo 不知道 /sw/lib。看哪:

如何告诉 sudo 版本的 gcc 在 /sw/lib 中查找库?我是否在 root 的 .bash_profile 上添加环境变量?如果有,是哪一个?

更新: 可能有更合适的方法来做到这一点,但这就是有效的。我在其中创建了一个 bash 脚本:

然后我跑了

那编译zlib没有抱怨 - 万岁!不幸的是 cabal-install 仍然给我错误:

所以我回到了 cabal-install 目录(这是我首先要做的),然后运行......

...并且按预期安装了所有内容。

0 投票
7 回答
18103 浏览

php - 如何让 PHP 脚本以 root 身份运行 shell 脚本?

运行 Fedora 9/10、Apache 2、PHP 5...

我可以使用 exec() 从 PHP 脚本以 root 身份运行 shell 脚本吗?

我是否只是给 Apache root 权限,然后在它们前面添加“sudo”命令?

具体来说,我正在尝试启动和停止后台脚本。

目前我有一个 shell 脚本,它只运行应用程序 start.sh:

还有一个杀死应用程序的脚本,stop.sh:

我会这样做:

提前致谢。

0 投票
4 回答
3254 浏览

php - 在 PHP 中通过 shell_exec 压缩文件:路径问题

我正在开发一个网络备份服务部分,其中允许用户下载一个 zip 文件,其中包含他们从备份的列表中选择的文件。

压缩过程是通过 shell_exec 命令完成的。为此,我已授予 apache 用户 no-password sudo 对 zip 命令的权限。

我的问题是,因为我不能对包含用户备份文件的文件夹执行“sudo cd /path/to/user/files”,所以我需要指定要压缩的文件的完整绝对路径,然后进入我不想要的 zip 文件。

这就是我的意思:

用户“test1”备份了他们的文件,这些文件存储如下
/home/backups/test1/my pics/pic1.jpg
/home/backups/test1/my pics/pic2.jpg
/home/backups/test1/my图片/pic3.jpg
/home/backups/test1/hello.txt
/home/backups/test1/music/band/song.mp3

当这些文件被压缩时,它们会保留完整的路径,但我只想显示:
my pics/pic1.jpg
my pics/pic2.jpg
my pics/pic3.jpg
hello.txt
music/band/ song.mp3

有没有办法告诉 zip 截断路径,或者为每个文件指定一个自定义路径?
或者有什么方法可以将工作目录更改为用户的根备份文件夹,这样我就可以简单地指定相对文件路径。

感谢您的阅读,希望您能走到这一步,这一切都是有道理的!