• 1-2_基本概念_用户和组&目录、链接及文件


    用户

      系统的每个用户都拥有唯一的登录名(用户名)和与之相对应的整数型用户ID(UID)。系统密码文件/etc/passwd为每个用户都定义有一行记录,除了上述两项信息外,该记录还包含如下信息:

      1、组ID:用户所属第一个组的整数型组ID

      2、主目录:用户登录后所居于的初始目录

      3、登录shell:执行以解释用户命令的程序名称。

      该记录还能以加密形式保存用户密码。然而,出于安全考虑,用户密码往往存储于单独的shadow密码文件中,仅供特权用户阅读。

      出于管理目的,尤其是为了控制对文件和其他资源的访问,将多个用户分组是非常实用的做法。每个用户组都对应着系统组文件/etc/group中的一行记录,该记录包含如下信息:

      1、组名:(唯一的)组名称

      2、组ID(GID):与组相关的整数型ID。

      3、用户列表:隶属于该组的用户登录名列表(通过密码文件记录的group ID字段未能标识出的该组其他成员,也在此列),以逗号分隔。

    超级用户

      超级用户在系统中享有特权。超级用户账号的用户ID为0,通常登录名为root。超级用户凌驾于系统的权限检查之上。因此,无论对文件施以何种访问权限限制,超级用户都可以访问系统中的任何文件,也能发送信号干预系统运行的所有用户进程。系统管理员可以使用超级用户账号来执行各种系统管理任务。

    文件类型

      在文件系统内,会对文件类型进行标记,以表示其种类。其中一种来表示普通数据文件,人们常称之为“普通文件”或“纯文本文件”,以表示与其他种类的文件有所区别。其他文件类型包括设备、管道、套接字、目录以及符号链接。

      术语“文件”常用来指代任意类型的文件,不仅仅指普通文件。

    路径和链接

      目录是一种特殊类型的文件,内容采用表格形式,数据项包括文件名以及对相应文件的引用。这一“文件名+引用”的组合被称为链接。每隔文件都可以有多条连接,因此也可以有多个名称,在相同或不同的目录中出现。

      目录可包含指向文件或其他目录的链接。每个目录至少包含两条记录:.和..,前者是指向目录自身的链接,后者是指向其上级目录——父目录的链接。除根目录外,每个目录都有父目录。对于根目录而言,..是指向根目录自身的链接。

    符号链接

      类似于普通链接,符号链接给文件起了一个“别号(alternative name)”。在目录列表中,普通链接内容为“文件名+指针”的一条记录,而符号链接则是经过特殊标记的文件,内容包含了另一文件的名称。

      通常,人们会分别使用硬链接(hard link)或软连接(soft link)这样的术语来指代正常连接和符号链接。

    路径名

      路径名是由一系列文件名组成的字符串,彼此以“/”分隔,首字符可以为“/”(非强制)。

      除却最后一个文件名外,该系列文件名均为目录名称(或为之项目路的符号链接)。路径名的尾部可以标识任意类型的文件,包括路在内。有时将字符串中最后一个“/”字符之前的部分称为路径名的目录部分,将其之后的部分称为路径名的文件部分或基础部分。

      绝对路径名:以“/”开始,指明文件相对于根目录的位置。

      相对路径名:定义了相对于进程当前工作目录的文件位置,与绝对路径名相比,相对路径名缺少了起始的“/”。

    当前工作目录

      每个进程都有一个当前工作目录(有时简称为进程工作目录或当前目录)。这就是当根目录层级下进程的“当前位置”,也是进程解释相对路径名的参照点。

      进程的当前工作目录继承自其父进程。对登录shell来说,其初始当前工作目录,是依据密码文件中该组用户记录的主目录字段来设置。可使用cd命令来改变shell的当前工作目录。

    文件的所有权和权限

      每个文件都有一个与之相关的用户ID和组ID,分别定义文件的属主和属组。系统根据文件的所有权来判定用户对文件的访问权限。

      为了访问文件,系统把用户分成3类:文件的属主(有时,也称为文件的用户)、与文件组(group)ID相匹配的属组成员用户以及其他用户。

  • 相关阅读:
    代码质量管理平台SonarQube的安装、配置与使用
    IntelliJ IDEA优秀插件(编程通用)
    Helpers.parallel_bulk in Python not working?
    把mysql的数据导出成txt
    python从数据库获取全量数据的方法
    ylbtech-LanguageSamples-ExplicitInterface(显示接口)
    ylbtech-LanguageSamples-Events(事件)
    ylbtech-LanguageSamples-Delegates(委托)
    ylbtech-LanguageSamples-ConditionalMethods(条件方法)
    ylbtech-LanguageSamples-CommandLine(命令行参数)
  • 原文地址:https://www.cnblogs.com/Bird-of-Paradise/p/6796376.html
Copyright © 2020-2023  润新知