本次我们还是使用CentOS7来进行实验
查看文件属性
首先我们可以使用ll命令来查看某一文件的属性
现在可以拆分一下
- | rw- | r-- | r-- | 1 | root | root | 304 | 2月27 22:58 | kaka |
文件类型 | 文件所有者权限 | 用户组权限 | 其他人权限 | 硬链接次数 | 属主 | 属组 | 文件大小 | 最后修改时间 | 文件名 |
1.文件类型
- | 普通文件,类似于记事本 |
d | 目录文件,类似于文件夹 |
c | 字符设备文件,串行端口设备,顺序读写,键盘 |
b | 块设备文件,可供存储的接口设备,随机读写,硬盘 |
p | 管道文件,用于进程间的通信 |
s | 套接字文件,用于网络上的通信 |
l | 链接文件 |
2.读写执行权限
权限 | 对应字符 | 文件 | 目录 |
读权限 | r | 可查看文件内容 | 可以列出目录中的内容 |
写权限 | w | 可修改文件内容 | 可以在目录中创建,删除文件 |
执行权限 | x | 可执行该文件 | 可以进入目录 |
修改文件属性
1.修改文件的属主和属组
chown 属主:属组 文件名
chown 属主.属组 文件名
chgrp 属组 文件名
2.修改权限
chmod 777 文件名
777对应的就是 rwxrwxrwx
对照表1
--- | 0 | 000 |
--x | 1 | 001 |
-w- | 2 | 010 |
-wx | 3 | 011 |
r-- | 4 | 100 |
r-x | 5 | 101 |
rw- | 6 | 110 |
rwx | 7 | 111 |
chmod u/g/o/a=/+/- r/w/x 文件名
chmod o = rwx kaka
对照表2
字符 | 权限 |
u | 属主的权限 |
g | 属组的权限 |
o | 其他人的权限 |
a | 所有人 |
+ | 加入 |
- | 删除 |
= | 设定 |
特殊权限
1.suid:u+s
让进程的所属者不再属于它的发起者,而是属于程序文件本身。(suid只对二进制文件有效;调用者对该文件有执行权;在执行过程中,调用者会暂时获得该文件的所有者权限;该权限只在程序执行的过程中有效)
chmod u+s kaka
2.sgid:g+s
对于普通文件,以组的权限执行,修改/usr/bin/touch的g+s,touch文件后文件所属组为root(作用于普通文件时,和suid类似)
对于目录文件,目录的属组是谁,在目录下创建的文件的属组是目录的属组
3.sticky:o+t
不能够删除其他用户在同目录里创建的文件,可删除自己创建的文件
权限掩码——控制创建文件的全新啊
使用命令 umask查看权限掩码
已知权限掩码为0022
0 | 0 | 2 | 2 |
文件目前的特殊权限 | 文件属主拥有rwx权限 | 文件所属组失去w权限 | 其他人失去w权限 |
默认权限
普通文件的权限属性:666 减去022 = 644
目录文件的权限属性:777 减去022 = 755