如何在Debian,CentOS和FreeBSD上使用sudo

资源下载
下载价格:免费

如何在DebianCentOSFreeBSD上使用sudo

LinuxUnix系统管理员中,使用用户访问服务器并在root级执行命令是一种非常普遍的做法。sudo用户的使用通常是通过禁止对用户服务器的直接root访问来进行的,以防止未经授权的访问。

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

先决条件

  • 带有首选发行版的新安装的Linux服务器。
  • 服务器上安装的文本编辑器,无论是nano,vi,vim,emacs。

步骤1:安装sudo

Debian

apt-get install sudo -y

CentOS的

yum install sudo -y

FreeBSD

cd /usr/ports/security/sudo/ && make install clean

要么

pkg install sudo

步骤2:添加sudo用户

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

Debian

adduser mynewusername

CentOS的

adduser mynewusername

FreeBSD

adduser mynewusername

步骤3:将新用户添加到Wheel Group (可选)

Wheel组是一个用户组,它限制了能够su生根的人数。将您的sudo用户添加到wheel组中完全是可选的,但是建议这样做。

注意:在Debian中,sudo通常会找到而不是wheel。但是,您可以wheel使用groupadd命令手动添加组。就本教程而言,我们将使用sudoDebian组。

wheel和之间的区别sudo

在CentOS和Debian中,属于该wheel组的用户可以执行su并直接升至root。同时,sudo用户将使用第sudo su一个。本质上,除了用于成为root的语法外,没有任何实际区别,并且属于这两个组的用户都可以使用该sudo命令。

Debian

usermod -aG sudo mynewusername

CentOS的

usermod -aG wheel mynewusername

FreeBSD

pw group mod wheel -m mynewusername

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

确保正确设置其中的sudoers文件很重要/etc/sudoers,以便sudo users有效使用该sudo命令。为此,我们将查看其中的内容/etc/sudoers并在适用的地方对其进行编辑。

Debian

vim /etc/sudoers

要么

visudo

CentOS的

vim /etc/sudoers

要么

visudo

FreeBSD

vim /etc/sudoers

要么

visudo

注意:visudo命令将/etc/sudoers使用系统的首选文本编辑器(通常为vi或vim)打开。

在此行下开始审阅和编辑:

# Allow members of group sudo to execute any command

该部分的内容/etc/sudoers通常如下所示:

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

在一些系统中,您可能无法找到%wheel替代的%sudo; 在这种情况下,这就是您要开始修改的行。

如果未注释掉%sudo以Debian或%wheelCentOS和FreeBSD 开头的行(以#开头,则意味着sudo已经设置并启用。然后,您可以转到下一步。

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

sudo只需将两个用户添加到/etc/sudoers以下用户组中,就可以允许这两个用户组中的用户都不执行命令:

anotherusername ALL=(ALL) ALL

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

为了应用对所做的更改/etc/sudoers,您需要按以下方式重新启动SSHD服务器:

Debian

/etc/init.d/sshd restart

CentOS的6

/etc/init.d/sshd restart

CentOS的7

systemctl restart sshd.service

FreeBSD

/etc/rc.d/sshd start

步骤7:测试

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

sudo uptime
sudo whoami

以下任何命令都将使sudo user成为root

sudo su -
sudo -i
sudo -S

笔记:

  • 与结合使用时,该whoami命令将返回。rootsudo
  • 执行sudo命令时,系统将提示您输入用户的密码,除非您明确指示系统不提示用户sudo users输入密码。请注意,这不是推荐的做法。

可选:允许sudo不输入用户密码

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

为了让你的sudo user执行sudo,而不会提示他们的密码命令,后缀接入线路中/etc/sudoersNOPASSWD: ALL如下:

%sudo   ALL=(ALL:ALL) ALL   NOPASSWD: ALL

注意:您需要重新启动SSHD服务器才能应用更改。

步骤8:禁用直接root访问

既然您已经确认可以sudo user无问题地使用您的服务器,那么现在是第八步,也是最后一步,禁用直接root访问。

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

PermitRootLogin

不管前缀或选项中的值如何/etc/ssh/sshd_config,都需要将该行更改为以下内容:

PermitRootLogin no

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

注意:不要忘记尝试通过SSH进入服务器来测试您的更改root。如果您无法执行此操作,则表示您已成功完成所有必要步骤。

到此结束我们的教程。

本文来源:新哥博客 https://www.xingeblog.com/
本文标题:如何在Debian,CentOS和FreeBSD上使用sudo
本文链接:https://www.xingeblog.com/124.html
1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站VIP获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!谢谢!^^
资源下载此资源为免费资源,请先
0

评论0

  • 昵称
  • 邮箱
  • 网址
没有账号? 注册忘记密码?
'); })();