您的位置:首页 > 其它

目录和文件权限,umask ,文件隐藏属性

2017-10-25 22:08 330 查看

目录和文件权限

权限:

-rw-r–r–. 1 root root 5450 10月 24 21:34 1.txt

rw-:属主权限,是文件所属主的

r–:属组权限,是文件所属组的

r–:其他人权限



ps:最后一位的点,表示文件或目录是在selinux开启下创建的



关于selinux:

配置文件

[root@shuai-01 ~]# /etc/selinux/config

selinux有三种状态:

enforcing:开启

permissive:也是开启,打印一个警告

disable:关闭



要永久改变selinux状态,就更改配置文件

权限也可以用数字表示

r 权限(读权限) 可以用数字 4 表示

w 权限(写权限) 可以用数字 2 表示

x 权限 (执行权限)可以用数字 1 表示

这时 如果一个文件权限为- r w - r - x r- - 时,用数字该表示为654

更改文件或目录权限的命令:chmod

用法:chmod 权限 文件目录名

如:更改一个文件名为1.txt的权限,改权限为 rw-rw-rw-

[root@shuai-01 ~]# chmod 666 1.txt



选项:

-R 连级更改

有一个目录,目录下面有文件,有其他目录,想要将这个目录和目录下的文件权限一起更改,就用这个选项

[root@shuai-01 ~]# chmod -R 777 shuai



更改所有者所属组

命令:chown

chown = change owner

命令格式

chown 用户名:组名 文件名

既能更改用户名又能更改组名

只更改用户名

[root@shuai-01 ~]# chown shuai: 1.txt

只更改组名

[root@shuai-01 ~]# chown :shuai 1.txt

即更改用户名又更改组名

[root@shuai-01 ~]# chown root:root 1.txt

这个chown命令就已经很强大了,既能改用户名,又能改组名,简单粗暴。

umask

umask 是用来设定默认目录和文件的权限值的

默认的umask的值为0022

[root@shuai-01 ~]# umask

0022

在默认情况下,创建一个目录,这个目录的权限值为777-022=755(r w x r - x r - x)

创建一个文件的权限值为666-022 = 644(r w - r - - r - -)

改变umask的值

[root@shuai-01 ~]# umask 002



这个时候创建一个目录的权限就为775,文件就为664



关于文件权限和umask间还有一个比较有趣的例子

当umask为033时,这个时候创建一个文件,那这个文件的权限为多少?

如果按照上边说的方法。应该为666-033=633

文件权限应该是(r w - - w x - w x),可是真实情况却是(r w - r - - r - -)。为啥会出现这种情况,那是应为你要删掉一种权限,你必须得自己手里先有这种权限才能删除。手里这权限本来就没有,就算删了,它还是没有,不能为负数,也不能向别的权限去借。666(r w - r w - r w -)-033(- - - - w x - w x)=(r w - r - - r - -)

文件的隐藏权限

设置文件的隐藏权限:chattr

命令格式:chattr [+-][隐藏权限] [文件名或目录名]

隐藏权限:

a 权限

a:能追加不能删除,不能更改文件的位置

(给文件加a权限,只能在文件里追加写东西,给目录加a权限,不能在目录下新建文件目录,但是原来就在目录里的文件还是可以写东西的)

[root@shuai-01 ~]# chattr +a 1.txt

给1.txt加上a权限



将1.txt去掉a权限

[root@shuai-01 ~]# chattr -a 1.txt

i 权限

i:啥都不能干,删除,重命名,写东西追加东西都不能(文件和目录一样)

给1.txt加i权限

[root@shuai-01 ~]# chattr +i 1.txt



查看文件的隐藏权限:lsattr

选项:

-a 显示隐藏文件和ls的一样



-R 连级查看,子目录和子文件都一起列出

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐