欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux系统为什么不能一直以root权限操作呢

程序员文章站 2022-05-10 09:16:55
...

      众所周知,大家操作服务器的时候,总是会碰到一些权限问题。毫无疑问,这个时候用root超级管理员的权限是最方便的,简直秒天秒地秒空气,那么为什么我们的BOSS都不支持我们一直处在root权限呢,在此研究一下。

一、什么是root

      在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者。普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户。

      在系统中,每个文件、目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法操作的,但对root除外。root用户的特权性还表现在root可以超越任何用户和用户组来对文件或目录进行读取、修改或删除(在系统正常的许可范围内);对可执行程序的执行、终止;对硬件设备的添加、创建和移除等;也可以对文件和目录进行属主和权限进行修改,以适合系统管理的需要(因为root是系统中权限最高的特权用户);

      在所有Linux系统中,系统都是通过UID来区分用户权限级别的,而UID为0的用户被系统约定为是具有超级权限。超级用户具有在系统约定的最高权限满园内操作,所以说超级用户可以完成系统管理的所有工具;我们可以通过/etc/passwd 来查得UID为0的用户是root,而且只有root对应的UID为0,从这一点来看,root用户在系统中是无可替代的至高地位和无限制权限。root用户在系统中就是超级用户;

二、什么是普通用户

      普通用户是属于root通过useradd等,新创建的用户。普通用户的UID和root用户的UID是不一样的。同样的,普通用户拥有的权限自然也是有限的。

      与超级用户相对的就是普通用户和虚拟(也被称为伪装用户),普通和伪装用户都是受限用户;但为了完成特定的任务,普通用户和伪装用户也是必须的;Linux是一个多用户、多任务的操作系统,多用户主要体现在用户的角色的多样性,不同的用户所分配的权限也不同;这也是Linux系统比Windows系统更为安全的本质所在。

三、为什么我们不能一直以root权限操作

答:如上所言,root在系统中是无敌的存在,相应的,如果用root权限做什么不利于系统的操作的时候,造成的损失也是毁灭级别的。linux系统之所以安全,也是因为权限的分配使得大部分的操作不会影响系统的运行。

      普通用户,特别是开发人员,总会需要各种各样的操作命令来完成一些功能。一般来说,普通用户的权限也能够满足我们的绝大部分需求,所以为了保证安全,我们尽量还是要以普通用户的权限来操作系统。实在是权限不够的时候,可以通过su命令或者sudo命令临时使用root权限。

四、su命令

1、su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好的;二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。我们可以看到当然通过su 切换是一种比较好的办法;

2、常用的su 命令

(1)su 不加参数

//此命令是切换到root权限,一般是需要输入root密码的,是临时拥有root权限
//使用此命令的时候,我们使用的环境变量还是普通用户的环境变量,还是在普通用户的目录下执行命令,查看UID之后发现,我们的UID并不是0.
su root

(2)su 参数-

//此命令的意思是切换到root权限,并且使用root超级用户的环境变量,以及UID。
//此时可以查看/etc/pwd 和 /etc/shadow可以发现,我们已经完全使用了root超级用户的一切环境
su -

(3)su - 用户名
这个命令的意思就是切换到任意一个用户,使用该用户的权限,并且跳到该用户的主目录下

//切换到test用户下,此时查看UID会发现我们已经使用了test的UID,和上面的命令相似
su - test

(4)su 命令的缺点
      不够安全。不管是哪个用户,只要知道了root用户的密码,他们都可以通过输入root的密码而使用root权限为所欲为。所以在多人管理中,并不适合使用su命令,那么sudo命令就成为更好的选择。

五、关于sudo命令

这里我自己也没好好研究过这个命令。也是水平十分有限。请移步观看大神的博客:http://www.ha97.com/2509.html
这篇博文写的很赞,受益匪浅。

六、总结

总体来说,我们为了保证系统的安全,最好是不要一直以root权限来操作系统。虽然权限无敌的感觉很好。。使用普通用户权限,在权限不足的时候临时切换到root权限即可。

参考文章:http://www.ha97.com/2509.html

end