Linux下sudo_user变量,sudo命令的用法

因为root的权限太大,所以Linux下一般不能以管理员直接登录,或su - root去操作,这时我们就需要用到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

sudo授权:

WHO        HOST=(WHOM)        COMMAND

例:centos  MYPC=(root)  /usr/sbin/useradd

ce228e7f0d505b236bf4562a47cda4d0.png

标签:

NOPASSWD:表示标签之后的命令都不用输密码

PASSWD:表示标签之后的命令都用输密码

75986d999b922251aa96d4d34ee76b91.png

sudo命令:

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

-u USERNAME COMMAND: 以指定的用户身份执行指定的COMMAND;

-k: 清除“令牌”

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

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

例:sudo-u centos useradd user1

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值