Linux新建用户并授予sudo权限

本文仅作存档参考。本文以Ubuntu18.04为例,其他发行版仅需步骤基本一致。

新建用户

sudo adduser hanada

此时会要求输入用户密码以及用户个人信息等内容。根据引导输入即可。

添加公钥

sudo mkdir /home/hanada/.ssh
sudo touch /home/hanada/.ssh/authorized_keys
sudo chown -R hanada /home/hanada/.ssh
sudo echo "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBILJKpN3c75tFrl2NcRgOq36BFpMrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" > /home/hanada/.ssh/authorized_keys

其中ecdsa-sha2-nistp256 AAAAE2V...xxx为公钥内容。

使用以下命令确认是否已经成功写入公钥

sudo cat /home/hanada/.ssh/authorized_keys

给公钥授予正确的权限

sudo chmod 700 /home/hanada/.ssh
sudo chmod 600 /home/hanada/.ssh/authorized_keys

添加权限

将用户添加到sudo组(如果需要授予该用户sudo命令,注意在RedHat系系统如CentOS没有这个组,建议使用wheel组)

sudo usermod -a -G sudo hanada

配置sudo命令无需输入密码(可选)

sudo vim /etc/sudoers
将
%sudo  ALL=(ALL:ALL) ALL
修改为
%sudo  ALL=(ALL) NOPASSWD:ALL

SSH连接测试

添加权限后需要确认是否配置正确,另建一个shell窗口SSH连接或者使用SSH客户端连接(使用公钥连接)

ssh [email protected]{host_ip_or_domain} -i {private_key_dir}

如果本地用户已在用户目录下(Windows为C:/User/{Username}/.ssh)生成有名为id_rsa或者id_ecdsa之类的私钥,则无需带-i参数即可连接成功。
连接成功后输入sudo命令测试是否授权成功

sudo -i

使用该命令成功切换为root用户即说明授权已经成功。

[titie]关闭root的SSH远程登录和密码登录[/title]

sudo vim /etc/ssh/sshd_config
将
PermitRootLogin yes
修改为
PermitRootLogin no

将
PasswordAuthentication yes
修改为
PasswordAuthentication no

若没有发现这两项配置,可以查看一下是否被注释,如被注释可取消注释再改为no,如果确实不存在可以在末尾添加这两项并指定为no。

重启SSH服务

sudo service sshd restart

另外最近sudo被曝光具有重大漏洞,建议将安全补丁升至最新版本。

点赞
  1. NeoNg说道:
    Google Chrome Windows 10

    其实不用加入sudo 组,把用户加入wheel 组就可以了啊。

    1. Hanada说道:
      Google Chrome Windows 10

      Debian/Ubuntu系没有wheel组,当然CentOS确实可以直接加进wheel组

      1. NeoNg说道:
        Google Chrome Windows 10

        我一直用 rpm 系(不是 centos,我用的是fedora),对deb 系倒是不太了解,不过其实不建议取消sudo 密码

        1. Hanada说道:
          Google Chrome Windows 10

          这个看个人习惯吧,我的重要数据都是有备份的,所以即便误操作了顶多重来一遍(跑。所以我也在那里写了取消密码是可选项,如果是重要业务服务器确实不该取消密码。(不过你想想一大堆新手直接用root一顿操作,连sudo都用不上,更别提sudo密码了 :huaji10:

          1. NeoNg说道:
            Google Chrome Windows 10

            可能是因为我用Linux 桌面吧,root 敢死队 ( :huaji:

发表评论

电子邮件地址不会被公开。必填项已用 * 标注