Linux基础教程之sudo使用指南

一、前言

sudo是什么?

sudo是系统管理指令;由于root用户权限过大,在实际生产过程中很少使用root用户直接登录系统,而是使用普通用户登录系统;但是如果普通用户要对系统进行日常维护操作时需要su到root用户,为了提高安全性,可以使用sudo授权某一用户在某一主机以某一用户身份运行某些命令;从而减少root用户密码知晓人,提高系统安全性。

 

sudo的优势:

①授权指定用户在指定的主机上运行指定的管理命令;

②详细记录用户基于sudo执行的命令相关的日志信息;

③”检票系统”:时效性认证,用户第一次执行sudo命令时会要求输入密码来验证用户身份,成功后用户会获得一个有固定存活时长的”令牌”(令牌默认存活时长为5分钟)

 

 

二、sudo相关参数

sudo的授权文件:/etc/sudoers,只有管理员能够编辑

1、实现sudo授权的方法

①使用vim打开编辑:

可以实现文本着色,但是不能检测语法错误,不建议使用

②visudo:专用的sudoers文本编辑工具

配置完成后能够检测提示语法错误,建议使用此编辑工具进行/etc/sudoers进行编辑

帮助文档:man visudo;man visudoers

 

2、sudo授权格式:授权某用户在某主机上以某用户的身份运行指定的管理命令

WHO     HOST=(WHOM)     COMMAND

1.png

别名定义:别名必须使用全大写字符

WHO别名定义:

User_Alias   NAME = item1,item2,item3,….

item:可以是用户名,%组名,#UID,$#GID,User_Alias

HOST别名定义:

Host_Alias  NAME = item1,item2,item3,….

item:可以是hostname,ip,network,Host_Alias

WHOM别名定义:

Runas_Alias  NAME = item1,item2,item3,….

item:可以是用户名,%组名,#UID,$#GID,User_Alias

COMMANDb别名定义:

Cmnd_Alias  NAME = item1,item2,item3,…..

item:可以是命令,目录(目录下的所有命令),”sudoedit”,Cmnd_Alias

 

3、常用的标签

PASSWD: 执行操作时,需要输入密码,来验证用户身份

NOPASSWD: 执行操作时,无需输入密码,不能确定用户身份

 

4、sudo常用的命令参数

-l: 查看当前用户可执行的sudo命令

-k:清除”令牌”

-b COMMAND:在后台运行指定的命令COMMAND

-e /path/to/somefile: 修改指定的文件

-u USERNAME COMMAND: 以指定用户的身份运行指定的命令COMMAND

 

 

三、配置举例

1、授权cnetos用户具有添加用户的权限

2.png

使用centos用户登录测试:      3.png

2、别名定义以及调用

4.png

测试;centos用户登录测试指定的相关命令: 5.png

6.png 7.png

3、防止授权用户修改密码修改root用户的密码 8.png

 

相关新闻

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!