2019独角兽企业重金招聘Python工程师标准>>>

4. 文件与目录的默认权限与隐藏权限
4.1 文件默认权限:umask
4.2 文件隐藏属性: chattr, lsattr
4.4 文件特殊权限:SUID, SGID, SBIT, 权限配置
4.3 观察文件类型:file

文件与目录的默认权限与隐藏权限

除了基本r, w, x权限外,在Linux的Ext2/Ext3文件系统下,我们还可以配置其他的系统隐藏属性, 这部份可使用 chattr 来配置,而以 lsattr 来查看,最重要的属性就是可以配置其不可修改的特性!让连文件的拥有者都不能进行修改! 这个属性可是相当重要的,尤其是在安全机制上面 (security)!

文件默认权限:umask

奇怪的是,怎么 umask 会有四组数字啊?不是只有三组吗?是没错啦。 第一组是特殊权限用的,我们先不要理他,所以先看后面三组即可。

在默认权限的属性上,目录与文件是不一样的。从第六章我们知道 x 权限对於目录是非常重要的! 但是一般文件的创建则不应该有运行的权限,因为一般文件通常是用在於数据的记录嘛!当然不需要运行的权限了。 因此,默认的情况如下:

  • 若使用者创建为『文件』则默认『没有可运行( x )权限』,亦即只有 rw 这两个项目,也就是最大为 666 分,默认权限如下:
    -rw-rw-rw-
  • 若使用者创建为『目录』,则由於 x 与是否可以进入此目录有关,因此默认为所有权限均开放,亦即为 777 分,默认权限如下:
    drwxrwxrwx

umask 的分数指的是『该默认值需要减掉的权限!』因为 r、w、x 分别是 4、2、1 分,所以罗!也就是说,当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉运行与写入的权限,也就是 3 分,这样了解吗?请问你, 5 分是什么?呵呵! 就是读与运行的权限啦!

如果以上面的例子来说明的话,因为 umask 为 022 ,所以 user 并没有被拿掉任何权限,不过 group 与 others 的权限被拿掉了 2 (也就是 w 这个权限),那么当使用者:

  • 创建文件时:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
  • 创建目录时:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x

! 那么如何配置 umask 呢?简单的很,直接在 umask 后面输入 002 就好了!

[root@www ~]# umask 002
[root@www ~]# touch test3
[root@www ~]# mkdir test4
[root@www ~]# ll
-rw-rw-r-- 1 root root     0 Sep 27 00:36 test3
drwxrwxr-x 2 root root  4096 Sep 27 00:36 test4

所以说,这个 umask 对於新建文件与目录的默认权限是很有关系的!这个概念可以用在任何服务器上面, 尤其是未来在你架设文件服务器 (file server) ,举例来说, SAMBA Server 或者是 FTP server 时, 都是很重要的观念!这牵涉到你的使用者是否能够将文件进一步利用的问题喔!不要等闲视之!

在默认的情况中, root 的 umask 会拿掉比较多的属性,root 的 umask 默认是 022 , 这是基於安全的考量啦~至於一般身份使用者,通常他们的 umask 为 002 ,亦即保留同群组的写入权力! 其实,关於默认 umask 的配置可以参考 /etc/bashrc 这个文件的内容,不过,不建议修改该文件, 你可以参考第十一章 bash shell 提到的环境参数配置档 (~/.bashrc) 的说明!

文件隐藏属性:

不过要先强调的是,底下的chattr命令只能在Ext2/Ext3的文件系统上面生效, 其他的文件系统可能就无法支持这个命令了。

这个命令是很重要的,尤其是在系统的数据安全上面!由於这些属性是隐藏的性质,所以需要以 lsattr 才能看到该属性呦!其中,个人认为最重要的当属 +i 与 +a 这个属性了。+i 可以让一个文件无法被更动,对於需要强烈的系统安全的人来说, 真是相当的重要的!里头还有相当多的属性是需要 root 才能配置的呢!

此外,如果是 log file 这种的登录档,就更需要 +a 这个可以添加,但是不能修改旧有的数据与删除的参数了!怎样?很棒吧! 未来提到登录档 (十九章) 的认知时,我们再来聊一聊如何配置他吧!

suid sgid,sbit具体可参照鸟哥一书。但个人对umask这里为什么不是减感觉奇怪

转载于:https://my.oschina.net/miaoyaoyao/blog/68295

linux学习(7)第七章、Linux 文件与目录管理相关推荐

  1. Linux学习笔记(七):文件压缩、打包与备份

    Linux学习笔记(七):文件压缩.打包与备份 常见的压缩指令 gzip, zcat/zmore/zless/zgrep bzip2, bzcat/bzmore/bzless/bzgrep xz, x ...

  2. Linux学习-30-chgrp、chown等修改文件和目录的所有者和所属组命令

    9 Linux权限管理详解 所谓权限管理,其实就是指对不同的用户和用户组,设置不同的文件访问权限,包括对文件的读.写.删除等,在 Linux 系统中,每个用户都具有不同的权限,拿非 root 用户来说 ...

  3. Linux学习:第六章-Linux网络配置

    上一章的补充: 常见网络端口: 2021ftp服务文件共享 22ssh服务安全远程网络管理 23telnet服务 25smtp:简单邮件传输协议发信 110pop3:邮局协议收信 80www网页服务 ...

  4. Linux学习:第三章-Linux常用命令-2

    一文件操作命令 1)创建空文件或修改文件时间 touch文件名 命令名称:touch 命令所在路径:/bin/touch 执行权限:所有用户 2)删除 rm-rf文件名 -r删除目录 -f强制 命令名 ...

  5. Linux学习:第三章-Linux常用命令-1

    提示符: [root@localhost ~]# [登录用户名@主机名 当前所在目录]提示符 ~家目录 /root /home/aa 提示符: #超级用户 $普通用户 一 linux命令的格式 1.命 ...

  6. Linux学习笔记(七)创建文件

    我们在前面学习了如何创建文件夹,就是使用mkdir命令,现在学习一下如何创建文件,创建文件的方式有多重. 1,cat命令 首先这个命令多用于查看文件内容时使用,即cat zhang.txt,当zhan ...

  7. Linux学习:第六章-Linux服务和进程管理

    一进程查看 1psaux查看当前系统所有运行的进程 -a显示前台所有进程 -u显示用户名 -x显示后台进程 user: 用户名 pid:进程id.PID1init系统启动的第一个进程 %CPUcpu占 ...

  8. Linux学习:第五章-Linux用户和用户组管理

    一用户管理命令 用户信息文件:/etc/passwd aa:x:501:501::/home/aa:/bin/bash 第一列:用户名 第二列:密码标志 第三列:UID用户ID 0管理员 1-499系 ...

  9. Linux学习日记(七)——Ubuntu下的进程管理

                                                     Ubuntu下的进程管理 who命令查看当前在线用户的情况 在linux系统下,通常情况下可能会有tt ...

最新文章

  1. 3.6 Git 分支 - 分支的衍合
  2. 基于注解的Spring MVC整合Hibernate(所需jar包,spring和Hibernate整合配置,springMVC配置,重定向,批量删除)
  3. C语言已知二进制码求循环码,循环码系统与非系统编码的C语言实现
  4. IOS 2D游戏开发框架 SpriteKit--续(创建敌对精灵)
  5. Linux内核调试debugfs
  6. World Wind Java开发之十四——添加WMS地图服务资源(转)
  7. 实战百度竞价恶意点击心得
  8. 8.2.3多态性 第8章 面向对象编程简介
  9. 过拟合产生的原因有哪些
  10. 2022年认证杯SPSSPRO杯数学建模A题(第一阶段)人员的紧急疏散求解全过程文档及程序
  11. 如何在中国大陆三大运营商申请公网IPV4地址
  12. 广东外语外贸大学教务系统一键查分
  13. 基于海思平台与QT框架的高效视频显示
  14. AI深度、机器学习数据集资源汇总
  15. matlab中nargin用法
  16. 2021-10-06 求1到100以内的质数
  17. php isset()和empty()的使用区别
  18. 如何卸载干净Fusion 360
  19. 共享事业,厚积薄发,切忌浮躁.
  20. 数字旅游解决方案_数字标牌将助力打造新中国服务经济 吸引更精准受众创造更多机遇...

热门文章

  1. 高效的css命名约定
  2. 打造属于自己的underscore系列 ( 一 ) - 框架设计
  3. QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)
  4. 大数据高地,这样炼成!
  5. 創業團隊基建工具選擇
  6. 挂***方法和技巧大汇总
  7. 连续与离散变量的函数分布计算
  8. 中断占用CPU的时间分析
  9. 树莓派4B安装ffmpeg的方法
  10. TF ckpt转pb脚本