13.4 【Linux】使用者身份切换

简介: 13.4 【Linux】使用者身份切换

使用一般帐号:系统平日操作的好习惯


尽量以一般身份使用者来操作Linux的日常作业。等到需要设置系统环境时, 才变换身份成为 root 来进行系统管理,相对比较安全。避免作错一些严重的指令,例如恐怖的“ rm -rf / ”。


用较低权限启动系统服务


相对于系统安全,有的时候,我们必须要以某些系统帐号来进行程序的执行。 举例来说,Linux 主机上面的一套软件,名称为 apache ,我们可以额外创建一个名为 apache 的使用者来启动 apache 软件。


软件本身的限制


以“ su - ”直接将身份变成 root 即可,但是这个指令却需要 root 的密码,也就是说,如果你要以 su 变成 root 的话,你的一般使用者就必须要有 root 的密码才行;


以“ sudo 指令 ”执行 root 的指令串,由于 sudo 需要事先设置妥当,且 sudo 需要输入使用者自己的密码, 因此多人共管同一部主机时, sudo 要比 su 来的好。


13.4.1 su


su 是最简单的身份切换指令了,他可以进行任何身份的切换。方法如下:

524d1d2756d741f7805853d18bc056bb.png



单纯使用“ su ”切换成为 root 的身份,读取的变量设置方式为 non-login shell 的方式,这种方式很多原本的变量不会被改变, 尤其是我们之前谈过很多次的 PATH 这个变量,由于没有改变成为 root 的环境, 因此很多 root 惯用的指令就只能使用绝对路径来执行。


797edc8c239d485db442bef9fab28f1b.png


由于 /etc/shadow 权限的关系,该文件仅有 root 可以查阅。为了查阅该文件,所以我们必须要使用 root 的身份工作。 但我只想要进行一次该指令而已,此时就使用类似上面的语法。接下来,如果我是 root 或者是其他人, 想要变更成为某些特殊帐号,可以使用如下的方法来切换:



3b919d39c5cc4e38895d66c725800f71.png

总结一下su的用法:


若要完整的切换到新使用者的环境,必须要使用“ su - username ”或“ su -l username ”,才会连同 PATH/USER/MAIL 等变量都转成新使用者的环境;


如果仅想要执行一次 root 的指令,可以利用“ su - -c "指令串" ”的方式来处理;


使用 root 切换成为任何使用者时,并不需要输入新使用者的密码;


虽然使用 su 很方便,不过缺点是,当我的主机是多人共管的环境时,如果大家都要使用su 来切换成为 root 的身份,那么不就每个人都得要知道 root 的密码,这样密码太多人知道可能会流出去, 很不妥当,因此通过sudo来处理。


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
8月前
|
存储 Linux 项目管理
Linux|如何管理多个Git身份
Linux|如何管理多个Git身份
50 0
|
8月前
|
Linux API 数据安全/隐私保护
【Linux 用户管理】Linux用户身份信息获取与管理API 接口
【Linux 用户管理】Linux用户身份信息获取与管理API 接口
94 0
|
安全 Linux Shell
Linux加强篇005-用户身份与文件权限
山重水复疑无路,柳暗花明又一村
385 2
Linux加强篇005-用户身份与文件权限
|
8月前
|
安全 Shell Linux
【Shell 命令集合 系统管理 】Linux 切换当前用户身份为另一个用户 su命令 使用指南
【Shell 命令集合 系统管理 】Linux 切换当前用户身份为另一个用户 su命令 使用指南
251 1
|
8月前
|
安全 网络协议 Shell
Linux sudo 以其他身份来执行命令
Linux sudo 以其他身份来执行命令
82 0
|
8月前
|
安全 Shell Linux
【Shell 命令集合 系统管理 】Linux 以超级用户(root)的身份执行特权命令 sudo命令 使用指南
【Shell 命令集合 系统管理 】Linux 以超级用户(root)的身份执行特权命令 sudo命令 使用指南
218 1
|
7月前
|
Linux 数据处理 数据库
深入解析Linux命令id:理解用户身份与权限
`id`命令在Linux中用于显示用户身份(UID, GID和附加组)。它查看系统用户数据库获取信息。参数如`-u`显示UID,`-g`显示GID,`-G`显示附加组,结合`-n`显示名称而非ID。用于确认命令执行者身份,确保权限正确。在脚本中使用时注意权限管理,遵循最小权限原则。
|
7月前
|
Ubuntu Linux Shell
Linux logname命令:揭秘当前登录用户的身份
`logname`命令在Linux中显示当前登录用户的用户名。它读取`/var/run/utmp`或`/etc/utmp`文件获取信息,简单直接,数据可靠。适用于多种Linux发行版。在终端输入`logname`即可查看用户名,也可在脚本中使用以动态调整内容。注意,`logname`不考虑`LOGNAME`或`USER`变量,适用于本地登录,无权限问题。在脚本中应处理无对应条目的情况。
|
8月前
|
存储 安全 Shell
【Shell 命令集合 系统管理 】Linux 显示当前用户的身份信息 id命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示当前用户的身份信息 id命令 使用指南
310 0
|
8月前
|
Ubuntu Unix Linux
Linux系统Ubuntu以非root用户身份操作Docker的方法
Linux系统Ubuntu以非root用户身份操作Docker的方法
151 1

热门文章

最新文章