众所周知,大家操作服务器的时候,总是会碰到一些权限问题。毫无疑问,这个时候用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

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

  1. Linux系统将普通用户授权root权限

    现在想在系统文件夹/opt 目录下创建一个文件夹,但是发现普通用户atguigu无对文件夹opt操作权限,故对atguigu用户赋权root权限 1.打开切换到root目录下,打开/etc/sudoe ...

  2. Linux系统搭建多用户多目录不同权限访问的FTP服务器

    Linux系统搭建多用户多目录不同权限访问的FTP服务器 1 安装服务 [root@host-192-168-9-19 home]# yum -y install vsftpd 2 创建访问目录 创建 ...

  3. linux系统下如何切换到root用户

    linux系统下如何切换到root用户 sudo命令 $ sudo 执行命令后,输入当前管理员用户的密码就可以短暂得到超级用户的权限了. sudo -i 命令 $ sudo -i 通过此命令直接输入当 ...

  4. java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题

    在作业中,项目使用文件上传. 这个功能很常见. 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件. 它是怎么发生的? 经过许多问题之后,事实证明这 ...

  5. linux权限644是什么,linux系统644、755、777权限详解linux操作系统 电脑资料

    linux系统644.755.777权限详解linux操作系统 电脑资料 在linux系统中644.755.777三种权限是非常重要的一些权限了,下面我来详细的介绍644.755.777三种权限的使用 ...

  6. linux系统无法启动提示give root password for maintenance的解决方法

    linux系统无法启动提示give root password for maintenance的解决方法 由于非法重启或硬盘故障,会导致linux系统无法启动,无法进入操作系统.当你看到提示:give ...

  7. 在linux系统下忘记了root密码,在linux系统下,忘记了root密码,可以到()模式下修改找回root密码()...

    在linux系统下,忘记了root密码,可以到()模式下修改找回root密码() 更多相关问题 某分部工程双代号网络图如下图所示,其作图错误表现为().A.有多个起点节点B.有多个终点节 鉴于资源有限 ...

  8. linux怎么添加用户并赋予root权限

    linux怎么添加用户并赋予root权限? linux下添加用户并赋予root权限的方法: 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser hadoop//添加一 ...

  9. 【 linux系统入门管理篇-第三章权限管理】

    [ linux系统入门管理篇-第三章权限管理] 本章介绍 一.基本权限UGO 二.基本权限 ACL 三.特殊权限 本章介绍 本章讲述了,Linux系统CentOS7中关于权限的相关概念.以及用户和组的 ...

  10. alin的学习之路(Linux系统编程:五)(目录操作、进程相关概念)

    alin的学习之路(Linux系统编程:五)(目录操作.进程相关概念) 1. 目录操作 1. 查看工作目录 getcwd char *getcwd(char *buf, size_t size) 功能 ...

最新文章

  1. maven生成war包的两种方式
  2. <Module>的类型初始值设定项引发异常
  3. 通过Serverless技术降低微服务应用资源成本
  4. python程序怎么修改_python文件如何修改
  5. es 全量同步mysql_使用canal将mysql同步到es中
  6. 双系统安装ubuntu后没有windows启动项
  7. 【Java线程】深入理解Volatile关键字和使用
  8. 【东软实训】SQL函数
  9. Uploadify 3.2 参数属性、事件、方法函数详解
  10. POJ3304 Segments
  11. SQL Server 2008 R2 完全卸载
  12. STM32——滴答定时器设置1us问题
  13. 老路用得上的商学课-61-80学习(读书)笔记
  14. 计算机二级考试Python编程试题解读:使用turtle库绘制三角形
  15. 谷歌掐架甲骨文:揭秘Java侵权案始末
  16. linux查看java虚拟机内存_JVM:查看java内存情况命令
  17. 游戏开发43课 移动游戏性能优化1
  18. 为什么用vue,它解决了什么问题,如何使用它?
  19. pygame功能--pygame.cursors鼠标模块
  20. positio有哪些属性?position的属性如何使用

热门文章

  1. 每個SCI作者都需要了解的署名規則
  2. 关于Java手机号验证
  3. 一个用于小型嵌入式系统各单元之间(STM32,迪文屏,其他)的数据同步框架(基于rt_thread 开发,带数据安全,适用于嵌入式操作系统以及状态机裸机开发)
  4. 【2019-总结】初中毕业暑假集训No.1
  5. SecureCRT 提示:数据库里没找到防火墙‘无‘ 的解决办法
  6. 缔元信CEO秦雯:互联网化的大数据应用
  7. CD光盘中CDA格式转化为MP3
  8. umijs中使用useDispatch
  9. 我们为什么称自己为炎黄子孙呢?
  10. Qt配置OpenCV教程,亲测已试过