Linux系统云服务器中如何使用sudo
第一步:安装sudo
CentOS
yum install sudo -y
Ubuntu/Debian
apt-get install sudo -y
FreeBSD
cd /usr/ports/security/sudo/ && make install clean
或者
pkg install sudo
第二步:创建sudo用户
sudo用户就是在Linux操作系统中的一个普通用户。下面以用户名zhaomu为例,创建一个普通用户。
CentOS/Ubuntu/Debian/FreeBSD
adduser zhaomu
第三步:把用户添加到wheel组中
wheel组是一个限制用户以管理员身份执行的用户组,只有这个用户组里的用户才可以执行sudo命令。在Ubuntu/Debian操作系统中,sudo组通常用来替代wheel组的作用。
CentOS
usermod -aG wheel zhaomu
Ubuntu/Debian
usermod -aG sudo zhaomu
FreeBSD
pw group mod wheel -m zhaomu
第四步:配置sudoers
sudo的配置文件是/etc/sudoers,我们需要确保该配置文件没有问题,这样才能正常执行sudo命令。
CentOS/Ubuntu/Debian/FreeBSD
vi /etc/sudoers
或者
visudo
找到如下代码:
# Allow members of group sudo to execute any command%sudo ALL=(ALL:ALL) ALL
请确保你使用的Linux云服务器也是这样设置的。注意:有些Linux系统并不是%sudo,而是%wheel,这也是没有问题的。
第五步:重启SSH服务
如果你修改了/etc/sudoers文件,需要重启SSH服务使之生效。
CentOS 6
/etc/init.d/sshd restart
CentOS 7
systemctl restart sshd.service
Ubuntu/Debian
/etc/init.d/sshd restart
FreeBSD
/etc/rc.d/sshd start
第六步:测试
完成之前的操作之后,请退出远程登录,再次以sudo用户的身份登录系统,执行以下命令测试sudo是否配置正确。
sudo uptimesudo whoami
其中sudo whoami应该返回root。
执行以下任一条命令,将会从sudo用户切换到root用户。
sudo su -sudo -isudo -S
第七步:禁止root用户登陆
经过测试,如果一切正常,就可以执行最后一步了,也就是禁止root用户登录。我们需要编辑SSH的配置文件。
sudo vi /etc/ssh/sshd_config
使用:w/命令搜索以下代码,删除这行代码前面的注释#,并把值设置为no。
PermitRootLogin no
接下来,参照第五步的说明重启SSH服务。尝试用root用户登录系统,如果无法登录,说明设置成功了。