鸟哥的linux私房菜内容,《鸟哥的linux私房菜》学习笔记 权限

权限

今天学习权限

举个例子

134788596706

Screenshot from 2017-05-02 13-34-06.png

我们使用 ls -al 查看当前目录下文件的信息,列表的第一项就是文件的权限 。

以第一个为例子 drwxrwxr-x, 这10个字母代表3组信息,第一个字母 d 表示其为 目录 。还有其他的字母;

|符号|意义|例子|

|--:| :--:| |

|d|目录| - |

|-|文件| 普通的文本文件|

|l|连接文件| 类比与windows的快捷方式|

|b|可储存的设备| 类比Windows的D盘 |

|c|不可储存的设备| 各种外设如鼠标 |

以下是我 /dev 中的例子,其中的 sda1-5 就是我的各个分区,所以开头为 b.

134788596706

dev.png

rwx

rwx 分别是 read write execute 的缩写。

对文件

r 代表是否能查看文件的内容

w 代表你能否对文件的内容进行操作,但跟能不能删除或者改名没有关系。(这个要留着了解Linux的文件储存方式再解析)

x 代表能否被系统执行(还不太明白,占坑)

对目录

目录在某种意义来讲也是文件,其实它储存的信息为,文件名称与文件在硬盘中所在的位置等信息(把它现象成表格吧)。

了解了上面的信息,就很好理解了rwx的意思了

r 能否看这个表格,也就是我们能否查看该目录下保存了什么文件,比如能否用 ls 去查看。

w 能否改写这个表格,如果能,那我们就能够添加目录、文件,或者删除(无论我们对这个文件是否有权限,因为我们只是删除了一个名称),重命名也是一个道理。(我想这就是有些东西被删除了还能被还原的原因,因为文件本身压根就没被删除)

x 就不能用表格的概念了,x 能够被系统作为工作目录,也就是能否被 cd

分组概念

介绍完rwx,我们来说说为什么有3组rwx。这是因为Linux中把用户分为3类(拥有者,同组,普通用户)。

前面一组代表拥有者的权限,

第2组代表对同组的权限,

第3组代表普通用户的权限。

怎么看拥有者,同组呢? 额,就是ls -al 显示表的第3和第4项。

其他权限

SetUID

当一个二进制程序在程序拥有者的x位置出现s时,就说这个文件有 SUID权限。如 -rwsr-x-r-x 。

当一个用户执行了这个带有s权限的二进制程序时,这个用户就暂时拥有了这个二进制程序的拥有者权限。这就是s的作用。

例子:

一个二进制程序文件的权限为 -rwsr-x-r-x root root ,

还有一个普通文本文件里面写着 1 并且权限为 -rwx------ root root,

当执行这个二进制程序时会去修改这个写着1的文件变为2。

这时我去执行了这个二进制程序(因为我有x权限),执行完后1文件本成了2。 这意味着我这个对1文件没有任何权限的用户却对其做了修改,这就是 SUID 权限的作用。

注:其中的安全问题不太理解,只知道 SUID 只对二进制文件有效。

SetGID

跟 SUID 很像。不同点在于 :

1.s的位置 ,s在用户组的x位置,如-rwxr-s-r-x

2.暂时获得的权限为用户组相同的权限

3.可以设置在目录上或在文件上

坑:有什么用,没想明白

Sticky Bit

权限长这样 drwxrwxrwt , 这是一个只能用在目录的特殊权限。

我们知道决定你能否删除目录里的文件取决于你对这个目录有没有w权限,这就有个尴尬的问题,我们需要一个目录大家都能进来,都能够查看这里的文件,便于交流,但我不想让除了文件本人的人删除属于他的文件,那这个目录的w权限好像就不好设置了。为了解决这个问题Linux有了SBIT权限。

SBIT的作用:当你在使用目录的w权限时,还要判断你是否是文件的说有着。

特殊权限的设置

跟rwx一样我们使用 chmod 命令,只是我们在 chmod 的option 前加了一个数值 ,

4:SUID

2:SGID

1:SBIT

例子 : chmod 4777 filename

文件隐藏属性

文件还有一些ls看不到的属性,但是只有在 Ext2/Ext3/Ext4 文件系统中才会有。

可以使用 lsattr [files] 来查看文件的隐藏属性。 属性有许多比如不能删除的属性 i 。

更多信息 可以用man chattr 命令去查看。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值