Linux用户管理:用户切换、sudo提权

图片[1]-Linux用户管理:用户切换、sudo提权-不念博客
sudo提权

用户身份切换命令su

# 格式:
su 选项 用户名


超级用户root切换到普通用户不需要密码。反之需要。
不写用户名则切换到root


# 选项:
-(=-l,--login) 不加此选项不会改变登录后环境。生产环境规范使用要加-,可将环境变量一并切换
-c 仅在该用户下执行命令而不直接切换
比如:
[zls@sky root]$ su root
Password:
[root@sky ~]# env
XDG_SESSION_ID=4
HOSTNAME=sky
SELINUX_ROLE_REQUESTED=
TERM=linux
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=10.0.0.1 63878 22
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/1
USER=zls     <<----------------还是zls。加-切换后变为root
......




visudo = vim /etc/sudoers


# su的优缺点:
系统管理员root很方便切换,但其他普通用户只要知道了密码也可用随意切换,人少还好,但如果人多会带来很大安全隐患。
这时便轮到sudo出场了。

sudo提权

sudo命令可以让普通用户在执行命令或程序时拥有root(也可是其他用户)的权限。并且可以指定哪些命令,而且使用时不需要知道root密码。需要在visodu里提前配置。

对于bash内置命令,一般无法进行sudo授权,如cd命令

sudo 好比圣旨,看到它好比看到皇帝

比如

root@sky,10.0.0.201:~ # useradd a01   使用root创建a01用户
root@sky,10.0.0.201:~ # touch 001.txt 使用root创建001.txt文件 并写入字符串 “爱你咕叽咕叽旺”
root@sky,10.0.0.201:~ # cat 001.txt
爱你咕叽咕叽旺
root@sky,10.0.0.201:~ # su a01         切换到a01用户


[a01@sky root]$ cat 001.txt
cat: 001.txt: Permission denied       # 切换到a01用户再次查看001.txt 拒绝访问,提示权限不足
这时便需要进行提权

提权的第一种方法



# 接上例:直接用sudo命令,提示需要配置sudoer (默认只有root用户能使用sudo命令,普通用户想要使用sudo需要root预先设定,即使用visudo命令去编辑相关的配置文件/etc/sudoers)
[xxx@sky ~]$ visudo
visudo: /etc/sudoers: Permission denied          # //普通用户无法使用visudo


[a01@sky root]$ sudo cat 001.txt
[sudo] password for a01:
a01 is not in the sudoers file. This incident will be reported.


切换回root改:
root@sky,10.0.0.201:~ # visudo                     // 进去下面大概在第100行(:100即可)(:set nu可以显示行号)
......
## Allow root to run any commands anywhere         //把a01用户放进来即可 加个NOPASSWD
root    ALL=(ALL)       ALL
a01     ALL=(ALL)       NOPASSWD:ALL              
(用户)     (IP)         (命令)注意命令要输入绝对路径 如/bin/cp 用which+命令可以看到
......




[a01@sky root]$ sudo cat 001.txt             // 设置完成后切到a01用户 用sudo即可看到
爱你咕叽咕叽旺
[a01@sky root]$ cat 001.txt                 //不加sudo看不了
cat: 001.txt: Permission denied
[a01@sky root]$ ls -l /root
ls: cannot open directory /root: Permission denied
[a01@sky root]$ sudo ls -l /root
total 8
-rw-r--r--. 1 root root   23 Aug 22 19:46 001.txt
-rw-------. 1 root root 1447 Aug 17 15:28 anaconda-ks.cfg

提权的第二种方法

把用户加到wheel组 (第108行)
%wheel  ALL=(ALL)       ALL
%组名   ...         ...


用命令:usermod -G wheel a01

接上例:
root@sky,10.0.0.201:~ # su a01
[a01@sky root]$ ls
ls: cannot open directory .: Permission denied
[a01@sky root]$ sudo ls
[sudo] password for a01:
a01 is not in the sudoers file. This incident will be reported.  #//修改配置之前加sudo会提示


[a01@sky root]$ su -
Password:
Last login: Mon Aug 22 21:10:48 CST 2022 from 10.0.0.1 on pts/0
 0 ✓ 21:13:19 root@sky,10.0.0.201:~ # usermod -G wheel a01
 0 ✓ 21:13:34 root@sky,10.0.0.201:~ # su a01
[a01@sky root]$ ls
ls: cannot open directory .: Permission denied
[a01@sky root]$ sudo ls                                            #//修改配置之后加sudo便可以了
[sudo] password for a01:
001.txt anaconda-ks.cfg
© 版权声明
THE END
喜欢就支持一下吧
点赞96赞赏 分享
评论 抢沙发
头像
欢迎光临不念博客,留下您的想法和建议,祝您有愉快的一天~
提交
头像

昵称

取消
昵称代码图片

    暂无评论内容