帮助中心

这里有最新的使用文档和教程

< 返回

Linux云服务器中如何使用sudo命令?

2023-06-28 15:21 作者:31IDC 阅读量:3004 所属分类:云服务器
`sudo` 是在 Linux 和 Unix 操作系统中使用的命令,用于以超级用户或管理员的身份运行其他命令。`sudo` 命令可以让普通用户在执行需要特权的操作时,临时获取管理员权限,而无需切换到 root 用户。
 
`sudo` 的作用是在于提高系统安全性。通常情况下,为了保护系统的安全性,Linux 和 Unix 操作系统会将 root 用户的权限限制为必要时才使用,而普通用户只能访问自己的文件和系统资源。使用 `sudo` 命令可以让普通用户在必要时暂时获得 root 用户的权限,执行需要特权的操作,而不必将整个系统暴露给普通用户。

使用 `sudo` 命令时,需要输入当前用户的密码,以确认用户的身份。如果用户没有获得 `sudo` 权限,使用 `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 uptime
sudo whoami

其中sudo whoami应该返回root。

执行以下任一条命令,将会从sudo用户切换到root用户。

sudo su -
sudo -i
sudo -S
第七步:禁止root用户登陆

经过测试,如果一切正常,就可以执行最后一步了,也就是禁止root用户登录。我们需要编辑SSH的配置文件。

sudo vi /etc/ssh/sshd_config

使用:w/命令搜索以下代码,删除这行代码前面的注释#,并把值设置为no。

PermitRootLogin     no

接下来,参照第五步的说明重启SSH服务。尝试用root用户登录系统,如果无法登录,说明设置成功了。

31IDC - 12 年深耕海外 IDC 高端资源