CentOS 配置 Sudo

CentOS 配置 Sudo

使用 sudo 用户访问服务器并在根级别执行命令是 Linux 和 Unix 系统管理员中非常常见的做法。使用 asudo 用户通常通过禁用对其服务器的直接根访问来防止未经授权的访问。

在本教程中,我们将介绍禁用直接 root 访问,创建 sudo 用户以及在 CentOS 上设置 sudo 组的基本步骤。

1. 步骤 1:安装 sudo

yum install sudo -y
Bash
Copy

2. 步骤 2:添加 sudo 用户

一个 sudo 用户是 Linux 机器上的普通用户帐户。

adduser mynewusername
Bash
Copy

3. 步骤 3:将新用户添加到 wheel 组(可选的)

wheel 组是一个用户组,只有属于 wheel 组的用户才可以用 su 登录为 root,添加你的 sudo 用户到 wheel 组是完全可选的,但建议。

在 CentOS 中,属于的 wheel 组的用户可以执行 su 直接上升到 root。同时,sudo 用户将会使用 sudo su 。基本上除了语法之外没有什么真正的区别成为 root,而属于这两个组的用户可以使用 sudo 命令。

usermod -aG wheel mynewusername
Bash
Copy

4. 步骤 4:确保你的 sudoers 文件设置正确

确保这一点很重要 sudoers 文件位于 /etc/sudoers 正确设置为了允许 sudo users 有效使用 sudo 命令。为了达到这个目标,我们将会看到内容 /etc/sudoers 并在适用的地方进行编辑。

vim /etc/sudoers
Bash
Copy

开始审查和编辑下面这行:

# Allow members of group sudo to execute any command
Bash
Copy

这一节 /etc/sudoers 经常看起来像这样:

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
Bash
Copy

在某些系统中,你可能找不到 %wheel 代替 %sudo; 在这种情况下,这将是你将开始修改的行。

如果行开始 %sudo 在 Debian 或 %wheel 在 CentOS 中没有注释掉(前缀为#),这意味着 sudo 已经被设置并启用了。然后,你可以转到下一步。

5. 步骤 5:允许不属于的用户 wheel 也不是 sudo 组执行 sudo 命令

可以允许不在用户组中的用户执行 sudo 只需将它们添加到命令中即可 /etc/sudoers 如下:

anotherusername ALL=(ALL) ALL
Bash
Copy

6. 步骤 6:重新启动 SSHD 服务器

为了应用你所做的更改 /etc/sudoers,你需要重新启动 SSHD 服务器,如下所示:

CentOS 6

/etc/init.d/sshd restart
Bash
Copy

CentOS 7

systemctl restart sshd.service
Bash
Copy

7. 步骤 7:测试

重新启动 SSH 服务器后,请注销,然后重新登录 sudo user,然后尝试执行一些测试命令,如下所示:

sudo uptime
sudo whoami
Bash
Copy

任何以下命令将允许 sudo user 成为 root。

sudo su -
sudo -i
sudo -S
Bash
Copy

笔记:

该 whoami 命令将返回 root 当加上 sudo。 执行时将提示你输入用户密码 sudo 命令,除非你明确指示系统不提示 sudo users 为他们的密码。请注意,这不是推荐的做法。 可选:允许 sudo 而不输入用户的密码

如前所述,这不是推荐的做法,仅在演示目的中包含在本教程中。

为了让你的 sudo user 执行 sudo 命令,而不被提示输入密码,后缀为访问行 /etc/sudoers 同 NOPASSWD: ALL 如下:

%sudo ALL=(ALL:ALL) ALL NOPASSWD: ALL 注意:你需要重新启动 SSHD 服务器才能应用更改。

8. 步骤 8:禁用直接 root 访问

现在你已经确认可以使用你的 sudo user 没有问题,现在是第八步的禁用直接根访问的时间。

首先打开 /etc/ssh/sshd_config 使用你喜欢的文本编辑器,并找到包含以下字符串的行。它可能有一个前缀#字符。

PermitRootLogin
Bash
Copy

无论前缀或该选项的值 /etc/ssh/sshd_config 你需要将该行更改为以下内容:

PermitRootLogin no
Bash
Copy

最后,重新启动你的 SSHD 服务器。

注意:不要忘了通过尝试将 SSH 更改为服务器来测试你的更改 root。如果你无法这样做,这意味着你已成功完成所有必要的步骤。

我们的教程结束了。

转载于:https://www.cnblogs.com/nullnullnull/p/11114506.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值