Linux权限(二) 权限收尾:从目录权限和权限掩码到粘滞位
目录一. 目录的权限属性1.1 x1.2 r 和 w1.3 linux 多用户之间的隔离二. 缺省权限2.1 权限掩码 umask2.1.1 查看当前默认权限掩码2.1.2 权限掩码的使用2.1.3 umask 的目的与意义2.1.4 umask的配置三. 删除的权限四. 粘滞位4.1 共享文件\共享目录4.2 粘滞位的使用4.3 代码示例4.4 linux系统里的共享目录一. 目录的权限属性1.1 x对于目录来说x决定我是否允许进入、访问该目录。1.2 r 和 w对于目录来说r决定我是否能查看该目录的内容。对于目录来说w决定我能否修改目录项例如创建、删除、重命名文件/子目录1.3 linux 多用户之间的隔离我们知道在 linux 系统中可以创建多个用户那么怎么实现多个用户的隔离呢创建普通用户时系统通常会为该用户创建一个家目录一般位于/home/用户名。不同 Linux 发行版、版本以及系统配置对家目录设置的默认权限可能不同。在常见的默认配置下用户家目录通常只有所有者具有写权限所属组可能具有读、执行权限其他用户可能无权限。这也就实现了多个用户之间的隔离。二. 缺省权限对于普通文件来说起始权限是666默认不带可执行。对于目录文件来说起始权限是777默认携带 x。但是我们会发现。刚创建的目录\文件的默认权限和起始权限并不匹配这是为什么呢2.1 权限掩码 umaskumask 主要用于新创建的文件或目录默认要“屏蔽掉”哪些权限。2.1.1 查看当前默认权限掩码在命令行输入 umask即可查看当前默认权限掩码(这里是以普通用户为例超级用户下的默认权限掩码一般是0022)2.1.2 权限掩码的使用在上文我们提到了刚创建的目录\文件的默认权限和起始权限并不匹配这就是权限掩码在发挥作用实际权限 起始权限 (umask(umask取后三位)表示按位取反表示按位与注意都是八进制转成二进制 后运算。2.1.3 umask 的目的与意义umask 的目的是凡是在 umask 中出现的权限都不应该在最终权限中出现。例如当前我们的权限掩码是0002说明不希望其他用户有写的权限。对照一下上文的默认权限会发现其他用户确实没有写的权限。默认权限如果完全由操作系统固定决定那么用户在创建文件之前就很难灵活控制而有了 umask系统就可以通过配置来调整新建文件和目录的默认权限。特殊情况下配置umask可以控制文件的默认权限让我们的代码都是可控的。2.1.4 umask的配置使用下列代码即可对umask完成配置暂时性的关掉xshell再登录恢复默认umask 权限值 #如 umask 0022,权限掩码就会变成0022三. 删除的权限文件或目录的删除权限主要取决于其父目录的w和x权限。x权限用于访问、查找目录中的目标项w权限用于修改目录内容删除文件或目录本质上就是从父目录中移除对应的目录项。四. 粘滞位4.1 共享文件\共享目录在实际使用中我们难免需要与其他用户共同管理文件或目录因此就产生了共享文件和共享目录的需求。共享目录通常会放在公共区域而不是某个用户的家目录下。共享目录一般会对一组用户开放访问和修改权限但这也会带来一个问题当多个用户都拥有该目录的wx权限时他们可能删除或重命名其他用户创建的文件。为了避免这种情况可以给共享目录设置粘滞位Sticky Bit。设置粘滞位后用户仍然可以在共享目录中创建文件但通常只能删除或重命名自己拥有的文件目录所有者和 root 用户仍然具有更高的管理权限4.2 粘滞位的使用粘滞位主要给共享目录使用chmod t 目录名4.3 代码示例4.4 linux系统里的共享目录如果只是临时共享文件可以使用 Linux 自带的/tmp公共临时目录如果需要长期共享则更适合单独创建共享目录并配置相应权限。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →