时间:2021-07-01 10:21:17 帮助过:12人阅读
Linux系统下的sudo命令主要是用来分配系统的权限,使用sudo命令可以提高普通用户的权限,来执行一些操作。下面就来详解一下Linux系统中如何使用sudo命令?
一、sudo命令的特点:
1、授权指定用户在指定主机上运行指定的管理命令;
2、详细记录用户基于sudo执行的命令的相关日志信息;
3、“检票系统”:时效性认证,用户第一次执行sudo时会要求输入密码来验正用户身份,成功后用户会获得一个有固定存活时长的“令牌”;5分钟
二、如何实现sudo功能?
/etc/sudoers:授权文件,只能由管理员编辑;但一般不用vim直接去编辑,因为可能会出现语法错误,所以一般用专用的编辑工具visudo命令去授权。
/etc/sudoers:
注意:别名定义: 别名必须使用全大写字符
内置变量: ALL: 所有用户
User_Alias:
User_Alias NAME = item1, item2, 。..
item:
用户名
%组名
#UID
$#GID
User_Alias(表示可以使用已经定义的别名)
例: User_Alias ADMIN =CentOS,%lx,#500
表示定义ADMIN别名,有centos用户,lx组,UID为500的用户
Host_Alias:可以在哪些主机上运行
Host_AliasNAME = item1, item2, 。。.
item:
hostname
ip
network
Host_Alias
例: Host_Alias ALLOWADDR =172.16.37.10,172.16.0.0/16
表示定义ALLOWADDR别名,有ip为172.16.37.10,网络地址为172.16.0.0/16
Runas_Alias
Runas_AliasNAME = item1, item2, 。。.
用法和User_Alias相同
Cmnd_Alias:
Cmnd_AliasNAME = item1, item2, 。。.
item:
命令
目录(目录下的所有命令)
Cmnd_Alias
例: Cmnd_Alias COMMAND =/usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin
表示定义COMMAND别名,有useradd,userdel,和/usr/sbin下的所有命令
定义时可取反:Cmnd_AliasPASSWD = /usr/bin/passwd [0-9A-Za-z]*,! /usr/bin/passwd root