Root 是谁?为什么会有 Root 账户?
在 Linux 中为什么会有一个名为 root 的特定账户?该怎么使用 root 账户?它在哪些场景下必须使用,哪些场景下不能使用?对于以上几个问题,如果您感兴趣的话,那么请继续阅读。
本文中,我们提供了一些关于 root 账户的参考资料,方便您了解。
root 是什么?首先,记住这一点,在 Unix 类操作系统中,目录的层级结构被设计为树状结构。起始目录是一个特殊目录,使用斜杠 / 表示,而其他目录都是由起始目录分支而来。由于这种结构很像现实中的树,所以 / 也被称为根root目录。
下图,我们可以看到以下命令的输出:
$ tree -d / | less
该命令主要是演示一下 / 根目录和树根root的类比。
Linux 的目录层级
虽然 root 账户命名的原因还不是很清楚,可能是因为 root 账户是唯一一个在根目录 / 中有写权限的账号吧。
此外,由于 root 账户可以访问 Unix 类操作系统中的所有文件和命令,因此,它也常被称为超级用户。
另外,根目录 / 和 /root 目录不能混淆了,/root 目录是 root 账户的家目录。实际上,/root 目录是根目录 / 的子目录。
获取 root 权限当我们说到 root(或者超级用户)权限的时候,我们指的是这样一种账户的权限:其在系统上的权限包含(但不限于)修改系统并授权其他用户对系统资源的访问权限。
胡乱使用 root 账户,轻则系统崩溃重则系统完全故障。这就是为什么会说,以下准则是使用 root 账户的正确姿势:
首先,使用 root 账户运行 visudo 命令编辑 /etc/sudoers 文件,给指定账户(如:supervisor)授予最低的超级用户权限。
最低超级用户权限可以包含,例如:添加用户 (adduser)、修改用户 (usermod)等权限。
接着,使用 supervisor 账户登录并使用 sudo 执行用户管理任务。此时,你可能会发现,当你执行需要超级用户权限(例如:删除软件包)的其它任务时,会失败。
没有使用超级用户权限运行命令
在必须使用超级用户权限时,重复执行以上两个步骤,一旦执行完成,则立即使用 exit 命令退回到无特限的账户。
此时,你需要确定一下其他周期性的任务是否需要超级用户权限?如果需要,那么在 /etc/sudoers 中,给指定的账户或组授予必要的权限,尽量避免直接使用 root 账户操作。
原文发布时间为:2017-02-20
本文来自云栖社区合作伙伴“Linux中国”
Centos修改root用户密码 如果不是root登陆,先切换到root sudo root 然后按提示输入root用户的密码。 [root@localhost ~]# passwd Changing password for user root.
相关文章
- 关于EJB,为什么用EJB?为什么不用EJB?
- 什么是弱网测试?为什么要进行弱网测试?怎么进行弱网测试?
- 为什么他们都用UWA GOT?
- 为什么用svg放弃了iconfont?
- 为什么都吵着让运维去学Python?
- tcp为什么要三次握手,两次不行吗?为什么?
- 微信开发 - 详解 JSAPI 与 JS-SDK 是什么?它们之间有什么区别?用谁做微信支付、分享等功能合适?(为什么网上的教程有使用 JSAPI 做功能,但也有大量使用 JS-SDK 做的呢?)
- 上大学究竟是来干什么的?为什么会这样?
- JAVA集合为什么不能在foreach 循环中添加或删除元素?
- 为什么好市多的员工流失率仅为沃尔玛的四成
- Python 教程之 为什么 Google 和 YouTube 使用 Python
- 【转】Spring学习---为什么要用spring,springMVC
- 要想做好软件测试工作,就要学会思考并问为什么
- Redis(1.16)Redis为什么是单线程?为什么快?
- 为什么CAD输入文字时文字特别大但输入后就消失了?
- 【Java 并发编程】我们为什么要学并发编程?