zoukankan      html  css  js  c++  java
  • 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.


  • 相关阅读:
    Django REST framework
    容器平台自动化CI/CD流水线实操
    VUE--webpack
    vue动态路由匹配
    VUE学习---vue基础与vue-router
    MYSQL-创建测试数据
    MYSQL-主键、外键
    MYSQL-数据库、表、数据操作
    MySQL-添加环境变量 及MySQL服务启停
    MYSQL-命令行
  • 原文地址:https://www.cnblogs.com/bkylee/p/7772432.html
Copyright © 2011-2022 走看看