shell命令--visudo

shell命令--visudo

0、visudo命令的专属图床

点此快速打开文章图床_shell命令visudo

1、visudo命令的功能说明

visudo命令专门用来编辑/etc/sudoers这个文件的。授权配置在/etc/sudoers这个文件中,默认这个文件是只读权限,它有个专门的工具叫visudo,这个命令能不仅能编辑这个配置文件,还能对输入内容做语法检测,如果语法有误,会提示错误位置,并且不会保存到配置文件中,它还能指出语法错误。其实visudo命令相当于:vim /etc/sudoers

2、visudo命令的语法格式

SYNOPSIS
  visudo [-chqsV] [-f sudoers]

3、visudo命令的选项说明

授权配置格式:

who     where=(whom)    commands
用户    主机=(以谁的身份) commands
#用户配置可以是:
 username
 #uid
 %groupname
 %#gid
 user_alias
#主机配置:
 ip
 hostname
 Netaddr
 host_alias
#commands配置
 command #命令要绝对路径指定
 cmnd    #命令别名,灵活使用能提高效率
-----------------------------------
在sudo配置中,可能对多个用户配置多个相同命令,这时候可以使用别名来配置。

#定义别名的方法:
ALIAS_TYPE  NAME=item1, item2, item3, ...       NAME:别名名称,必须使用全大写字符;
     ALIAS_TYPE:
     User_Alias
     Host_Alias
     Runas_Alias
     Cmnd_Alias
                     
例如:
 User_Alias  NETADMIN=tom, jerry
 Cmnd_Alias NETCMND=ip, ifconfig, route
 
 NETADMIN    localhost=(root)    NETCMND
  • -c:手动执行语法检查

4、visudo命令的实践操作

范例1:执行 visudo 对普通用户usertest1usertest2授权

useradd usertest1
useradd usertest2
visudo  -->z在99行附近添加下面内容

usertest1 ALL=(ALL) NOPASSWD: AL
usertest2 ALL=(ALL) NOPASSWD: /usr/bin/useradd,/usr/bin/userdel

上面的格式简单介绍

待授权的用户或组 机器=(授权角色) 可以执行的命令
user MACHINE= COMMANDS
usertest1 ALL=(ALL) ALL

每次执行visudo并修改内容后,需要语法检查

visudo -c

范例2:使用快速操作命令增加 sudo 授权

\cp /etc/sudoers{,.bak}  -->操作前备份
ls /etc |grep sudoers 
echo "usertest1 ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c  -->语法检查

『MineGi有话说』:快来扫一扫下面链接的二维码,加入我们吧!

posted @   MineGi  阅读(470)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
阅读排行:
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· 在线客服系统 QPS 突破 240/秒,连接数突破 4000,日请求数接近1000万次,.NET 多
· C# 开发工具Visual Studio 介绍
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程
历史上的今天:
2019-03-05 图床_shell命令cut
点击右上角即可分享
微信分享提示