sudo命令详解

一. sudo的特点

sudo扮演的角色注定了它要在安全方面格外谨慎,否则就会导致非法用户攫取root权限。同时,它还要兼顾易用性,让系统管理员能够更有效,更方便地使用它。sudo设计者的宗旨是:给用户尽可能少的权限但仍允许完成他们的工作。所以,sudo
有以下特点:

# 1. sudo能够限制指定用户在指定主机上运行某些命令。
# 2. sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。
# 3. sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。它默认的存放位置是/etc/sudoers。
# 4.sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。


我们直接略过上边的部分,直接看”# User privilege specification”用户权限定义部分
大致可以描述为:
who where whom command

root    ALL=(ALL:ALL)  ALL
root 表示root用户
ALL 表示从任何的主机都可以执行,也可以这样192.168.100.0/24
(ALL:ALL) 是以谁的身份来执行,ALL:ALL就表示root可以以任何人的身份来执行命令,第一个ALL是用户,第二个ALL是组
ALL 表示任何命令
那么整条规则就是root用户可以在任何主机以任何人的身份来执行所有的命令。

在看下面这个定义:

%wheel  ALL=(ALL) ALL

允许wheel组中的所有人运行所有的命令
这就可以说明把用户加入到wheel组就可以使用sudo命令

再看一个例子:

nick   192.168.10.0/24=(root)  /usr/sbin/useradd

上面的配置只允许nick用户在192.168.10.0/24网段上连接主机并且以root权限执行useradd命令。
设置 sudo 时不需要输入密码

sudoers配置可以在命令部分附加选项,比如设置执行sudo时不需要输入密码,可以这么配置:

nick ALL=(ALL) NOPASSWD: ALL

posted @ 2022-10-24 14:46  song宁静致远  阅读(2433)  评论(0编辑  收藏  举报