2.14 文件或目录权限chmod
用ls -l 显示文件的详细信息
权限分为 3个权限位 r表示是否可写 w表示是否可读 x表示是否可执行 不可的情况下都使用-表示
列子
rw- r-- r--
前三位 rw- 为所有者的权限: 中间三位 r-- 为所属组权限: 最后三位 r-- 其它用户权限
权限也可以使用数字来表达 r=4 w=2 x=1
列子:
chmod = change mode 修改权限命令
chmod -R 级联更改权限
列子: 修改2.txt权限为 700 也即是 rwx------, 所有者可写可读可执行,所属组不可 其它用户不可
最后一个点 意味着这个文件 受制于selinux
getenforce 查看selinux状态 setenforce 0 临时关闭selinux
彻底关闭需要更改配置文件 /etc/selinux/config
chmod -R 级联更改权限。
另外一种更改写法
u=user所有者 g=group所属组 o=other 其它
可以使用 chmod a+权限 u+权限 g+权限 o+权限 来增加或删除权限 (a代表所有的意思)
2.15 更改所有者和所属组chown
chown = change owner 更改所有者与所属组
chown -R 级联更改
/etc/passwd 里面都是是用户
实验:
把/tmp下的yum.log的所有者 改成 aming用户
使用命令 chown aming /tmp/yum.log 就可更改所有者为aming
chgrp =change group 更改所属组
实验:
把/tmp/下的yum.log 更改所属组为 user1
使用命令 chgrp user1 /tmp/yum.log 就可更改所属组为user1
同时更改所有者 与所属组 可以使用命令 : chown 所有者用户名:所属组用户名 目标文件路径 来同时更改
直接用chown更改所属组的用法
列子 chown :root /tmp/yum.log 更改yum.log文件的所属组为root 。 把所有者用户名省略掉就可以
chown -R 级联更改
2.16 umask
创建文件的默认权限为644 目录的默认权限是755
是通过umask值来确定文件的默认权限是什么 目录默认的权限是什么
实验
更改umask 值为 0002 (最前面的0可以省略)
重新创建一个文件与目录看现在的权限是什么
文件变成了664 目录变成了775
文件的默认权限最终值为 666=(rw-rw-rw-) -(-------wx)umask值=rw-rw-r--=664
目录的默认权限最终值为 777=(rwxrwxrwx)-(-------wx)umask值=rwxrwxr--=774
2.17 隐藏权限lsattr_chattr
使用ls -l 是看不到隐藏权限
使用lsattr 查看隐藏权限
使用chattr 更改隐藏权限
实验
更改文件 1.txt 隐藏权限 +i
隐藏权限 i 不可写入编辑,不能更改名字,无法删除。不可以touch
隐藏权限 a 可以追加文件内容。但是不能更改,不能重命名,无法删除。可以touch
lsattr 查看隐藏权限
查看的是目录下的文件目录
查看目录本身的话 可以加 +d选项
lsattr +R 级联查看目录内的所有子目录文件
lsattr +a 查看所有文件包括隐藏文件
实验:
使用命令chattr +i 1.txt
之后使用vi编辑该文件,发现无法写入编辑只可读,名字更改不了,也无法删除
要取消该权限 使用 chattr -i 就可以取消
chattr +a
实验:
给1.txt 增加隐藏权限a,无法删除
进入文件编辑文件 也是无法操作的
但是可以使用追加命令,在文件内增加内容信息
给目录增加i权限。 可以追加与重写目录文件里面的内容,无法新建文件目录
给目录增加a权限。可以追加与重写目录文件里面的内容,可以创建子文件