2.14 文件和目录权限chmod
2.15 更改所有者和所属组chown
2.16 umask
2.17 隐藏权限lsattr/chattr
2.14 文件和目录权限chmod
chmod 权限
r=4 w=2 x=1 rwx=7 rw=6 --x=1
rw-r--r--=644
rw-r-xr-x=655
chmod
这个.意味着这个文件受制于selinux 如果selinux 开启,创建的文件或者目录 第一列最后一位就会有个点 ,如果关闭selinux
setenforce 0 暂时关闭,
要永久关闭 需要改变配置文件
改变aming2的权限为 777
chmod 777 aming2
但是地下的1.txt并没有改变
chmod -R 可以把 目录 已经目录下的子目录和文件 批量的更改权限
chmod a+x
chmod a-x 改变 u g o所有的
也可以 chmod u+x u-x,g+x g-x,o+x o-x 都可以
2.15 更改所有者和所属组chown
chwon命令
chown改变所有者
把/tmp/yum.log 改所有者 改为aming
chgrp change group改变所有组
再把所属组改为user1
chown user1:aming /tmp/yum.log改变 yum.log的所有者为user1 ,所属组aming
只是更改所属组为root ,不更改所有者
chown :root /tmp/yum.log
chown -R /tmp/aming2 改变目录aming2 底下的所有的 所有者,所属组
总结chown的用法
chown username:group filename
chown -R 选项
如果chwon 只跟一个字符串 就是更改所有者
如果chown 后面: 冒号再跟一个字符串 就是更改所有组
2.16 umask
umask
查看自己的umask 值
默认创建的文件 权限是rw-r--r-- 644
默认创建的目录 权限是rwxr-xr-x 755
系统有一个命令umask
root 用户umask 值 是0022 一般前面一位不看 就是022
把umask 值改变为002
umask 002
再创建一个文件 3.txt 创建一个目录 234
3.txt文件的权限是664
234目录的权限是775
umask 值为022的时候 文件644 目录755
umask 值为002的时候 文件664 目录775
umask 值为022的时候
777-022=755 目录
666-022=644 文件
umask 值为002的时候
777-002-775 目录
666-002=664 文件
这种数字减法 有时候不一定正确,所以以后不要用这种方法计算
目录必须都有x权限,执行权限,如果没有x权限 就浏览都不可以
和文件不一样,文件没有x 就不能打开
比如说把umask 改成003
先把之前的文件 目录删了 ,重新做实验
创建一个文件1.txt
1.txt 文件的权限变成了 664 rw-rw-r--
实际上是664 直接减就是错误的
把666改成( rw-rw-rw-) -( -------wx( =rw-rw-r-- =664
- 减掉x 也是等于 - 因为本来就没有 减再多也是 -
目录 777- 003 = rwxrwxrwx - -------wx = rwxrwxr-- =774
用9位的权限位去减 不要用数字去减
如果- 后面减 rwx 依然是 -
2.17 隐藏权限lsattr/chattr
chattr 、lsattr特殊权限的命令
man chattr
给1.txt 加上i权限
不可以编辑文件
追加文件也不行
查看下权限
这个时候 要看下是否有隐藏权限
lsattr 查看
新建一个文件 2.txt 发现是没有特殊权限的
i权限 不让去写入,也不能改变名字
也不可以删除
touch 文件也不会,因为会更改访问时间 也不可以
去除掉i权限 就用chattr -i 即可
解除只有 就可以改名
可以 编辑
加上 a权限后 不可以删除,不可以编辑文件内容
可以追加 ,不可以删除,不可以更改文件内容
可以touch
在111目录下创建 目录222
给111目录加上 i权限 不可以删除目录,不能更改目录名
把i权限去掉
加上a权限
加a权限后 可以在目录里面的文件里追加
去掉a权限
加上i权限 也可以在目录里面的文件里面 追加文件内容
lsattr -R 可以查看111目录下面的特殊权限,包括子目录 下面 子文件的特殊权限
不加-R 仅仅是看一层
加上-R 底下的子文件 目录 全部列出来
lsattr -a 查看全部的文件的特殊权限
lsattr -d 只查看目录本身