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.


sudo中的 各类授权 名称包含的操作 权限命令?的更多相关文章

  1. 第十五节:Asp.Net Core中的各种过滤器(授权、资源、操作、结果、异常)

    一. 简介 1. 说明 提到过滤器,通常是指请求处理管道中特定阶段之前或之后的代码,可以处理:授权.响应缓存(对请求管道进行短路,以便返回缓存的响应). 防盗链.本地化国际化等,过滤器用于横向处理业务 ...

  2. 利用python实现爬虫爬取某招聘网站,北京地区岗位名称包含某关键字的所有岗位平均月薪

    #通过输入的关键字,爬取北京地区某岗位的平均月薪 # -*- coding: utf-8 -*- import re import requests import time import lxml.h ...

  3. DLL中调用约定和名称修饰(一)

    DLL中调用约定和名称修饰(一) 调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议.这种协议规定了该语言的函数中的参数传送方式.参数是否可变和由谁来 ...

  4. 在AngularJS应用中实现认证授权

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAokAAAFwCAIAAABbwHY6AAAgAElEQVR4nOy9+XtcxbX3+/4H9z73jP ...

  5. 让BLE设备的名称包含MAC地址

    对于研发和测试BLE来说,经常看到同名的设备,是极为不方便的,一大堆设备同时上电会让同事不知道哪一个设备才是自己真正想操作的目标.再说一下小米手环,家中有三支小米手环,打开设备搜索全是“MI”,都不知 ...

  6. 在Azure DevOps Server (TFS) 中修改团队项目名称

    概述 [团队项目]: 在Azure DevOps Server (原名TFS)中,团队项目(Team Project)是一个最基本的数据组织容器,包含了一个团队或者信息系统中的所有信息,包括源代码.文 ...

  7. C#中遍历各类数据集合的方法总结

    C#中遍历各类数据集合的方法总结: 1.枚举类型 //遍历枚举类型Sample的各个枚举名称 foreach (string sp in Enum.GetNames(typeof(Sample))) ...

  8. 【.NET】C#中遍历各类数据集合的方法

    [.NET]C#中遍历各类数据集合的方法   C#中遍历各类数据集合的方法,这里自己做下总结: 1.枚举类型             //遍历枚举类型Sample的各个枚举名称             ...

  9. 同一个POD中默认共享哪些名称空间

    如果通过POD的形式来启动多个容器那么它们的名称空间会是共享的么,所以我这里讨论是在默认情况下同一个POD的不同容器的哪些名称空间是打通的.这里先说一下结论,共享的是UTS.IPC.NET.USER. ...

随机推荐

  1. mysqldump导出数据

    如果导出的数据是乱码,需要制定--default-character-set= mysqldump -h wn-fala-v2-cluster.cluster-cczg3tb617nn.eu-cent ...

  2. 一个获取本机ip地址的正则

    ifconfig|grep -oP '(?<=inet addr:)(?=(?!127\.0\.0\.1))\d+(\.\d+){3}'

  3. [ Deep Learning ] Keras & TensorFlow安装依赖包

    OS:Mac Python:3.6 一.先安装Keras,再安装TensorFlow 1. 安装Keras Package Version---------- -------h5py 2.7.1 Ke ...

  4. git起步

    关于版本控制 什么是版本控制?为什么要版本控制? 版本控制是记录文件内容变化,以便在将来查阅特定版本的系统.有了版本控制,我们就可以将某个文件或是整个项目回退到之前的某个时间段,查看现在和之前相比项目 ...

  5. html5-css列表和表格

    td{    /*width: 150px;    height: 60px;*/    padding: 10px;    text-align: center;} table{     width ...

  6. sitecore系统教程之禁用xDB和Xdb跟踪

    Sitecore体验管理包含未启用体验数据库(xDB)且无需购买xDB许可证情况下使用Sitecore内容管理系统. 除了在未启用xDB的情况下运行Sitecore Experience Platfo ...

  7. jQuery文档操作--empty()和remove()

    empty() 概述 删除匹配的元素集合中所有的子节点 <!DOCTYPE html> <html> <head> <meta charset="U ...

  8. 前端 dojo

    http://dojotoolkit.org/documentation/tutorials/1.10/hello_dojo/ html在线编辑器 国内 http://runjs.cn 国外 http ...

  9. Second LearningConvolutionalNeuralNetworksforGraphs Experience

    paper +ppt 链接:https://pan.baidu.com/s/1ZLBvv7mP8OoseQ4tnwhr_A 提取码:4amg

  10. PersistenceContext.properties()

    在做 Spring + SpringMVC + SpringData 时,单元测试 报这个错误: java.lang.NoSuchMethodError:javax.persistence.Persi ...