2.14 文件或目录权限chmod
认识文件权限
rw-------.
第1位:文件类型第2-4位 : 所有者的权限第5-7位:所属组的权限第8-10位:除了所有者、所属组之外的权限w:是否可写
r:是否可读x:是否可执行以数字表示: r=4;w=2;x=1认识chmod
chmod == change mode 使用这个命令对目录或者文件进行操作,不加-R选项,表示生效的,仅仅是目录本身或文件本身。
-R 选项 批量的更改目录下所有的文件或子目录的权限chmod的使用方法
使用方法: chmod 700 文件或目录或文件的绝对路径
chmod u=rwx,g=r,o=r 文件或目录或文件的绝对路径 ,比较直观,但比较繁琐chmod a+x 文件或目录或文件的绝对路径,会把所有的权限都加上 x 权限 支持,针对某一个所有属权限进行增加或删除 例如:chomd u+x 1.txt,chomd g+x 1.txt,chomd o+x 1.txtchomd u-x 1.txt,chomd g-x 1.txt,chomd o-x 1.txt2.15 更改所有者和所属组chown
chown
chown = change owner 也就是更改所有者
可以通过 cat /etc/paswwd/ 查看系统下的用户
使用方法:
chown aming /tmp/yum.log 更改文件的所有者chown user1:aming /tmp/yum.log 同时修改文件的所属主和所属组,以 : 冒号分割chown:root /tmp/yum.log 在不修改所属主的情况下,修改所属组-R 选项 级联更改文件或者目录的所属主,所属组
chgrp = change group 更改所属组
使用方法 chgrp user1 /tmp/yum.log
2.16 umask
运行 umask 可以看到系统默认的值
更改这个值umask 002 第一位可以省略不写目录必须要有 x 权限,理由是,不管你的所属主、所属组、还是其他用户,都必须先保证能其中一个能先执行,才能进行进一步的操作,如果不让执行,那么这个目录将无法打开,这个是不符合系统逻辑的。
系统文件的默认权限为 666
系统目录的默认权限为 777创建的时候就会减去umask值,得出最终的目录或文件的权限创建目录或文件时的算法:例:umask 值为 0002时 正确查看方式应该为 --- --- -w-这时 创建目录的 权限就为\777 (rwx rwx rwx)- 002 (--- --- -w- )=775 (rwx rwx r-x )这时 创建文件的 权限就为666 (rw- rw- rw-)- 002 (--- --- -w- )=664 (rw- rwx r-- )ps :不能使用数字,直接进行运算,因为这个运算方式不符合系统的逻辑
2.17 隐藏权限lsattr_chattr
使用 ls -l 命令是看不到的隐藏权限的
chattr 的隐藏权限,以中文翻译,就是一个附加权限
使用方式:chattr +i 1.txt ;反之,chattr -i 1.txt 清除这个权限;i 是一个非常严谨的权限,对文件使用时会直接不能mv,不能写文件,只能读;对目录使用,它不会影响对已经存在的文件的写入chattr +a 1.txt ;反之,chattr -a 1.txt 清除这个权限 a 权限;
a 权限不能删除,不能更改, 只能追加,可以更改时间信息,只能在文件末尾增加对文件 1.txt 增加 i 权限,这时对1.txt进行编辑,是无法编辑的,系统会提示这是一个只读文件无法编辑 使用 :wq! 强制保存 也是保存不了的
当对一个文件进行编辑的时候,提示权限不够,同时我们又是使用root用户去进行操作也会这样显示,那么我们就该考虑到一个问题,这个文件是不是添加有隐藏权限
这时,我们就可以使用 lsattr 1.txt 去查看文件是否有隐藏权限
lsattr 查看的是一个目录下面的子目录和子文件
-d 可以查看目录本身-R 可以查看目录本身,和目录下子目录的文件等等的隐藏信息(只使用lsattr命令是会显示目录本身和目录下的,子目录的情况不会显示)vi 编辑文件的时候,会默认生成一个缓存文件,与源文件唯一不同的就是末尾多一个 ~ 符号,当保存退出的时候,就会保存覆盖源文件,然后这个缓存文件就会自动删除,如果文件添加有隐藏权限的时候,导致vi 无法编辑时,就会显示出 以 ~结尾的文件,且不会删除