Linux用户切换su与提权sudo

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

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值