一、文件和目录权限chmod

ls -l 可以查看当前目录下的文件

显示的9列内容(用空格划分列),他们有什么含义呢?  


blob.png

-rw-r--r-- 这个表示什么?

第一列的 - :表示这个文件是普通文件

      d :表示该文件为目录

      l :链接文件

      b :块设备


权限 r:读、w:写、 x:执行 r=4 w=2 x=1

    (如:rwx=7 rw-=6 rw-r--r-- =644)

blob.png 第一组 rw- 表示文件所有者的权限,r:读、w:写、     x:执行

r--  第二组 所属组对该文件的权限

r--  第三组 其他用户对该文件的权限



命令:

chmod == change mode ,修改权限

blob.png

第十列的 最后一个点是 SElinux 有关的

1.使用setenforce 0 是暂时关闭SElinux 点.还是会出现

2.修改配置文件 vi /etc/selinux/config 保存重启,再创建文件,这个点(.)才会消失

blob.png

chmod -R +权限(770)+目录 批量修改目录及目录的子目录下所有文件及目录的权限

chmod u=rwx,g=rwx,o=rwx +文件名/目录名

chmod u[+/-][r/w/x] +文件名或目录名 (把其下文件或目录u的权限修改)



二、更改所有者和所属组chown

chown = change owner 修改文件的所有者和所属组

chown 所有者 +/路径/文件名

chgrp 所属组 +/路径/文件名

chown 所有者:所属组 +/路径/文件名 (修改文件的所有者和所属组)

chgrp 所属组 +/路径/文件名==chown :所属组 +/路径/文件名

加选项 chown、chgrp -R 批量修改


三、umask

umask  :改变文件的默认权限 格式:umask xxx(xxx代表三个数字)


查看 umask值 直接命令umask 默认为0022

修改umask的默认值 umask 0002 第一个0 可以省略

umask 002即可


下面为修改umask 为0002 后文件和目录的权限值发生变化

blob.png

目录:一定有 X 权限 (因为目录下有文件,所以对目录一定要有X权限,不然我们将不能对目录进行浏览等一系列操作)

目录即使用777 -umask值(002)=775

文件即使用666 -umask值 (002)= 664             

 但这个规律不一定对(加入umask值改为003)

blob.png

umask是决定目录,文件权限的







四、隐藏权限lsattr/chattr


隐藏权限 使用 ls -l是不能查看的

chattr 设置隐藏权限 

lsattr 用来查看隐藏权限

blob.png

向文件添加了隐藏 i 权限后即使我们查看该文件时,出现有rwx权限但是也不能操作,甚至编辑文件,添加内容也会出错


QQ图片20180131204618.png

QQ图片20180131204622.png

 隐藏 i权限 是文件不能删,重命名,设定链接,写入和新增数据


格式:chattr [+-=][隐藏属性][文件名或目录名]

+:增加

-:减少

=:设定

 减少 i 属性 chattr -i 1.txt

   

   利用chattr +i是不是可以锁掉一些关键目录,防止***之类的篡改



lsattr 查看的是一个目录下的子目录和子文件隐藏文件

QQ图片20180131213557.png


lsattr -d 目录名  加上-d 就可以查看目录本身隐藏权限



chattr +a 文件名 只能追加、可以touch更改时间,不能删除,不能改名,不能更改文件内容


chattr +i 目标目录  在这个目录下我们本身有一个问价(12.txt文件)这样我们在这个原有的文件下增加、追加内容都是可以的。但是不是针对原有文件操作则不行。








每次vi时实际上是在swap文件里编辑然后由swap覆盖原来的1.txt,如果+a则1.txt不能消失所以就多了一个swap文件

那这样1.txt是不是没有修改成功,因为说不能覆盖 

blob.png