Linux下权限相关内容

时间:2022-12-01 15:16:25

Linux系统规定了四种不同的用户:

  • 主用户(owner)
  • 组用户(group)
  • 可以访问系统的其他用户(others)
  • 超级用户(root),具有管理系统的权限

    规定了三种访问文件或目录的方式:
  • 读(r)

  • 写(w)
  • 可执行或查询(x)

当用 ls -l 显示文件或目录的详细信息时,最左边的一列即为文件的存取权限。

其含义如下:

Linux下权限相关内容

顺便说一句,Linux下文件类型共分为七种:

  • - 普通文件
  • d 目录文件
  • p 管道文件
  • b 块设备文件
  • c 字符设备文件
  • l 软链接文件
  • s socket文件

    其中,只有普通文件,目录文件,软链接文件是真正存储在磁盘上的。

介绍几条重要的命令:

1.chmod 命令

该命令是用来设置或改变文件或目录的存取权限的

它有两种用法:

  1. 符号模式:用字符串设置权限

一般格式: chmod key 文件名

       key  =  【操作对象】 【操作符号】 【用户权限】

Linux下权限相关内容

可以多个key,但必须用逗号隔开。

示例:
chmod u+x file1
chmod o-w file2
chmod a=wr file3
chmod u+x,ug=w file4

  1. 绝对方式:使用八进制数来设置权限

一般格式: chmod mode 文件名

Linux下权限相关内容

示例:
chmod 754 file1
chmod 644 file2
chmod 777 file3

介绍一下文件和目录的存取权限:
对普通文件来说:

  • 读权限(r)只允许用户读取相应文件的内容,而无法对其进行更改操作,cat、more命令可使用。
  • 写权限(w)允许指定用户打开并修改文件,如vi、cp、mv等。
  • 执行权限(x)允许指定用户将该文件作为一个程序执行。

对目录文件来说:

  • 读权限(r)可以列出该目录下的文件,ls可使用。
  • 写权限(w)允许在该目录下添加或删除一个文件,如touch,rm,cp,mv等可使用。
  • 执行权限(x)可通过 cd 切换至该目录下,允许在该目录下进行查找。
  • 粘滞位(t) 当一个用户创建了一个目录,并对该目录设置了 777 的权限,即说明其他用户在该目录下进行增删改查等一系列操作,为了防止其他用户删掉该目录下的文件,可使用 chmod o+t dirname 命令,此时,其他用户可以在该目录下进行相关操作等,但是不能删除该目录下原本的文件,该位只有在其他用户具有 x 权限时才有效,否则为T,表示无效。

2.umask 命令

功能:用来设置限制新建文件权限的掩码

格式:
umask mode

当创建新文件时,其最初的权限由文件创建掩码决定,利用umask 命令可以指定哪些权限在新文件的默认权限中被删除。

例如:
umask u=, g=w, o=rwx
若执行了该命令,则在新创建的文件中主用户的权限都有,组用户的写权限被取消,其他用户的所有权限都被取消

也可用八进制数来设置mode

例如:
umask 0022
执行该命令后,新创建的权限即为 0755

可通过 umask -S 或 umask 命令来查看当前掩码

3.chown 命令

功能:用来改变文件或目录的所有者

Linux下权限相关内容

创建该文件或目录的用户称为该文件或目录的文件主,文件主对文件有特别使用权。利用chmod命令可以更改更改一个文件的所有权,若改变了该文件的所有权,原文件主将不再拥有该文件的权限。

注意:只有文件主和root用户才有权利改变文件的所有关系。

一般格式:
chown 【选项】用户 文件名

常用选项:
- R, 递归的改变指定目录及其子目录,文件 的文件主

示例:
chown user1 file 将file文件的文件主改为user1
chown -R user2 dir 将dir目录及其所有的子目录和文件的文件主改为user2

4.chgrp 命令

功能:改变文件或目录所属的用户组

格式:
chgrp 【选项】 组名 文件名

与上述chown的用法类似。

示例:
chgrp group1 file 将file文件的用户组改为group1
chgrp -R group2 dir 将dir目录及其所有的子目录和文件的用户组改为group2