目录
1. Linux权限的概念
什么是权限?就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源
Linux下有两种用户:超级用户(root)、普通用户。
- 超级用户:可以再linux系统下做任何事情,不受限制
- 普通用户:在linux下做有限的事情。
- 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令:su [用户名]
功能:切换用户
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。
例一:
例二:
2. Linux权限管理
Linux下,不以文件后缀来区分文件类型。
(并不代表不可以使用,在系统层面没意义,但是可以给自己看)
2.1 文件访问者的分类
- 文件和文件目录的所有者:u---User
- 文件和文件目录的所有者所在的组的用户:g---Group
- 其它用户:o---Others
所有者 (User/Owner)
- 定义:文件的所有者通常是创建文件的用户,或者是通过某些命令(如 chown)被指定为文件所有者的用户。
- 目的:所有者对文件有最大的控制权,通常能够设置文件的权限和修改文件的内容。这样设计是为了确保文件的创建者或者指定的用户能够完全控制自己的文件资源。
所属用户组 (Group)
- 定义:每个文件还关联有一个用户组,这通常是由创建文件时用户的默认组决定的,但也可能通过 chgrp 或 chown :groupname 命令被更改。
- 目的:所属用户组的权限允许一组用户共享对文件的访问控制,而无需将所有用户都设置为文件的所有者。这在团队协作中尤其有用,因为团队成员可以被添加到同一个组中,从而共享对某些文件的访问权限。
其他用户 (Others)
- 定义:除了文件所有者和所属用户组的成员之外的任何用户。
- 目的:其他用户权限的存在确保了系统中非直接相关用户对文件的访问控制,防止未经授权的访问。这有助于保护数据的安全性和完整性,防止未授权用户读取、修改或执行敏感文件。
为什么需要这样的设计?
- 安全性:通过限制对文件的访问,可以防止未经授权的用户访问敏感数据或进行潜在破坏性的操作。
- 协作性:用户组的概念使得团队成员可以方便地共享文件,而不需要将文件的所有权转移给每一个需要访问文件的用户。
- 灵活性:不同的用户和用户组可以有不同的权限,这使得管理员可以根据具体需求灵活地调整访问控制策略。
2.2 文件类型和访问权限
- 第一列(drwxr-xr-x):表示文件或目录的权限模式。以字母和符号的形式表示了所有者、所属组和其他用户的权限。第一个字符表示文件类型,其中"d"表示目录。接下来的三个字符(rwx)表示所有者的权限,再接下来的三个字符(r-x)表示所属组的权限,最后的三个字符(r-x)表示其他用户的权限。
- 第二列(3):表示链接到该文件或目录的硬链接数。对于目录来说,这个数字表示该目录下的子目录和文件的数量。
- 第三列(root):表示文件或目录的所有者。
- 第四列(root):表示文件或目录的所属组。
- 第五列(4096):表示文件或目录的大小(以字节为单位)。对于目录来说,这个值通常是固定的。
- 第六列(Jan 23 10:32):表示文件或目录的最后修改时间。
- 第七列(lesson1):表示文件或目录的名称。
总计(total 8):表示当前目录下的文件和目录的总数。
2.2.1 文件类型
Windows中通过后缀名区分文件类型
Linux中不通过后缀名区分文件类型,通过第一个属性列来区分
Linux不区分文件类型,但是Linux上的工具可能会区分
2.2.2 基本权限
- 读(r/4 - 100):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
- 写(w/2 - 010):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
- 执行(x/1 - 001):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
- “—”表示不具有该项权限。
2.3 文件权限值的表示方法
文件的权限一般分为三种:
- r:读
- w:写
- x:可执行权限
字符表示方法
8进制数值表示方法