Linux 用户和权限管理

Multics

在上个世纪60年代贝尔实验室决定研发 Multics 操作系统之前,市面上仅有的操作系统就是 批处理系统,这是一种只有单线程的操作系统,一次只能执行一个任务。Multics 的项目,是非常有野心的,要彻底的改变批处理操作系统这些执行模式,它其中一个重要的概念就是支持同时拥有多个用户在线。Multics 是当时最理念先进的操作系统,融入了当时对未来所有的猜想,由于 Multics 的步子迈得实在太大,最终把整个项目彻底拖垮了。后来人的评价,当年的这个项目的难度不低于把人送到火星。

虽然 Multics 取得了失败,但是它的理念完整的继承在了 Unix 操作系统上面,也就是 Linux 的父代。


用户

从一开始多用户就是 Linux 操作系统的一个特点。所以 Linux 对用户和权限的控制,做得是非常极致的,相比于 Windows 操作系统,大部分人可能连用户的概念都没有,开机启动就直接使用,这样是方便的,但是缺乏一定安全机制。服务器的一大根本就是安全,不同级别的用户只能执行特定的命令,管理特定的服务,一个文件针对某个用户,只能查看,或者能写入点东西都是被精确控制。

大致的划分,在 Linux 下面有三类用户。

  • 超级用户 也就是 root 用户,它有操作 Linux 系统的一切权限,包括毁灭操作系统。
  • 普通用户 日常我们工作的用户,重要的文件会被特定的隔离,普通用户如果需要更高级的操作权限可以像 root 用户借权。
  • 虚拟用户 操作系统为了特定的进程管理自产的用户,与我们日常的操作没有太大的关联。

用户组

用户的概念确实是很好的隔离了权限,增加了一层安全的防护。为了操作上的更高效率和更好的管理性,在用户的概念上面,还有另一个概念,就是用户组

当我们需要授权用户 a / b / c 三人拥有相同的权限时,就可以建立一个用户组,然后赋予这个组的权限,这样就具备的相同的效果。

组的关系也是很灵活的,既多个用户能同时存在一个用户组,又可以一个用户同时存在多个用户组。

用户和权限的灵活运用,是 Linux 一切操作的根本。

更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程