Linux之用户身份切换与特殊的Shell

234 篇文章 12 订阅
117 篇文章 8 订阅
在上面一篇文章《[Linux之ACL权限设置](https://blog.csdn.net/Gao068465/article/details/106711930)》中给大家带来了关于ACL权限设置相关的知识点,还挺有用的,大家可以去看。今天咱们讲用户账号的切换,关于这个大家应该都不会觉得陌生,在实际的操作中,经常会切换到不同的用户环境中进行操作,为什莫会有这样的要求呢?因为在入行的时候,可能都会有一些老师傅在提醒我们:平时千万不要使用root用户登录啊,除非要做系统的配置,否则的话就尽可能使用一般账户登录,这样可以避免在使用root账户时输入一些严重的命令,比如【rm -rf /】,这个命令会删除Linux系统的所有系统文件,是不是很可怕,所以说,一般情况下就用一般账户登录,比如在Linux的主机上有一个apache软件,这个时候你就可以额外建立一个apache用户专门用来执行这个apache软件。

一、su命令

su是简单的切换命令,它可以进行任何身份的切换,平时我们做切换的时候,都会用到[su - 用户名],有没有考虑过如果不加中间的[-]
会是什么什么结果?我们看一看
在这里插入图片描述
我们分析一下上面的这幅图:首先最开始的时候,是在gao这个用户下,之后我使用了su这个命令(注意这里没有‘ - ’,仅仅是su),输入密码之后使用id这个命令的时候,可以看到这个命令的提示字符仍然是‘gao’,虽然此时用户的身份已经是root了。最要命的是以PATH开头的那一行,依旧在提示着我们虽然你的UID已经具有了ROOT的身份,但是还有一些变量为原本的‘gao’的身份,也就是说此时还有很多数据是无法直接使用的。简单的说,单纯的使用【su】切换成root的身份,读取的变量设置方式为非登录Shell的方式,这种方式很多原本的变量不会被修改。
**问题:**假如此时还是在gao 这个用户下,我想要直接看到原本root环境下才能看到的文件怎么办呢?第一种方法是【su - root】,输入密码后即可;第二种方法是【su - -c ‘‘命令串’’】,我们看一看例子: 在这里插入图片描述

二、sudo

接下来咱们聊一聊sudo,说实在的这个命令我见过,但是还真的没有用过,所以一直没有在意,直到今天,我才发现它真的有它存在的意义,还真得好好讲一讲
**问题:**可能你会问既然有了su这个命令干嘛又多了一个sudo,这不是多此一举吗?然而有这样一个问题你可能需要思考,假如你的主机是多人共用的环境,如果大家都需要使用 su - root 来切换成root的身份和环境,那么岂不是说大家都知道了你的root用户的密码?是不是很恐怖?为了避免密码流出去,于是有了sudo。
相对于使用su需要了解到切换用户的密码(一般是root用户的密码)而sudo的执行仅需要自己的密码即可,甚至可以设置不需要密码来执行sudo。由于sudo可以让你以其他用户的身份来执行命令(通常是使用root的身份来执行命令),所以这个sudo并不是所有用户都可以使用的。而是仅有规范到/etc/sudoers 内的用户才能够执行这个命令。
示例一:在这里插入图片描述
**注释:**在上面的图中,首先我在/sbin/nologin环境下创建了用户test2,当我们使用su - test2命令时,发现提示该账号不可用(这就是我要说的特殊的Shell,使用该Shel创建出的用户不可以使用bash或其shell来登录系统),那我就非要用这个用户创建文件怎么办呢?这个时候就可以用到sudo了,【-u】后面接要切换的用户即可。此时可以看到该文件的属主与属组都是test2了。
还要强调的是,除了root之外其他的账号若要使用sudo执行属于root的权限的命令,则root需要先使用visudo去修改/etc/sudoders,让该账号能够使用全部或部分root账号的功能。为什莫不是使用vi,而是使用visudo?因为/etc/sudoders是设置过语法的,如果使用vi 修改的话很容易 出现语法错误,而是用visudo的好处就是它可以在修改完成后检查语法是否正确。其实这个visudo的命令就是使用vi将/etc/sudoders调用出来修改而已
在这里插入图片描述
一般来说,要修改的这个地方大概在98行左右,我的这个是在第100行,在修改的时候只需在第100行的下面加上一行
“gao ALL=(ALL) ALL”即可,当然了还有其他的方法,此处不再一一介绍。

今天关于su 与sudo就讲到这里,接下来我么们会讲到磁盘配额与够爱文件系统管理,再见!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金陵大掌柜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值