如何授予新用户调用 sudo 的权限而无需提示输入 sudo 密码?

如何授予新用户调用 sudo 的权限而无需提示输入 sudo 密码?

我正在 Amazon EC2 中设置服务器。我从 Amazon 提供的 Ubuntu x64 12 LTS 映像中创建了一个映像。我的目标是在那里设置一个安全的 svn 服务器,只能通过 IP 地址、SSH 和证书进行访问。我还需要从旧服务器迁移现有的公钥。

尝试了权限设置后,我成功添加了另一个用户帐户,但不知何故将我自己 ( ubuntu) 锁定在服务器之外。远程root登录已禁用,我锁定了ubuntu用户。哎呀。

这就是为什么我想创建一个临时用户帐户,比如说FOO。如果我将其锁定,我仍然拥有ubuntu。我希望这个用户拥有与相同的权限ubuntu,即我想要执行类似操作

sudo apt-get install subversion

问题

当我创建一个新用户并 ssh 到服务器时,当我从以下位置调用任何内容时,服务器总是要求我输入 sudo 密码sudo

问题

如何添加具有与 相同权限的新用户ubuntu,以便我sudo ...无需输入 sudo 密码即可进行调用?

这是我目前所做的:

# add user
sudo useradd -m -G ubuntu,adm,dialout,dip,plugdev,netdev,admin FOO

# add public key for ssh
sudo -s
cd /home/FOO
mkdir .ssh
cd .ssh
nano authorized_keys

    Generate certificate in PuttyGen
    Add public key to authorized_keys

#set permissions for ssh to work
chown -R FOO /home/FOO/.ssh
chgrp -R FOO /home/FOO/.ssh
chmod 0755 /home/FOO
chmod 755  /home/FOO/.ssh
chmod 644  /home/FOO/.ssh/authorized_keys

#add FOO to sudoers
sudo usermod -aG sudo FOO

##check permissions
ls -lha /home/FOO
ls -lha /home/FOO/.ssh

答案1

这很简单。我将参考我的另一个答案,并给出您的案例的要点。我的另一个答案是:当 Ubuntu 要求输入管理员用户的密码时,它如何决定要求输入哪个管理员用户?

要点是编辑/etc/sudoers并添加Cmnd_Alias(比如说PRIVCMDS)您想要允许的命令,然后在中添加如下内容sudoers

%ubuntu ALL=(root) NOPASSWD:PRIVCMDS

但请仔细阅读我对另一个问题的完整回答。

以上内容适用于名为 的系统组ubuntu。如果您希望对名为 的用户执行相同的操作,ubuntu则应为:

ubuntu ALL=(root) NOPASSWD:PRIVCMDS

相关内容