• sudo、su、suid



    sudo 是一种权限管理机制,管理员可以授权普通用户去执行 root 权限的操作,而不需要知道 root 的密码。
    sudo 以其他用户身份执行命令,默认以root身份执行。配置文件/etc/sudoers,使用命令 visudo 编辑配置,配置文本行数100gg

    ## Allow root to run any commands anywhere
    root    ALL          =    (ALL)                   ALL
    boy     ALL          =    (ALL)                   NOPASSWD:/bin/ls                     #允许boy用户使用ls命令,且无需输入密码
    boy     ALL          =    (ALL)                   NOPASSWD:ALL                         #允许boy用户使用全部命令,且无需输入密码
    用户 从哪些主机执行命令  =   (用户身份,默认root用户)  可使用命令的全路径格式,多个命令以逗号分隔
    

      

    sudo执行原理:

    sudo时间戳:普通用户第一次执行sudo命令时,需输入账户密码,系统会在/var/run/sudo/ts目录下为该用户创建时间戳,有效时间5分钟,可使用-v参数延长有效期,使用-k参数清除时间戳。

    仅允许用户 nick 在 192.168.10.0/24 网段上连接主机并且以 root 权限执行 useradd 命令

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

    sudo -l 查看用户sudo可使用命令

    [boy@ 55test ~]$ sudo -l
    Matching Defaults entries for boy on 55test:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset,
    env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME
    LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE
    LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin:/bin:/usr/sbin:/usr/bin
    
    User boy may run the following commands on 55test:
    (ALL) NOPASSWD: ALL                   #boy获得全部管理员权限,并且sudo执行革命时不需要输入密码
    
    [boy@ 55test ~]$ sudo ls /root
    anaconda-ks.cfg gg.txt mm2 nginx.log num.txt pass qq.txt
    bash	mm1	mm3 nn.txt	oldboy.txt passwd user
    
    [boy@ 55test ~]$ sudo su -           #使用普通用户登录然后利用sudo提权到root
    Last login: Sat Oct 10 10:00:23 CST 2020 from 192.168.15.2 on pts/3
    

      

    sudo、su、suid的区别:
    suid 某个root权限的命令-->所有用户,比如passwd,针对需要root权限的命令,任何用户都可以使用suid权限的命令

    [root@ 55test ~]# ll `which passwd`
    -rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
    用户执行权限位置为s
    

    su 用于变更为其他使用者的身份,除 root 外,需要键入所切换用户的密码。

    sudo 某个root执行的操作-->某个用户,授权某个用户以root权限执行某些命令,需要用户自己的密码

    君子务本,本立而道生
  • 相关阅读:
    flex,flashDevelop和gumbo编译器比较
    用侦听器的useCapture属性决定事件哪个阶段做处理
    关于显示对象的parent,stage属性的说明
    ASP.NET MVC 1.0 Result 几何?
    MVC Controller与ActionResult的返回值
    C# 可空类型和空接合运算符(??)
    C# 2.0新特性与C# 3.5新特性
    创建返回Excel的自定义ActionResult
    jQuery getJSON()函数及getScript()函数
    如何使用ASP.NET MVC的Filter
  • 原文地址:https://www.cnblogs.com/00huajiang/p/11263686.html
Copyright © 2020-2023  润新知