Linux:su与sudo

本文详细讲解了su命令的使用,包括切换用户的方法、选项、查看用户身份的技巧,以及如何通过sudo灵活地赋予用户root权限执行特定命令。特别介绍了sudoers文件的配置和轮询机制,以及如何为其他用户设置root权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

su

su命令用来切换用户,切换到别的用户需要输入密码进行登录。su命令的切换实际上相当于在用户1中打开用户2的情况,所以使用exit命令退出时会回退到用户1。在这里插入图片描述
通过su切换用户
在这里插入图片描述

通过pstree也可以看到进行了多次su切换用户
在这里插入图片描述
登出也能够看到退回到之前的用户在这里插入图片描述

su命令及选项

su:后跟用户名不跟用户名默认切换到root,表示切换到其他用户,但是不会切换到该用户的家目录,可能会导致查看用户配置时,将上一个用户的配置认为是当前用户的配置,不建议这么做。
su -:后跟用户名,切换到其他用户的同时,切换到该用户家目录。

查看当前用户的命令

id:查看当前用户,可以查看用户的UID,GID等
whoami:仅仅查看当前用户

调用root权限执行某个命令

当某些用户无法登陆root用户但又需要使用root权限去执行某些命令时,就需要使用sudo命令,sudo通过查看sudo的配置文件/etc/sudoers中的相关配置以决定能否调用root权限执行命令,由于/etc/sudoers文件中没有其他用户的配置,所以需要我们进入文件中编辑。编辑sudo的配置建议使用visudo,当语法错误时,会提醒用户,而vim /etc/sudoers不会提醒。还有一点需要注意,没有修改sudoers文件的权限时默认只能root写入,同时会警告这是一个只读文件。
在这里插入图片描述
99行的注释表示允许root在任何地方执行任何权限
100行中第一个all表示可以在任何主机上,第二个(all)表示root权限第三个all表示所有命令
如果想让其他用户调用root权限
在roo下面按照用户 all=命令的格式添加就行,第二个(all)可以不写,不写默认获取root所有权限,命令建议写绝对路径,!后面跟命令表示禁止调用root权限执行命令,多个命令可以用逗号分隔开。如果想调用root权限执行/usr/sbin下的所有命令可以写成/usr/sbin/*
在这里插入图片描述
当有多个命令需要调用root权限时可以对命令设置别名减少重复劳动。
在这里插入图片描述
wheel组是一个系统内置的GID为10的组,是一个特殊的组,拥有最大权限,对组的设置格式和对用户的设置格式一样,不过组名前需要加%
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值