Questions tagged «sudo»

sudo命令是“替代用户”的缩写(例如,执行命令就像由另一个用户启动一样)。Sudo是用于Unix和类似Unix的计算机操作系统的程序,该程序允许用户使用其他用户(通常是超级用户或root)的安全特权运行程序。

7
vim“使用sudo编写”技巧如何工作?
许多人可能已经看到了允许您在需要root权限的文件上写命令的命令,即使您忘记使用sudo打开vim时也是如此: :w !sudo tee % 问题是我不明白这里到底发生了什么。 我已经想通了: w为此 *:w_c* *:write_c* :[range]w[rite] [++opt] !{cmd} Execute {cmd} with [range] lines as standard input (note the space in front of the '!'). {cmd} is executed like with ":!{cmd}", any '!' is replaced with the previous command |:!|. 因此它将所有行作为标准输入传递。 该!sudo tee零件tee具有管理员权限。 为了使所有人都有意义,%应该输出文件名(作为的参数tee),但是我找不到关于此行为的帮助参考。 tl; dr有人可以帮我剖析此命令吗?
1410 vim  sudo 

30
npm抛出没有sudo的错误
我只是通过nodejs.org上的软件包安装了node和npm,并且每当我尝试使用npm搜索或安装某些东西时,都会抛出以下错误,除非我对命令进行了sudo。我觉得这是权限问题?我已经是管理员。 npm ERR! Error: EACCES, open '/Users/chietala/.npm/-/all/.cache.json' npm ERR! { [Error: EACCES, open '/Users/chietala/.npm/-/all/.cache.json'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: '/Users/chietala/.npm/-/all/.cache.json' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! System Darwin 12.2.0 npm ERR! command "node" "/usr/local/bin/npm" "search" …
1285 node.js  unix  permissions  npm  sudo 



26
如何修复“ sudo:不存在tty且未指定AskPass程序”错误?
我正在尝试使用makefile编译一些源。在makefile中,有一堆命令需要作为来运行sudo。 当我从终端编译源代码时,一切正常,第一次sudo运行命令等待密码时,make暂停。输入密码后,make即可恢复并完成操作。 但是我希望能够在NetBeans中编译源代码。因此,我启动了一个项目,并向netbeans展示了在哪里可以找到源代码,但是当我编译该项目时会出现错误: sudo: no tty present and no askpass program specified 第一次命中sudo命令。 我在互联网上查找了该问题,发现的所有解决方案都指向一件事:禁用该用户的密码。由于此处讨论的用户是root。我不想那样做。 还有其他解决方案吗?
438 linux  sudo  tty 


17
sudo为什么更改PATH?
这是PATH没有sudo 的变量: $ echo 'echo $PATH' | sh /opt/local/ruby/bin:/usr/bin:/bin 这是PATHsudo 的变量: $ echo 'echo $PATH' | sudo sh /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin 据我所知,sudo应该PATH保持不变。这是怎么回事?我该如何改变?(这是在Ubuntu 8.04上)。 更新:据我所知,没有一个脚本PATH以任何方式以root身份更改启动。 来自man sudo: 为防止命令欺骗,当在用户PATH中搜索命令时(如果一个或两个都在PATH中),sudo会在最后检查``。''和``''(均表示当前目录)。但是请注意,实际的PATH环境变量不会被修改,并且会原样传递给sudo执行的程序。

11
如何在Docker容器中使用sudo?
通常,docker容器使用root用户运行。我想使用其他用户,使用docker的USER指令没问题。但是该用户应该能够在容器内使用sudo。该命令丢失。 这是用于此目的的简单Dockerfile: FROM ubuntu:12.04 RUN useradd docker && echo "docker:docker" | chpasswd RUN mkdir -p /home/docker && chown -R docker:docker /home/docker USER docker CMD /bin/bash 运行此容器,我以用户'docker'登录。当我尝试使用sudo时,找不到命令。所以我尝试使用以下方法在Dockerfile中安装sudo软件包 RUN apt-get install sudo 这导致无法找到包sudo

1
在Emacs中使用su / sudo打开文件
假设我想使用su或在现有Emacs会话中打开文件sudo,而无需下拉至shell并执行sudoedit或sudo emacs。一种方法是 C-x C-f /sudo::/path/to/file 但这需要通过SSH进行昂贵的往返。有没有更直接的方法? [编辑] @JBB是正确的。我希望能够调用su/ sudo保存以及打开。保存时重新授权是可以的(但不理想)。我正在寻找的是变化find-file,并save-buffer认为可以通过“管道” su/ sudo。

17
Cygwin中的root用户/ sudo等效者?
我正在尝试在Cygwin中运行bash脚本。 我得到Must run as root, i.e. sudo ./scriptname错误。 chmod 777 scriptname 没有任何帮助。 我一直在寻找在Cygwin上模仿sudo的方法,以添加root用户,因为调用“ su”会导致错误su: user root does not exist,任何有用的东西,却一无所获。 有人有什么建议吗?
156 bash  cygwin  root  sudo 

5
pip安装:请检查该目录的权限和所有者
在安装pip和python时,我遇到了一个提示: 目录“ / Users / Parthenon / Library / Logs / pi”或其父目录不属于当前用户,并且调试日志已禁用。请检查该目录的权限和所有者。如果使用sudo执行pip,则可能需要-H标志。 因为我现在必须使用安装sudo。 我的Mac上已经安装了python和一些库,我正在运行Yosemite。最近,我不得不进行彻底擦拭,然后重新安装操作系统。现在,我收到此提示,并且在弄清楚如何更改它时遇到了麻烦 我的命令行是以前Parthenon$,现在是Philips-MBP:~ Parthenon$ 我是这台计算机的唯一所有者,这是计算机上的唯一帐户。升级到python 3.4时,这似乎是个问题,似乎什么都没在正确的地方,virtualenv不会到达我期望的位置,等等。
155 python  pip  sudo  osx-yosemite 

10
如何在sudo中运行两个命令?
有什么方法可以从命令行运行两个Db2命令?(它们将从PHP exec命令中调用。) db2 connect to ttt (请注意,我们需要为第二个命令启用连接 db2 UPDATE CONTACT SET EMAIL_ADDRESS = 'mytestaccount@gmail.com' 我尝试了这个: sudo -su db2inst1 db2 connect to ttt; db2 UPDATE CONTACT SET EMAIL_ADDRESS = 'mytestaccount@gmail.com' 第一个命令正确完成,但第二个命令失败并显示错误消息 SQL1024N A database connection does not exist. SQLSTATE=08003 请注意,我需要以php用户身份运行它。sudo -u db2inst1 id作为php用户的命令为我提供了正确的输出。
152 bash  sudo 

9
在ssh上进行sudo的正确方法
我有一个脚本,该脚本使用sudo在远程服务器上通过SSH运行另一个脚本。但是,当我键入密码时,它会显示在终端上。(否则效果很好) ssh user@server "sudo script" 这样做的正确方法是什么,这样我可以通过SSH输入sudo的密码,而键入时却不会出现密码?
150 ssh  sudo 


3
如何以没有密码的其他用户身份运行脚本?
我有必须作为user2运行的script.sh。但是,此脚本只能在我的应用程序的user1下运行。 我想运行以下命令: su user2 -C script.sh 但无需密码即可运行。 我也希望这是非常严格的限制,因为在user1中只能在user2下运行script.sh,而不能在其他任何情况下运行。 我已经尝试过使用sudoers文件执行此操作,但经过数小时的尝试,它才变得无穷无尽。 如果有人可以提供一个明确的示例说明如何完成此操作(而不是像use sudoers这样的通用名称),将不胜感激。
145 linux  bash  sudo  su  sudoers 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.