sudo、su、suid
## 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可使用命令 [[email?protected] 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 # NOPASSWD #boy获得全部管理员权限,并且sudo执行革命时不需要输入密码 [[email?protected] 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 [[email?protected] 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的区别: [[email?protected] 55test ~]# ll `which passwd` -rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd 用户执行权限位置为s,特殊权限位 su 用于变更为其他使用者的身份,除 root 外,需要键入所切换用户的密码。 sudo 某个root执行的操作-->某个用户,授权某个用户以root权限执行某些命令,需要用户自己的密码 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |