一、文件和目录权限chmod
ls -l 可以查看当前目录下的文件
显示的9列内容(用空格划分列),他们有什么含义呢?
-rw-r--r-- 这个表示什么?
第一列的 - :表示这个文件是普通文件
d :表示该文件为目录
l :链接文件
b :块设备
权限 r:读、w:写、 x:执行 r=4 w=2 x=1
(如:rwx=7 rw-=6 rw-r--r-- =644)
第一组 rw- 表示文件所有者的权限,r:读、w:写、 x:执行
r-- 第二组 所属组对该文件的权限
r-- 第三组 其他用户对该文件的权限
命令:
chmod == change mode ,修改权限
第十列的 最后一个点是 SElinux 有关的
1.使用setenforce 0 是暂时关闭SElinux 点.还是会出现
2.修改配置文件 vi /etc/selinux/config 保存重启,再创建文件,这个点(.)才会消失
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 后文件和目录的权限值发生变化
目录:一定有 X 权限 (因为目录下有文件,所以对目录一定要有X权限,不然我们将不能对目录进行浏览等一系列操作)
目录即使用777 -umask值(002)=775
文件即使用666 -umask值 (002)= 664
但这个规律不一定对(加入umask值改为003)
umask是决定目录,文件权限的
四、隐藏权限lsattr/chattr
隐藏权限 使用 ls -l是不能查看的
chattr 设置隐藏权限
lsattr 用来查看隐藏权限
向文件添加了隐藏 i 权限后即使我们查看该文件时,出现有rwx权限但是也不能操作,甚至编辑文件,添加内容也会出错
隐藏 i权限 是文件不能删,重命名,设定链接,写入和新增数据
格式:chattr [+-=][隐藏属性][文件名或目录名]
+:增加
-:减少
=:设定
减少 i 属性 chattr -i 1.txt
利用chattr +i是不是可以锁掉一些关键目录,防止木马之类的篡改
lsattr 查看的是一个目录下的子目录和子文件隐藏文件
lsattr -d 目录名 加上-d 就可以查看目录本身隐藏权限
chattr +a 文件名 只能追加、可以touch更改时间,不能删除,不能改名,不能更改文件内容
chattr +i 目标目录 在这个目录下我们本身有一个问价(12.txt文件)这样我们在这个原有的文件下增加、追加内容都是可以的。但是不是针对原有文件操作则不行。
每次vi时实际上是在swap文件里编辑然后由swap覆盖原来的1.txt,如果+a则1.txt不能消失所以就多了一个swap文件
那这样1.txt是不是没有修改成功,因为说不能覆盖
原文地址:http://blog.51cto.com/13589255/2067516