应用场景:
SSH远程管理、运维测试——切换用户身份su
管理权限细分——提升权限sudo
su用户切换命令格式:
su 不加-切换到本机root不切换到目标用户环境(加-切换用户的同时切换到目标的系统环境)
[student@localhost ~]$ su密码:[root@localhost student]# echo $PATH/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/student/.local/bin:/home/student/bin[student@localhost ~]$ su -密码:[root@localhost ~]# echo $PATH/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
以root身份执行某命令:
[student@localhost ~]$ su – -c “chmod 777 /var/ftp/k8s” root
查看su验证记录、shell开启与关闭:
[root@localhost student]# tail /var/log/secure |grep su
sudo用户提权:
系统管理员root用户,配置普通用户有执行自身命令的权限
主配置文件 /etc/sudoers 或 visudo打开配置文件
提取格式:
普通用户名 主机名列表=命令列表 (必须写命令的绝对路径,多条命令用 , 号隔开)
例:
tom localhost,svr1=/sbin/,!/sbin/ifconfig
dc ALL=(ALL) NOPASSWD:/usr/bin/virt
使用别名做用户提权:
vim /etc/sudoer
root ALL=(ALL) ALL
Host_Alias MYUSR=localhost,master #定义主机别名
Cmnd_Alias MYCMD=/usr/bin/rpm , /usr/bin/yum #定义命令别名
tom MYUSR=MYCMD #别名的使用
启用日志文件,记录用户提权操作
[root@localhost ~]# echo ‘Defaults logfile=\”/var/log/sudo.log\”’ >> /etc/sudoers
普通用户查看可用的提权命令: sudo -l
普通用户使用可提权的命令时,只需在命令前加sudo即可