Linux里面读、写、执行权限应该如何理解?

Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。“一切皆是文件”是Unix/Linux的基本哲学之一,目录、字符设备、块设备、套接字等在/Linux都是以文件的形式存在。面对众多的文件,如何理解和管理他们的读、写、执行权限呢?

 
在Windows下,可以通过鼠标右击文件,在属性栏查看文件的权限。Linux下的文件“哲学”是否与Windows相同呢?我们从以下几点分析。
  
1 . 文件权限设定的作用
  
文件权限的设定是为了保护系统及用户数据的安全性。对于用户来说,最重要的事情就是数据、文件的私密性及安全性。从系统管理员到普通用户,从文件属性到文件特殊加密,无不围绕着一个主题:权限管理。若一个关键文件被意外写入,轻则数据丢失,重则系统崩溃。
  
以根目录下的/proc目录文件为例,该文件是linux内核提供的一种虚拟文件系统,可访问内核内部数据结构、改变内核设置的机制。其中swaps 为交换空间的使用情况,tty 保存tty设备信息,version Linux内核版本和gcc版本。我们可以发现,这些与系统紧密关联的文件全部为只读,即使对于root用户。
Linux里面读、写、执行权限应该如何理解?
                                                                     图1 /proc下的部分文件
  
2 . 文件权限的划分
  
Linux下的权限管理从访问者方面来看大致可分为三块,分别是用户、用户组、管理员。如图2,打开当前用户目录下的文件列表细节。大部分时候我们使用此命令仅仅是关注右半部分的信息,比如文件名、日期、大小等。左半部分展现的就是对应文件的权限信息了。
Linux里面读、写、执行权限应该如何理解?
                                                                    图2 文件属性细节
  
Linux系统对用户的权限有着严格的管理。如图3,可将一个文件的权限分为三部分:对文件所有者权限、对所有者所在用户组权限、对其他用户权限。其中,用户组(group)就是具有相同特征的用户的集合体。
Linux里面读、写、执行权限应该如何理解?