sudo是linux下常用的容许普通用户使用超级用户权限的工具,容许系统管理员让普通用户执行一些或则全部的root命令,如halt,reboot,su等等。这样除了降低了root用户的管理时间linux查看文件权限,同样也增强了安全性。Sudo不是对shell的一个替代,它是面向每位命令的。

sudo的配置文件是/etc/sudoers文件linux设置默认网关,它容许系统管理员集中的管理用户的使用权限和使用的主机。

sudo都提供了一个编辑该文件的命令:visudo来对该文件进行更改。强烈推荐使用该命令更改sudoers,由于它会帮你校准文件配置是否正确,假若不正确redhat linux,在保存退出时都会提示你哪段配置出错的。

打开/etc/sudoers文件可以发觉一个特殊的wheel组

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

第2行表示:wheel组中的用户可以在ALL/任意主机上以任意用户执行所有的命令,不过须要输入该用户自己的密码。

第4行在第2行的基础上降低了NOPASSWD,意思是无需输入密码。不过这行默认情况下是注释掉的。

这样我们只须要创建一个专用的帐户linux查看文件权限,之后将其添加到wheel组。

添加用户

创建用户jupiter

# adduser jupiter
# passwd jupiter
# cat /etc/passwd | grep jupiter
jupiter:x:1000:1000::/home/jupiter:/bin/bash

授予sudo权限

将用户添加到wheel组中

# gpasswd -a jupiter wheel
Adding user jupiter to group wheel

如今用户jupiter就可以执行一些本来root用户能够执行的命令。

测试

首先切换到jupiter用户

# su jupiter

尝试切换到root用房主目录被拒绝

$ cd /root
bash: cd: /root: Permission denied

此次使用sudo

$ sudo cd /root
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
[sudo] password for jupiter:   这里输入jupiter的密码

之后就可以成功切换到root用房主目录了。

倘若不想输入密码,这么可以将前面提及的第4行的注释字符#去除。

参考

Linux命令指南:

本文原创地址:https://www.linuxprobe.com/lxtglysysdml.html编辑:刘遄,审核员:暂无