分享好友 最新资讯首页 最新资讯分类 切换频道
用户与用户组、文件权限、文件系统层次结构¶
2024-12-28 22:37

早期的操作系统没有用户的概念(如 MS-DOS),或者有「用户」的概念,但是几乎不区分用户的权限(如 Windows 9x)。而现在,这不管对于服务器,还是个人用户来说,都是无法接受的。

用户与用户组、文件权限、文件系统层次结构¶

在服务器环境中,「用户」的概念是明确的:服务器的管理员可以为不同的使用者创建用户,分配不同的权限,保障系统的正常运行;也可以为网络服务创建用户(此时,用户就不再是一个有血有肉的人),通过权限限制,以减小服务被攻击时对系统安全的破坏。

而对于个人用户来说,他们的设备不会有第二个人在使用。此时,现代操作系统一般区分使用者的用户与「系统用户」,并且划分权限,以尽可能保证系统的完整性不会因为用户的误操作或恶意程序而遭到破坏。

你可以查看 文件,来得到系统中用户的配置信息。

可以关注到,除了你自己以外,还有一个特殊的用户:,和一大堆你素未相识的名字。下面将会进行介绍。

根用户

在前文中我们知道,在使用 安装软件时,我们需要在前面加上 。这可以使我们以根用户 () 的身份安装软件。

根用户 / 用户在 Linux 操作系统中拥有最高的权限,可以对系统做任何操作(包括删除所有系统文件这一类极端危险的操作)。 用户的用户数据存储在 下。

在我们使用 的时候,输入自己的密码并验证正确之后, 就会以 用户的身份,执行后面我们希望执行的命令。而使用 安装的软件存储在了系统的目录下,所以必须要以 用户的身份安装。这就是我们平时需要 来安装软件的原因。

系统用户

除了你、 和其他在用你的电脑/服务器的人(如果有)以外,剩下还有很多用户,如 , 等。它们由系统或相关程序创建,用于执行服务等系统任务。不要随意删除这些用户,以免系统运行出现问题。

普通用户

普通用户可以登录系统,并对自己的家目录下的文件进行操作。所有普通用户的家目录都在 下,位于 的位置,其中 是用户名。

普通用户无法直接修改系统配置,也无法为系统环境安装或卸载软件。

命令可以让你以另一个用户的身份执行指定的命令。当然,它最常见的用途,就是能让普通用户以 的身份执行命令:不加入其他参数, 后面直接加命令,我们在前面的课程中也见到很多次了。

那么,如何以 之外的用户的身份执行命令呢?加上 的参数即可。

这里,我们就用 这个用户的身份,执行了 ,得到了 的 UID 等信息。

命令用于直接切换用户,格式是 。如果没有用户名这个参数,则切换到 用户。

在读完上面这句话之后,你可能会尝试切换到 ,但是却失败了:

这是因为,如 Ubuntu 等 Linux 发行版默认禁止了 用户的密码登录,只允许通过 提高权限。但是,我们可以用 运行 ,来得到一个为 用户权限的 shell。

, 等命令有一些细微的区别,可以阅读本章的补充材料。另外,也可以使用 (与 等价),获得一个 权限 shell。

用户组是用户的集合。通过用户组机制,可以为一批用户设置权限。可以使用 命令,查看自己所属的用户组。

可以看到,用户 从属于多个用户组,包括一个与其名字相同的用户组。一般在用户创建的时候,都会创建与它名字相同的用户组。

对于普通用户来说,用户组机制会在配置部分软件时使用到。如在使用第八章的 Docker 时,可以把自己加入 用户组,从而不需要使用 权限,也可以访问它的接口。

同样,用户组和用户一样,也有编号:GID (Group ID)。

修改密码:

可以使用此命令修改用户密码,格式为 。如果没有输入用户名,则修改自己的密码。

(*) 简单的用户配置:

是 Debian 及其衍生发行版中附带的一个方便的用户管理脚本。它可以用来向系统添加用户、添加组,以及将用户加入组。输入:

即可添加此用户。而输入

即可添加此用户组。将用户加入指定用户组也非常简单:

在 Linux 中,每个文件和目录都有自己的权限。可以使用 查看当前目录中文件的详细信息。

第一列的字符串从左到右意义分别是:文件类型(一位)、文件所属用户的权限(三位)、文件所属用户组的权限(三位)、其他人的权限(三位)。对于每个权限,第一位 代表读取 (Read),第二位 代表写入 (Write),第三位 代表执行 (Execute), 代表没有对应的权限。

第三、四列为文件所属用户和用户组。

例如,上面的文件 为普通文件 (),所属用户权限为 ,所属用户组权限为 ,其他人的权限为 ,文件所属用户和用户组均为 。

可以使用 (change file mode bits) 修改权限, (change file owner) 修改文件所有者。具体的使用方法,请查阅相关的文档,这里不再列出。

相信到现在你应该已经发现了:Linux 下文件系统的结构和 Windows 的很不一样。在 Windows 中,分区以盘符的形式来标识(如「C 盘」、「D 盘」),各个分区的分界线是很明确的。在系统所在的分区(一般为 C 盘)中,存储着程序文件 (),系统运行需要的文件 (),用户文件 () 等。这种组织形式源于 DOS 和早期的 Windows,并一直传承下来。

而 UNIX 系列采用了一种不一样的思路组织文件:整个系统的文件都从 (根目录)开始,像一棵树一样,类似于下图。

其他的分区以挂载 (mount) 的形式「挂」在了这棵树上,如图中的 。

那么在根目录下的这些目录各自有什么含义呢?这就由文件系统层次结构标准 (FHS, Filesystem Hierarchy Standard) 来定义了。这个标准定义了 Linux 发行版的标准目录结构。大部分的 Linux 发行版遵循此标准,或由此标准做了细小的调整。以下进行一个简要的介绍。也可以在官网查看标准的具体内容。

当然,实际情况不一定会和以下介绍的内容完全一致。可以使用 和 查看你的系统中关于文件系统层次结构的文档。

存储必须的程序文件,对所有用户都可用。
存储在启动系统时需要的文件。

存储设备文件。

存储系统和程序的配置文件。

用户的家目录。存储用户自己的信息。

存放系统运行必须的程序库文件。

这两个目录都用于挂载其他的文件系统。 用于可移除的文件系统(如光盘),而 用于临时使用。

存放额外的程序包。一般将一些大型的、商业的应用程序放置在这个目录。

用户的家目录。

系统运行时的数据。在每次启动时,里面的数据都会被删除。

存储用于系统管理,以及仅允许 用户使用的程序。如 (文件系统修复程序)、(重启系统)等。

存储网络服务的数据。

临时目录,所有用户都可使用。

大多数软件都会安装在此处。其下有一些目录与 下的结构相似,如:

此外,还有一些目录:

  • : 存储系统通用的 C 头文件。当然,里面会有你非常熟悉的头文件,如 。
  • : 存储系统管理员自己安装的程序,这些文件不受系统的软件管理机制(如 )控制。 里面的层次结构和 相似。
  • : 存储程序的数据文件(如 文档、GUI 程序使用的图片等)。
最新文章
网站优化规则一:网站关键词的设置
​​        深圳蚂蚁网络网站源码栏目分享了企业官方网站php模板源码下载,这里有产品展示型网站源码、营销型网站源码、资
用AI绘图工具轻松生成超逼真美女写真——推荐搜狐简单AI
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=0
【H2(移动4G)录屏大师下载】天语H2 移动4G录屏大师2.6.6免费下载
录屏大师软件聚合手机录屏、录音、视频剪辑、游戏录屏社区于一体的一款完全免费的手机录屏软件,剪辑软件。录屏大师软件操作简单
seo数据审核兼职 SEO数据审核兼职:提升排名必备技能
探索SEO数据审核兼职:开启数字营销新篇章的钥匙在当今这个数字化时代,互联网已成为企业推广产品、服务和品牌的重要渠道而搜索
守卫剑阁前世空城v7.0正式版附隐藏英雄密码
守卫剑阁前世空城v7.0正式版是一款专为广大喜爱魔兽游戏的玩家打造的魔兽防守地图,这张地图加入了新的英雄,修复了游戏的已知bu
解答uc神马搜索代运营广告怎么做
在数字营销的快速发展中,广告投放的方式越来越多样化,特别是在各大搜索引擎和社交平台上,企业希望通过高效的广告投放吸引更多
十大耐玩的武侠单机游戏 好玩的武侠单机手游推荐
有什么武侠手游好玩,今天小编就为大家带来热门好玩的十大耐玩的武侠单机游戏,今天的榜单有逍遥游,一剑斩仙,大掌门2等好玩的
网站SEO优化GOOGLE 定义文章标题,用 H1,H2 还是 H3?
但是如果非要说说文章标题使用什么来定义,可以从 2 个方面来看: 1、按照内容的重要性来定义,如:Official Google Reader Blog
seo优化要注意的几个方面
     首要,搜检上网站自身疑问    全国之年夜职业之多,现在的职业已不只仅是曾经的三百六十行了。每个职业