linux系统的权限介绍

让我们用t o u c h命令创建一个文件:
$ touch myfile
现在对该目录使用ls -l命令:

我们已经创建了一个空文件,正如我们所希望的那样,第一个横杠告诉我们该文件是一个普通文件。你将会发现所创建的文件绝大多数都是普通文件或符号链接文件(后面将会出现更多的符号链接文件)。

    文件属主权限           组用户权限         其他用户权限

      rw-                      r--                    r—

接下来的三个权限位是文件属主所具有的权限;再接下来的三位是与你同组用户所具有的权限,这里是a d m i n组;最后三位是其他用户所具有的权限。在该命令的结果中,我所属于的缺省组也显示了出来。下面是对该文件权限的精确描述:

表1-1 ls -l命令输出的含义

因此,这三组字符(除了第一个字符)分别定义了:
1) 文件属主所拥有的权限。
2) 文件属主缺省组(一个用户可以属于很多的组)所拥有的权限。
3) 系统中其他用户的权限。
在每一组字符中含有三个权限位:
r 读权限
w 写/更改权限
x 执行该脚本或程序的权限
这里我们采用另外一种方式来表示刚才所列出m y f i l e的文件权限:

- r                                   w -                          r- -                       r--
文件类型为普通文件         文件属主可以读、写       同组用户可以读          其他用户可以读

    你可能已经注意到了,m y f i l e在创建的时候并未给属主赋予执行权限,在用户创建文件时,系统不会自动地设置执行权限位。这是出于加强系统安全的考虑。必须手工修改这一权限位:后面讲到u m a s k命令时,你就会明白为什么没有获得执行权限。然而,你可以针对目录设置执行权限位,但这与文件执行权限位的意义有所不同,这一点我们将在后面讨论。

      上面这段关于权限位的内容可能不太好理解,让我们来看几个例子(见表1 - 2 )。

      更令人迷惑的是,对于文件属主来说,在只有读权限位被置位的情况下,仍然可以通过文件重定向的方法向该文件写入。过一会儿我们就会看到,能否删除一个文件还依赖于该文件所在目录权限位的设置。

表1-2 文件权限及含义

 

 

 

 

 

 

 

 

 

 

 

posted @   淋哥  阅读(591)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示