Linux日记本_10:文件/目录的权限说明

简介: 权限的意义虽然Windows系统也号称多任务系统,但是它所做的只是给每个用户建立单独的文件夹,在文件权限的控制方面很弱,基本上可以随便删除其他用户的文件。

权限的意义

虽然Windows系统也号称多任务系统,但是它所做的只是给每个用户建立单独的文件夹,在文件权限的控制方面很弱,基本上可以随便删除其他用户的文件。而Linux系统是一个典型的多用户系统,不同的用户不但有不同的私有文件夹,而且为了保护系统的安全性,Linux系统对不同用户访问同一文件的权限做了不同的规定。

对于每一个具体的Linux系统中的文件来说,它的权限可以分为4种:读的权限、写的权限、执行的权限和无权限,分别用r、w、x和-表示,具体来说,分别是(r)ead,(w)rite,e(x)ecute和-的简写。不同的用户具有不同的读、写和执行的权限。

需要注意的是,并没有无权限是最低的、执行权限则是最高的这样的概念,它们是平行的。比如可以设定一个文件可以写但是不可以读。虽然从理论上来说,这样的设置毫无意义。

每一个文件都有一个特定的所有者,叫作owner,也就是对文件具有所有权的用户。

同时,由于在Linux系统中每个用户都会隶属于一个或者多个组,所以文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。因此,Linux系统按文件所有者、文件所有者同组用户和其他用户3类规定不同的文件访问权限Linux文件系统安全模型是通过给系统中的文件赋予两个属性来起作用的。赋予每个文件的这两个属性称为所有者(Ownership)和访问权限(Access Rights),Linux下的每一个文件必须严格地属于一个用户和一个组。

img_d88d13e2b0d6c6f5c9248283cd62ecfd.png
文件权限

rw-r--r--
这些符号用来描述文件的访问权限类别,长度一般为10位,其格式遵循下列规则:

第1个字符表示文件的类型。字符为“d”表示该文件是一个目录;“b”表示该文件是一个系统设备,使用块输入/输出与外界交互,通常为一个磁盘;“c”表示该文件是一个系统设备,使用连续的字符输入/输出与外界交互,如串口和声音设备:“.”表示该文件是一个普通文件,没有特殊属性;“-”表示为文件。
第2-4个字符用来确定文件的用户(owner)权限;第5~7个字符用来确定与owner相同的组(group)成员的权限;第8-10个字符用来确定文件的其他用户(other user,既不是文件所有者,也不是组成员的用户)的权限。其中,第2、5、8个字符是用来控制文件的读权限的,该位字符为r表示允许用户、组成员或其他人从该文件中读取数据,短线"-"则表示不允许该成员读取数据。与此类似,3、6、9位的字符控制文件的写权限,该位若为w表示允许写,若为"-"表示不允许写:4、7、10位的字符用来控制文件的创建权限,该位若为x表示允许执行,若为"-"表示不允许执行。记住,每一位只有两个选择:"-"或者该属性的缩写字母,表示是否具备相应的权限。

举个例子

drwxr-xr-x
1位上的字符是d,表示此文件是一个目录。
2~4位上的属性是rwx,表示用户root拥有权限列表显示此目录中所有的文件、创建新文件或者删除此目录中现有的文件,或者将此目录作为当前工作目录。
5~7位上的权限是r-x,表示root组的成员只拥有读和执行的权限。
8~10位上的权限是r-x,表示不是root的用户及不属于root组的成员同root组的其他成员拥有一样的权限。

目录
相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
17 3
|
8天前
|
存储 Linux Windows
linux常用目录
/sbin s就是super User的意思,这里存放的是系统管理员使用的系统管理程序。 /home 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一版该目录名是以用户的账号命名的。 /root 该目录为系统管理员,也称为超级权限者的用户主目录。 /lib 系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /etc 所有的系统管理所需要的配置文件和子目录。 /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program fies目录。 /bo
22 2
|
13天前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
30 1
linux特殊权限!!
|
6天前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
30 5
|
6天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
23 6
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
30 6
|
7天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下的文件数量是常见的需求。本文介绍了多种方法,包括使用 `ls` 和 `wc` 命令组合、`find` 命令、`tree` 命令以及编程方式(如 Python)。无论你是新手还是有经验的用户,都能找到适合自己的方法。掌握这些技巧将提高你在 Linux 系统中的操作效率。
17 4
|
7天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
21 4
|
13天前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
35 2
|
12天前
|
缓存 监控 Linux