sudo中的 各类授权 名称包含的操作 权限命令?

sudo是 do something as super user: 或者说: as Super User Do something: 就是 为 "非根用户赋予根用户的权限"

  1. 使用 visudo命令, 用root身份来编辑 /etc/sudoers 文件
    编辑时, 会产生一个 sudoers.tmp 文件.

  2. 默认的fc23 是没有sudo的, 安装这个sudo的话, 要安装sudo包 dnf install sudo sudo软件包

  3. 安装后, 会增加一个命令 visudo, /etc下会增加两个文件: sudoers 和 sudoers.d
    sudoers : sudo -er -s: 表示 可以执行sudo的 人er, 因为有多个, 所以用复数 s.

  4. sudo 可以使用哪些命令, 由你的配置决定, 具体哪些时合适的,(哪些权限是可以 放权的. 哪些是 需要严格控制的, 不能通过sudo来放权的, ) 要通过使用的经验 来决定.


  1. 初期放权是: (凡是为 使用方便, 但是 对系统的安全和稳定 又不会产生过大的 危害的命令 可以授权给 普通用户)

主要有 :

NETWORKING(配置网络和防火墙的命令),
SERVICES(配置service和chkconfig的命令),
SOFTWARE(为方便用户安装/卸载软件的rpm, dnf, yum等命令),
PROCESSES(方便管理进程的命令, 如kill, killall)
和并不重要的命令, 如 : LOCATE= updatedb

Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/iptables, ...
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
Cmnd_Alias SOFTWA 2RE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
Cmnd_Alias PROCESSES=kill, killall等等.

which: pron. 可以指代 : "哪一个", "哪一些", 即后面可以跟单数, 也可以 跟复数.
sudoers文件中的 组, 用%group 来表示: % 表示 百分百, 所有, 表示的是 针对 这个组 中的 所有的用户 来 赋予权限的.
注意, Command中的多个 权限是用 逗号 , 来分隔的 , 因此 , 在一个 权限命令中, 可以带很多 options, 直到遇到逗号 的时候, 才表示这个命令结束了...

要注意 的是, 机器名称, 不一定是 ALL, 可以是真实的 某个机器的名称, 比如 当前机器, 本机的名称就是 localhost. 所以 配置中可以使用 localhost名称.

syntax: which users can run what software on which machines: user MACHINE=COMMAND
比如:

## Allows members of the users group to mount and unmount the
## cdrom as root
# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

## Allows members of the users group to shutdown this system
# %users  localhost=/sbin/shutdown -h now   //  这里的机器就是 localhost,  对于单机来说,  就直接使用  localhost 就好了!

最需要注意的是: 命令的前面, 用 括号() 阔起来的是表示 : 可以 以什么身份来运行该命令(不一定 总是 以root什么来运行, 既然能够以root身份来运行, 当然也可以以其他任何身份来运行了.) 如果是 (ALL:ALL), 则表示( 用户: 组)则以什么用户和 组的身份来运行.
当然, 还可以 明确地指出, 以root身份运行, 如:
foo localhost = (root) NOPASSWD: ALL // 选项一定是: NOPASSWD:

对于 授予多个命令权限的, 可以 给多个命令权限 组合成一个 Cmnd_Alias 命令别名组...这样使用起来 比较方便..


hostname命令?

hostname通常是全名, 如 localhost.localdomain hostname -f(-fullname)
hostmane -a (等于--alias), 表示 hostname的别名, 就是localhost,
hostname -A 表示机器的全名
hostname -i (-I) 显示机器的ipaddress
hostname -d: 显示机器的域名
总之, hostname -a, -s都是显示 的机器的别名或短名称, 都是 localhost, 也就是说, 这个机器的名称就是 localhost, 这个localhost 就可以应用在 visudo中
关于sudo有俩个名称:
一是, sudo是一个包的名称, visudo是相应的命令; 二是, 配置文件的名称是 sudoers, sudoers.d.


原文地址:https://www.cnblogs.com/bkylee/p/7772432.html