首页 > 代码库 > 【Linux学习】Linux的文件权限(一)

【Linux学习】Linux的文件权限(一)

Linux操作系统是一个非常优秀的操作系统,同时也是一个多用户、多任务的操作系统。那么这就意味着会有很多的人同时使用同一个操作系统的情况。这时,对于一个用户来说,保护好自己的隐私权就成了一个很关键的问题。

★用户与用户组

“用户与用户组”能很好的解决这个问题,用户可以根据自己的意愿设置自己的文件的权限。

●  文件所有者

文件所有者顾名思义就是拥有文件的用户。如果我的用户下面有一些比较隐私的文件不希望别人看见,我就可以设置文件的权限:只有自己的用户(文件所有者)可以修改或者查看这些文件,其他的用户则没有权利查看或者修改。

●  用户组

用户组是一个很有用的功能。在软件开发过程中,我有一些文件要与我的队友共享,但是我又不想让除了我团队之外的人访问这些文件,这个时候用户组就会发挥它的作用了。可以将团队里的队友所对应的用户放到一个用户组的下面,然后就可以设置文件的权限:同一用户组的可以访问文件,不同用户组的就不能访问文件。

●  其他用户

其他用户就是指用户组之外的用户,我的用户下面的文件同样也可以设置一些权限来限制其他用户对文件的访问

★用户与用户组的关系

●  假如有三个用户Tom、Marry、Lass,他们同属于Tom这个用户组下面,对于一些公用的文件,在同一用户组的用户都可以访问。这就好比同一寝室的四个人,可以公用同一个洗手间,公用同一个水龙头一样。但是对于这三个用户比较私密的文件则可以通过文件权限的设置来限制其他用户的访问。就像同一寝室的人,虽然可以公用一个洗手间,但是却不能随意翻看你的抽屉。

★Linux文件属性


●  第一列表示这个文件的类型和权限

第一个字符代表文件是“目录、文件、或链接文件”

如果第一个字符是[d],则是目录

如果第一个字符是[-],则是文件

如果第一个字符是[l],则是链接文件

接下来的字符中,以3个为一组,第一组为“文件所有者的权限”,第二组为“用户组的权限”,第三组为“其他非本用户组的权限”,从网上搜的图片


●  第二列表示有多少文件名链接到 此节点(i-node)

●  第三列表示这个文件或者目录的“文件所有者”

●  第四列表示这个文件或者目录的所属用户组

在Linux下,一个用户可能附属一个或者多个用户组,就上图所示,用户组里的用户都对此文件有可读、可写、可执行的权限。

这里突然想到一个问题:一个用户可以同时附属于几个用户组,但对于一个文件来说,它对用户组的限制只是可读、可写、可执行。那么当一个用户想要在多用户组中的其中一个用户组中分享文件时,该怎样做呢?

●  第五列为这个文件的容量大小,默认单位为B

●  第六列为这个文件的创建日期或者是最近的修改日期

●  第七列为文件名

★文件权限的重要性

●  数据共享

前面所说的同一用户组下面的用户可以共享一些文件

●  权限设置不妥当

如果权限设置不妥当,就可能造成自己的一些隐私泄露。或者是将一些很重要的系统文件的权限设置成别人都可以访问,将会出现一些意想不到的麻烦。

因此在修改Linux文件或者目录之前,一定要搞清楚,什么数据时可变的,什么是不可变的。