用户切换
登录操作系统方式:
1 直接登录
2 通过远程连接工具远程连接
3 用户之间的切换
语法:
su - 用户名称
注意:
1 root用户切换普通用户不需要密码
2 普通用户切换到普通用户需要密码
3 普通用户切换到root用户需要密码
案例1:root用户切换到普通用户
[root@shang:~]# su - shang
[shang@shang:~]$
案例2:普通用户回到root用户
(1) 如果是从root用户切换的
#exit直接回到root目录下 不需要密码
[shang@shang:~]$ exit
logout
[root@shang:~]#
(2) 如果是从普通用户切换的
#su - root 需要root密码
[shang@shang:~]$ su - root
Password:
Last login: Tue Jul 16 22:11:19 CST 2024 from 10.0.0.1 on pts/2
Last failed login: Wed Jul 17 12:24:48 CST 2024 on pts/2
There was 1 failed login attempt since the last successful login.
[root@shang:~]#
unbuntu:sudo su -
sudo提权
作用:授权普通用户使用某个命令的时候 拥有root的执行权限
相当于皇帝下发尚方大宝剑
语法格式:
sudo 命令
sudo less /var/log/messages
visu #在root用户上给普通用户提权
:wq 保存退出
授权的命令写绝对路径
查看是否成功
grep shang /etc/sudoers
第一步:查看拥有的sudo权限
[root@shang:~]# su - shang
[shang@shang:~]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for shang:
Sorry, user shang may not run sudo on shang.
第二步:授权shang less命令(相当于root使用less命令)
查看/var/log/messages
[root@shang:~]# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
shang ALL=(ALL) /usr/bin/less
[root@shang:~]# grep shang /etc/sudoers
shang ALL=(ALL) /usr/bin/less
第三步:测试
[root@shang:~]# su - shang
Last login: Tue Jul 16 18:00:04 CST 2024 on pts/2
[shang@shang:~]$ sudo less /var/log/messages
[sudo] password for shang:
Jun 27 19:30:56 shang kernel: [ 0.000000] Linux version 4.19.90-52.22.v2207.ky10.x86_64 (KYLINSOFT@COMPILE.MACHINE) (gcc version 7.3.0 (GCC)) #1 SMP Tue Mar 14 12:19:10 CST 2023
注意:授权编辑的方式有两种
visudo #检测语法
vim /etc/sudoers #不检测语法
sudo的授权方式
单个命令授权
shang ALL=(ALL) usr/bin/less
多个命令授权 #以逗号分隔 需要绝对路径
shang ALL=(ALL) usr/bin/less,usr/bin/sed
全部授权
shang ALL=(ALL) nopasswd:ALL
没有密码
授权:
su(危险)
执行sudo su - 直接可以变为root用户
vim(危险)
sudo /etc/passwd 删除x没有密码了 可以直接登录
sed(危险)
sed替换
sed -i '1s#x##g' /etc/passwd
将第一行的x替换为空
rm(危险)