linux中权限的意义

我们知道linux系统内档案的三种身份(拥有着/群组与其他人),知道每种身份都有三种权限(rwx),已经知道chgrp,chown,chmod去修改这些权限。

权限对档案的重要性

档案是世纪含有数据的地方,包括一般的文本文件,数据库文件,二进制文件等等。因此,权限对于档案来说,他的意义是这样的:

  1. r : 可读取此档案的实际内容,如读取文本文件的文字内容等;
  2. w: 可以编辑,新增或者修改档案的内容(但不含删除该档案);
  3. x: 该档案具有被系统执行的权限

那个可读(r)代表读取档案的内容还好理解,那么可执行呢。在这里你必须要小心了。因为在window底下一个档案是否具有可执行的能力是由扩展名来判断的,例如.exe,.bat,.com等等。但是在linux底下,我们的档案能否被执行,则是由是否具有x这个权限来确定的。和档案名没有绝对的关系。

至于最后一个w这个权限呢?当你对一个档案具有w权限时,你可以具有写入/编辑/新增/修改档案内容的权限,但并不具备删除该档案本身的权限。对于档案rwx来说,主要都是针对档案内容而言的。而与档案名的存在与否没有关系的。因为档案记录是实际的数据么。

权限对目录的重要性

档案是存放实际数据的所在,那么目录主要是存储什么呢。目录主要的内容是在记录文件名列表,文件名与目录有强烈的关系了。如果只是针对目录了,那么r,w,x对目录的意义是什么呢?

r(read contents in directory):
表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据。所以你就可以利用ls这个指令将该目录的内容列表显示出来。

w(modify contents of directory):
这个可写入的权限对于目录来说,是很了不起的!因为它表示你具有移动该目录结构列表的权限,也就是底下这些权限:

  1. 建立新的档案与目录
  2. 删除已经存在的档案与目录;
  3. 将已经存在的档案或者目录进行改名;
  4. 迁移该目录内的档案/目录位置;
    总之,目录的w权限就与该目录下的文件名移动有关系就对了。

x(access directory)

目录的执行权限有什么用呢?目录只是记录文件名而已,总不能拿来执行吧?没错,目录时不可以被执行的,目录的x代表的时用户能否进入该目录成为工作目录的用途。所谓的工作目录(work directory)就是你目前所在的目录了。举例来说,当你登陆到linux时,你所在的家目录就是你当下的工作目录。

例题:
有个目录的权限如下所示:
drwxr–r– 3 root root 4096 Jun 25 08:35 .ssh系统有个账号名称为 vbird,这个账号并没有支持 root 群组,请问 vbird 对这个目录有何权限?是否可切换到此目录中?
答 : vbird 对此目录仅具有 r 的权限,因此 vbird 可以查询此目录下的文件名列表。因为 vbird不具有 x 的权限, 因此 vbird 并不能切换到此目录内!(相当重要的概念!)

上面这个例题中因为vbird具有r的权限,因为r杂看上去好像具有可进入次目录的权限,其实那是错的。能不能进入到某一个目录,至于该目录的x权限有关。此外工作目录对于指令的执行时是非常重要的。如果你在某个目录下不具有x的权限,那么你就无法切换到该目录下,也就无法执行该目录下的任何指令,即使你具有该目录的r的权限。

很多朋友在架设网站上都会卡在一些权限的设定上,他们开放的目录数据给英特网上的任何人来浏览,却只开发了r的权限,如上面的范例所示,那样的结果就是导致网站服务器软件无法到该目录下读取档案(最多只能看到文件名),最终用户总是无法正确的查阅到档案的内容(显示权限不足);要注意:要开放给任何人浏览时,应该至少要给予r以及x的权限,但是w权限不可随便给。

例题:
假设有个账号名称为 dmtsai,他的家目录在/home/dmtsai/,dmtsai 对此目录具有[rwx]的权限。 若在此目录下有个名为 the_root.data 的档案,该档案的权限如下:-rwx—— 1 root root 4365 Sep 19 23:20 the_root.data请问 dmtsai 对此档案的权限为何?可否删除此档案?
答:
如上所示,由于 dmtsai 对此档案来说是『others』的身份,因此这个档案他无法读、无法编辑也无法执行, 也就是说,他无法变动这个档案的内容就是了。但是由于这个档案在他的家目录下, 他在此目录下具有 rwx 的完整权限,因此对于the_root.data 这个『档名』来说,他是能够『删除』的! 结论就是,dmtsai 这个用户能够删除 the_root.data 这个档案!

摘取鸟哥linux私房菜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值