帮酷LOGO
0 0 评论
文章标签:SUDO  FREE  DEB  Centos  Debian  Freebsd  

使用sudo用户访问服务器,并且在root级别执行命令是Linux和Unix系统管理员非常使用的做法,使用sudo用户通常通过禁止直接访问服务器的root访问,以防止未经授权的访问。

在本教程中,我们会介绍禁用直接root访问,创建sudo用户和设置,和FreeBSD的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


adduser mynewusername

FreeBSD


adduser mynewusername

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

组是一个用户组,它限制能够su到root的人的数量,会sudo用户添加到wheel组是完全可选的,但是,建议这样做。

注意:在Debian中,sudo组通常被发现而不是wheel ,但是,你可以使用groupadd命令手动添加wheel组,在本教程中,我们会使用sudo的组。

wheelsudo之间的区别,

在CentOS和Debian中,属于wheel组的用户可以执行su,并且直接提升到root ,同时,sudo用户会首先使用sudo su ,实际上,除了用于成为root的语法之外,没有真正的区别,并且属于这两个组的用户可以使用sudo命令。

Debian


usermod -aG sudo mynewusername


usermod -aG wheel mynewusername

FreeBSD


pw group mod wheel -m mynewusername

步骤4确保你的sudoers file设置正确

为了让sudo users能够有效地使用sudo命令,确保/etc/sudoers中的sudoers文件正确设置是很重要的,为了完成这一点,我们会查看/etc/sudoers的内容,并且在适当的地方编辑它们。

Debian

 
vim/etc/sudoers

 

或者

 
visudo

 

 
vim/etc/sudoers

 

或者

 
visudo

 

FreeBSD

 
vim/etc/sudoers

 

或者

 
visudo

 

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

在下面的一行开始查看和编辑:


# 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 ; 在这种情况下,这会是你开始修改的行。

如果在Debian或CentOS和FreeBSD中以>%sudo- >code >开头的行没有注释掉前缀为,这意味着sudo已经设置,并且启用,,然后你可以移动到下一步。

第5步允许既不属于wheel的用户执行sudo 命令

可以通过简单地会这些用户添加到/etc/sudoers,以允许用户不在用户组中执行sudo命令:


anotherusername ALL=(ALL) ALL

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

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

Debian


/etc/init.d/sshd restart

世纪6


/etc/init.d/sshd restart

世纪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命令在与sudo耦合时会返回root
  • 在执行sudo命令时,提示你输入用户密码,除非显式指示系统不提示系统提示sudo users ,请注意,这不是建议的做法,

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

如前所述,这不是建议的实践,本教程仅包含在本教程中的演示目的。

为了允许sudo user执行sudo命令而不提示它密码,请按如下方式在/etc/sudoers中使用NOPASSWD: ALL后缀访问行:


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

注:你需要重新启动SSHD服务器以应用更改。

步骤8:禁用直接根目录访问

现在你已经确认你可以使用你的sudo user,这是第八步和最后一步,禁用直接root访问。

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

 
PermitRootLogin

 

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

 
PermitRootLogin no

 

最后,重启SSHD服务器。

注意:不要忘记通过尝试会SSH作为root来测试你的更改,如果你不能这样做,这意味着你已经成功完成了所有必要的步骤。

这就是我们的教程。



文章标签:FREE  DEB  Debian  Centos  SUDO  Freebsd  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语