我正在 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