Linux文件与目录权限
看到了《鸟哥的Linux私房菜》中文件与目录部分,作一个总结
文件权限管理的意义
Linux可以实现不同的用户共同登陆系统,多人多任务环境是Linux的一大优点。同时为了保证每个用户的隐私不被侵犯,就需要将文件的权限管理起来,使得不同的身份的人对文件的操作权限不同。
文件的三种可读写身份
- 拥有者(owner)
- 所属群组(group)
- 其他人(other)
文件的属性
文件的类型权限
这一栏一共有10个字符
第一个字符代表这个文件的类型
[d] 目录
[-] 文件
[l] 链接文件(link file),相当于Windows系统下的快捷方式。
[b] 设备文件里可供存储的周边设备
[c] 设备文件里串行端口设备,如键盘,鼠标(一次性读取设备)
[p] 管道文件(FIFO),first in first out 先进先出文件。主要的功能是,解决多个程序同时 存取一个文件所造成的错误
接下来的字符中,三个为一组,且均为 [rwx] 的参数组合
[r] 可读(read)
[w] 可写(write)
[x] 可执行(execute)
[-] 表示不具备该权限
第一组为文件拥有者的权限 u
第二组为文件所属组的权限 g
第三组为其他人的权限 o
要注意,[d]目录 与 [-]文件 的权限的意义并不相同
总之就是一句话,rwx 对于文件来说,就是针对文件内容设计的权限。对于目录来说,就是针对目录内的文件列表来设计的权限
需要注意的是,如果目录下不具有x权限,就无法切换到该目录。
即使有r或w权限,也无法读取或编辑目录。
开放目录给任何人浏览时,至少也要给予 r 和 x 权限
特别注意:目录的 w 权限不可随便给。
如果用户拥有该目录的 w 权限,即使该用户没有目录中文件的任何权限,依然可以将文件删除。
就好像别人将一个保险箱放到你家,你虽然没有保险箱密码,但是可以将保险箱扔到垃圾堆里
修改文件属性与权限
1. 修改文件拥有者
chown + username + filename
2. 修改文件所属组
chgrp + groupname + filename
3. 修改文件的权限
chmod
数字类型修改文件权限
chmod + 数字权限 + filename
将每一组的 r w x 的三个位置看作三个二进制位
eg:r w x == 1 1 1 == 7
- - x == 0 0 1 == 1
所以各权限可以用数字来表示
r == 4
w == 2
x == 1
每种身份(owner,group,others)的各自三个权限(r,w,x)数字需要累加
eg: rwx rw- —
owner r+w+x == 4+2+1 == 7
group r+w+x == 4+2+1 == 6
others r+w+x == 0+0+0 == 0
所以该文件的权限用数字来表示为 760
符号类型修改文件权限
按以下顺序输入即可
eg:
这里我输入 chmod a-x test,就是将文件test的所有用户的执行权限删除。
上一篇: FreeRTOS STM32移植笔记
下一篇: php中使用引用和global