将普通用户转换成超级用户的两个命令:1、su命令,可以实现任何身份的切换,需要知道root用户的密码,语法“su -root”;2、sudo命令,用于切换至其他用户的身份去执行命令,语法“sudo -s”或“sudo -i”。
Linux系统运维及项目正式上线:进入学习
本教程操作环境:linux7.3系统、Dell G3电脑。
linux中将普通用户转换成超级用户有两个命令:
-
su命令
-
sudo命令
Linux临时切换用户身份(su命令)
su 是最简单的用户切换命令,通过该命令可以实现任何身份的切换,包括从普通用户切换为 root 用户、从 root 用户切换为普通用户以及普通用户之间的切换。
普通用户之间切换以及普通用户切换至 root 用户,都需要知晓对方的密码,只有正确输入密码,才能实现切换;从 root 用户切换至其他用户,无需知晓对方密码,直接可切换成功。
su 命令的基本格式如下:
su [选项] 用户名
选项:
-
-
:当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),使用 – 选项可省略用户名,默认会切换为 root 用户。 -
-l
:同 – 的使用类似,也就是在切换用户身份的同时,完整切换工作环境,但后面需要添加欲切换的使用者账号。 -
-p
:表示切换为指定用户的身份,但不改变当前的工作环境(不使用切换用户的配置文件)。 -
-m
:和 -p 一样; -
-c
命令:仅切换用户执行一次命令,执行后自动切换回来,该选项后通常会带有要执行的命令。
示例:将普通用户转换成超级用户
$ su -root
sudo命令
我们知道,使用 su 命令可以让普通用户切换到 root 身份去执行某些特权命令,但存在一些问题,比如说:
仅仅为了一个特权操作就直接赋予普通用户控制系统的完整权限;
当多人使用同一台主机时,如果大家都要使用 su 命令切换到 root 身份,那势必就需要 root 的密码,这就导致很多人都知道 root 的密码;
考虑到使用 su 命令可能对系统安装造成的隐患,最常见的解决方法是使用 sudo 命令,此命令也可以让你切换至其他用户的身份去执行命令。
相对于使用 su 命令还需要新切换用户的密码,sudo 命令的运行只需要知道自己的密码即可,甚至于,我们可以通过手动修改 sudo 的配置文件,使其无需任何密码即可运行。
sudo 命令默认只有 root 用户可以运行,该命令的基本格式为:
sudo [-b] [-u 新使用者账号] 要执行的命令
-
sudo -s
:切到root后终端环境没变
-
sudo -i
:环境也变了(切换的更彻底)
若出现sudo切换失败的情况,修改配置文件
如上图无法切换的情况,要在root用户下修改配置文件
vi /etc/sudoers
如下图:添加 rc ALL=(ALL:ALL) ALL(给用户rc添加sudo权限)
或者在%sudo下添加 %rc(用户所在组名) ALL=(ALL:ALL) ALL (给组内用户添加sudo权限)