标签: sudoers

如何允许bash -c为sudoers(后跟多个命令)?

我在/ etc/sudoers中有这个:

%wheel myhostname =NOPASSWD: /bin/bash -c "echo foo && echo bar", \
                             /bin/bash -c echo foo
Run Code Online (Sandbox Code Playgroud)

sudo /bin/bash -c echo foo没有提示输入密码的情况下执行工作.

但是,sudo /bin/bash -c "echo foo && echo bar"仍然要求输入密码.

我尝试了很多变化,但没有被接受.

哪里出错?/如何允许-c后跟多个命令?

bash sudo sudoers

7
推荐指数
2
解决办法
2067
查看次数

如何在脚本中使用sudo执行多个命令

我们可以使用heredocs使用sudo运行多个命令吗?

我在运行多个命令时遇到问题(需要为每个命令传递密码):

echo 'password'| sudo -S ls
echo 'password'| sudo -S cat /var/log/abc.log
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我如何在脚本中自动化这个?喜欢:

echo 'password' | sudo -S << ENDBLOCK
ls
cat
ENDBLOCK
Run Code Online (Sandbox Code Playgroud)

linux bash shell sudoers ubuntu-12.04

7
推荐指数
2
解决办法
6502
查看次数

允许非root用户删除缓存

我正在一个系统上进行性能测试,我需要确保从磁盘读取数据,并且它不仅仅是缓存(比如早期的测试).我在这里读到我可以使用命令删除缓存

echo 3 | sudo tee /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

但请注意,即使我的帐户是管理员帐户(登录彼得),它仍然需要我的密码.我希望能够在批处理脚本中运行它而无需输入密码(因为这显然是手动的)

更多的研究让我得到了sudoers文件.我的计划是将上面的命令放入一个名为dropCache的单行脚本中,并编辑sudoers以便我可以在不输入密码的情况下运行它.所以我添加了这条线

ALL ALL=(ALL)NOPASSWD:/home/peter/dropCache
Run Code Online (Sandbox Code Playgroud)

在我的sudoers文件的末尾(使用visudo).使用我的管理员帐户,如果我运行

sudo -l 
Run Code Online (Sandbox Code Playgroud)

我明白了

(ALL) NOPASSWD: /home/peter/dropCache
Run Code Online (Sandbox Code Playgroud)

但是,如果我运行我的dropCache脚本,我仍然会被要求输入密码

./dropCache
[sudo] password for peter: 
Run Code Online (Sandbox Code Playgroud)

任何有关这方面的帮助将非常感激.我正在运行Ubuntu 12.04

谢谢彼得

linux sudoers clear-cache

6
推荐指数
1
解决办法
3323
查看次数

如何阻止OSX在​​终端发出sudo命令警告?

我刚刚更新到OSX Yosemite,每次执行sudo命令时,操作系统会在密码提示之前发出此警告:

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo.
Run Code Online (Sandbox Code Playgroud)

这个警告怎么能被压制?

macos terminal sudo sudoers

6
推荐指数
1
解决办法
1675
查看次数

如何修复 /etc/sudoers:行号附近的语法错误

我是 Ubuntu 新手。当在 Visual Studio Code 中编辑任何内容时,我必须输入密码。因此,我尝试更改 sudoers 文件,但之后我无法找到发生了什么,并且还出现如下错误。

我用命令来改变我

sudo nano -w /etc/sudoers
Run Code Online (Sandbox Code Playgroud)

之后我按了ctrl+x

/etc/sudoers: syntax error near line 26 <<<
sudo: parse error in /etc/sudoers near line 26
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Run Code Online (Sandbox Code Playgroud)

谢谢。

sudo nano sudoers ubuntu-18.04

6
推荐指数
2
解决办法
4万
查看次数

输入密码后,Net :: SSH sudo命令挂起

我一直在尝试使用Thor编写一个小型库来帮助我快速创建新项目和站点.我写了这个小方法:

def ssh(cmd)
  Net::SSH.start( server_ip, user, :port => port) do |session|
    session.exec cmd
  end
end
Run Code Online (Sandbox Code Playgroud)

在需要时帮助我在远程服务器上运行快速命令.

问题是当我需要在远程端的sudo下运行一个命令时,脚本似乎挂在我身上.例如,当执行此...时

ssh("sudo cp #{file_from_path} #{file_to_path}" )
Run Code Online (Sandbox Code Playgroud)

该脚本将提示我输入密码

[sudo] password for user:
Run Code Online (Sandbox Code Playgroud)

但是输入之后整个事情都会变得很糟糕.

有人会碰巧知道为什么它会完全挂起,我可以做些什么来在Net :: SSH(或其他替代方案)下的远程服务器上运行sudo命令?

*注意:在建议之前,我最初开始将这个库作为Capistrano下的食谱编写,直到我遇到Thor,并认为这是一个尝试它的好机会.如果需要的话,我不反对将整个事情切换回Capistrano,但如果没有一种简单的方法在远程服务器上运行sudo命令,我会感到非常惊讶.

ruby sudo net-ssh sudoers thor

5
推荐指数
4
解决办法
1万
查看次数

visudo nopasswd没有工作

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


内容/etc/sudoers:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need …
Run Code Online (Sandbox Code Playgroud)

linux sudo sudoers visudo

5
推荐指数
1
解决办法
1万
查看次数

从没有密码的文件php exec命令

我需要从php执行命令写入我的vhosts.conf.我有一个add_vhost.sh文件:

cat /home/www/test/conf/vhosts.conf >> /etc/httpd/conf.d/vhosts.conf
Run Code Online (Sandbox Code Playgroud)

这是PHP脚本:

 exec($path_to_add_vhost_sh_file, $output);
Run Code Online (Sandbox Code Playgroud)

我想设置没有密码要求peter用户执行此文件,所以我做了我的下一件事/etc/sudoers

peter ALL=(ALL)NOPASSWD:/home/www/test/conf/add_vhost.sh但即使在控制台中它仍然无法正常工作.fedora 15

php sudoers

5
推荐指数
1
解决办法
2310
查看次数

如何在没有 sudo 的情况下执行“iftop”

我有一个iftop在文本模式下运行的脚本,将输出减少到我所关心的内容,并将其与命令的输出一起保存到文本文件中date(我正在监视一段时间内各种接口上的网络使用情况)。我遇到的唯一问题是我尝试通过 crontab 每 15 分钟运行一次脚本,并且为了运行该iftop命令,我需要 sudo 权限。有谁知道一些方法来更改权限,iftop这样我就不需要 sudo 权限?

或者,如果我可以让脚本能够使用 sudo 运行命令,那对我来说也很好。我尝试通过添加脚本到 sudoers 文件sudo visudo并添加以下行:

user ALL=(ALL) NOPASSWD: /home/user/network_usage.sh

但这不起作用...也许是从 crontab 执行的结果?

谢谢,

-埃里克

unix linux sudoers

4
推荐指数
1
解决办法
3231
查看次数

'用户名'不在sudoers文件中.将报告此事件

登录ssh后,收到此消息:

'用户名'不在sudoers文件中.将报告此事件.

我该如何解决这个问题?我正在将ssh连接到我的虚拟专用服务器.

linux sudoers

4
推荐指数
8
解决办法
2万
查看次数

标签 统计

sudoers ×10

linux ×5

sudo ×5

bash ×2

clear-cache ×1

macos ×1

nano ×1

net-ssh ×1

php ×1

ruby ×1

shell ×1

terminal ×1

thor ×1

ubuntu-12.04 ×1

ubuntu-18.04 ×1

unix ×1

visudo ×1