龙空技术网

Linux中sudo命令的使用

SunBoy6 134

前言:

而今咱们对“centos不在sudoers文件中”都比较注重,我们都想要分析一些“centos不在sudoers文件中”的相关文章。那么小编同时在网络上收集了一些对于“centos不在sudoers文件中””的相关资讯,希望你们能喜欢,咱们一起来了解一下吧!

问题:reboot、shutdown、init、halt、user管理,在普通用户身份上都是操作不了,但是有些特殊的情况下又需要有执行权限。又不可能让root用户把自己的密码告诉普通用户,这个问题该怎么解决?

该问题是可以被解决的,可以使用sudo(switch user do)命令来进行权限设置。Sudo可以让管理员(root)事先定义某些特殊命令谁可以执行。

默认sudo中是没有除root之外用户的规则,要想使用则先配置sudo。

Sudo配置文件:/etc/sudoers

a. 配置sudo文件请使用“#visudo”,打开之后其使用方法和vim一致

b. 配置普通用户的权限

Root表示用户名,如果是用户组,则可以写成“%组名”

ALL:表示允许登录的主机(地址白名单)

(ALL):表示以谁的身份执行,ALL表示root身份

ALL:表示当前用户可以执行的命令,多个命令可以使用“,”分割

案例:本身test用户不能添加用户,要求使用sudo配置,将其设置为可以添加用户,并且可以修改密码(但是不能修改root用户密码)。

注意:在写sudo规则的时候不建议写直接形式的命令,而是写命令的完整路径。

路径可以使用which命令来查看

语法:#which 指令名称

在添加好对应的规则之后就可以切换用户,切换到普通用户test,再去执行:

此时要想使用刚才的规则,则以以下命令进行:

#sudo 需要执行的指令

在输入sudo指令之后需要输入当前的用户密码进行确认的操作(不是root用户密码),输入之后在接下来5分钟内再次执行sudo指令不需要密码。

特别注意:此处按照案例要求,不能让test用户修改root密码,因此规则还需要调整,不然其可以修改root密码的:

禁止修改root密码的配置(先允许全部,再拒绝root密码设置): /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

补充:在普通用户下怎么查看自己具有哪些特殊权限呢?

#sudo -l

最后:sudo不是任何Linux分支都有的命令,常见centos与ubuntu都存在sudo命令。

标签: #centos不在sudoers文件中