目录标题
- 基本用户认识
- 用户的切换
- su
- su -
- exit
- su 用户名
- sudo
基本用户认识
在linux系统中将用户分为两个大类一个是root用户一个是普通用户,root用户是linux操作系统的超级管理员,相当于古代的皇帝不会受到任何的权限约束,而普通用户就会受到权限约束相当于古代的老百姓。那么在后期的学习里面我们就不要使用root用户来执行操作了,因为普通老百姓犯错一般都可以挽回没有什么大问题,但是皇帝犯错一般就很难挽回了,所以在以后的学习当中我们都使用普通用户。
用户的切换
我们知道linux操作系统中有很多的用户,在平时的使用过程中肯定得需要将用户进行转换,比如说普通用户转为root用户,root用户转为普通用户,那我们如何来实现这些转换呢?这里就得需要用到下面的这些指令:
su
第一个指令就是su,这个指令的功能就是将普通用户切换成root用户,比如说下面的操作:
首先我们登录的用户是xbb,并且当前所在的路径是xbb的家路径,然后我们单独输入一个su就会出现下面的现象:
这里我们得输入root用户的密码才能实现对应的转化,将密码输入成功后就会出现这样的现象:
用户变成了root,但是切换后所在的路径依然是之前那个用户所在的路径。那么这就是一种切换的方式。
su -
su -的功能也是将普通用户切换成root用户,但是这里切换后的路径就不再是之前用户所在的路径,而是root的家目录比如说下面的操作:
一开始的用户为xbb,所在的路径为家目录中的folder1目录里面,我们使用su -指令转换用户输入密码后就可以发现此时的路径为root用户的家路径,并且当前用户切换成了root,那么这就是su -和su的区别,两者切换后的路径不同su -会来到root的家路径,而su是原来用户所在的路径。
exit
当我们想从root用户切换回原来的普通用户时就可以使用exit指令,比如说下面的操作:
一开始我们登录的用户是xbb,使用su -切换到root用户之后再使用exit指令就可以切换回原来的xbb用户,并且退回之后的路径也是之前普通用户所在的路径。
su 用户名
如果我们当前是普通用户,想转换到另外一个普通用户的话就可以在su指令后面加上对应的用户名,但是这里的转换得输入另外一个普通用户的登录密码,比如说下面的操作:
一开始的用户为xbb使用su转换到wj用户时就得输入wj用户的登录密码,并且这里的转换是原路径转换如果想在转换时切换到家路径的话,就得在用户名前面加个-选项,比如说下面的操作:
如果我们当前是root用户想转换成普通用户的话就不用输入对应普通用户的登录密码,比如说下面的操作:
就可以直接转换不需要输入密码,如果我们这里想转换的时候顺便切换路径的话就可以使用在前面加个- 选项,比如说下面的操作:
那么这就是su+用户名的用法,希望大家可以理解。
sudo
当我们是普通用户但是想以root的身份执行一条指令的话,可以先将用户切换成root用户再执行相应的指令,那如果我们不想将用户进行切换成root呢?这里就可以使用sudo指令来进行提权,这里提权的时候会输入密码,这里的密码是当前用户的登录密码,并不是root的登录密码,比如说我现在的身份是wj,使用sudo提权执行指令时就得输入wj的登录密码,才可以执行比如说下面的操作:
当我们使用一次sudo提权成功的话,在后面的一段时间里面再使用sudo是不需要再输入密码的,可以直接使用但是有些小伙伴在使用这个指令的时候会出现提权失败的情况比如说下面的操作:
这是因为我们当前使用用户不是系统的受信任的用户,如果说每个人都可以使用root来进行提权操作各种只有root才能执行的操作的话,那我每个指令都用root来进行提权的话我不就相当于是root了吗?所以在使用sudo指令的时候就多了一个门槛,你得是系统的受信任用户这样你才能正常的执行sudo指令,那么我们可以通过下面的操作来添加受信任用户,首先登录root的账号:
打卡这个文件: /etc/sudoers
按下回车就会出现这样的界面:
我们通过底行模式来添加行号,然后在100行左右找到 Allow root to run any commands anywhere :
然后我们将这句话下面一行的内容复制一下就是这句话:root ALL=(ALL) ALL,然后再在粘贴到下一行上去:
然后将你刚刚复制出来的内容中的root修改成你想要的普通用户比如说xbb
然后再进入底行模式中输入w!强制写入,再输入q!强制退出,这样我们添加受信任的用户的操作就完成了,然后我们再将用户切换成xbb,然后使用sudo提权指令whoami的话就可以发现可以执行了
那么这就是用户切换的全部内容,希望大家可以理解。