ubuntuUbuntu Server 12.04 的 AWS 映像上的用户如何在sudo没有配置的情况下对所有命令设置无密码/etc/sudoers?
我在亚马逊上使用 Ubuntu 服务器 12.04。我想添加一个与默认 Ubuntu 用户具有相同行为的新用户。具体来说,我希望sudo这个新用户无密码。
所以我添加了一个新用户并开始编辑/etc/sudoers(当然使用 visudo)。通过阅读该文件,似乎默认ubuntu用户sudo从成为该admin组的成员中获得了无密码。所以我添加了我的新用户。这没有用。然后我尝试将NOPASSWD指令添加到sudoers. 这也不起作用。
无论如何,现在我只是好奇。怎样的ubuntu,如果他们没有在定义用户密码的获得特权/etc/sudoers。允许这样做的机制是什么?
在一台特定的机器上,我经常需要时不时地运行sudo命令。sudo在大多数情况下,我可以输入密码。
但是,我想在不输入密码的情况下运行三个sudo命令:
sudo rebootsudo shutdown -r nowsudo shutdown -P now如何从密码保护中排除这些命令sudo?
这是一个与 sudoers 文件和 sudo 命令相关的相当复杂的问题。
注意:我在运行 Ubuntu Desktop 13.04 的专用机器上进行了这些更改,我仅将其用于学习目的。我知道启用 NOPASSWD sudo 会带来巨大的安全风险。
最初,我对 sudoers 文件 ( /etc/sudoers) 的唯一更改是一行,该用户规范应该使 nicholsonjf 能够使用 sudo 运行所有命令而无需输入密码(请参阅以 nicholsonjf 开头的行):
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host …Run Code Online (Sandbox Code Playgroud) 我需要配置一台机器,以便可以通过 SSH 远程自动安装软件。按照wiki,我能够设置 SSH 密钥,这样我的用户就可以在没有密码的情况下访问机器,但是我在使用时仍然需要手动输入我的密码sudo,这显然不应该是自动化过程。
虽然我/etc/ssh/sshd_config有PermitRootLogin yes,但我似乎无法以 root 身份登录,大概是因为它不是具有单独密码的“真实”帐户。
如何配置 SSH 密钥,以便进程可以在 Ubuntu 上以 root 身份远程登录?
我想让shell脚本启动sudo apt-get update,自动插入密码sudo并自动按回车键。
我试过了:
#!/bin/bash
sudo apt-get update
expect "[sudo] password for username: "
send "password"
Run Code Online (Sandbox Code Playgroud)