Linux 文件系统权限详解
用户、用户组和权限Linux 系统中,文件或目录的权限由用户、用户组和权限三部分组成。用户和用户组分别代表访问资源的实体,权限则控制这些实体对资源的访问方式。
权限分为两个维度:第一个维度是用户、用户组和其他人,分别代表文件或目录的所属用户、所属用户组和其他用户。第二个维度则是读、写和执行权限,分别代表访问资源的类型。
访问目录内容属于执行操作,因此进入目录需要执行权限。在目录中添加或删除文件或目录属于写操作,需要写权限。
如何查看权限信息
可以使用 ls -l 命令查看文件或目录的权限信息。输出结果的第一列包含10位字符,代表文件类型和权限信息。
第一位代表文件类型,例如 - 代表普通文件,d 代表目录,l 代表链接。后面的 9 位字符分为三组,每组代表用户、用户组和其他人对文件或目录的读、写、执行权限。字母代表拥有权限,- 代表没有权限。
第三列和第四列分别代表文件或目录的所属用户和所属用户组。
如何修改权限信息
使用 chmod 命令修改文件或目录的权限。该命令可以使用符号法或数字法修改权限。
符号法
符号法使用 u、g、o 和 a 分别代表用户、用户组、其他人和所有用户。+、- 和 = 分别代表添加、去除和覆盖权限。读、写和执行权限分别用 r、w 和 x 表示。
例如 chmod g+w file.txt 给文件 file.txt 的用户组添加写权限。
数字法
数字法使用三位数字表示用户、用户组和其他人对文件的权限。每位数字代表读、写、执行权限的分值,分别为 4、2 和 1。例如 chmod 754 file.txt 将文件 file.txt 的用户权限设置为 7,用户组权限设置为 5,其他人权限设置为 4。
修改文件或目录所属的用户和用户组
使用 chown 命令修改文件或目录的所属用户和用户组。
例如 chown nobody file.txt 将文件 file.txt 的所属用户更改为 nobody。
查看和修改用户所属的用户组
可以使用 groups 命令查看用户所属的用户组。使用 usermod 命令修改用户的组。
例如 sudo usermod -g hero libook 将用户 libook 的主组更改为 hero。
umask
umask 是 Linux 系统中的一个命令和环境变量,用于控制新创建的文件和目录的默认权限设置。
umask 通过屏蔽权限中的某些位,限制文件和目录的默认权限。例如 umask 022 会将新创建的目录权限设置为 755,将新创建的文件权限设置为 644。
页:
[1]