应用场景:
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即可

本文详细介绍了SSH远程管理及运维测试中切换用户身份的su命令,以及管理权限细分时使用的sudo命令。涵盖了su命令的不同使用方式,如切换到root用户但保持当前环境变量,或完全切换到目标用户的环境。同时,深入解析了sudo命令如何配置普通用户执行特定命令的权限,包括使用别名简化配置,以及如何记录用户提权操作。
487

被折叠的 条评论
为什么被折叠?



