权限都是针对某些账号来设计的。
注意目录和文件权限的意义并不相同,这是因为目录和文件所记录的数据内容不相同所致。
进入目录是执行(x)操作。
ls -al 展示的基本信息:
第二栏表示有多少文件连结到此节点(i-node)
每个文件都会将它的权限与属性记录到文件系统的i-node中,这个属性记录的就是有多少不同的文件连结到一个相同的i-node上。
root基本上不受系统权限的限制,所以无论文件权限为何,root都可存取。
chgrp: 改变属组。
改变的属组必须在/etc/group文件内存在,否则报错。
$ sudo chgrp root -R brid_brother # 把群组改为root
-R: 递归变更
chown: 改变属主
改变的属主必须在/etc/passwd文件内存在,否则报错。
还可顺便修改属组。
$ sudo chown root -R brid_brother
$ sudo chown root:root -R brid_brother
使用chgrp、chown的情况有哪些:例如把root下的.bashrc文件复制给yangxl,因为cp命令会复制执行者的属性与权限,所以yangxl依然无法修改复制过来的文件,这时就必须修改属主和属组
Windows下一个文件是否可执行是由扩展名来判断的,而在Linux下,是由是否具有x权限来决定的。
w权限不具备删除该文件的权限,rwx是针对文件的内容而言的。
目录权限:
r: 具有读取目录结构列表的权限(即可以查看该目录下的文件名,可以使用ls命令)。
w: 修改该目录结构列表的权限:
1). 建立新的文件与目录
2). 删除已经存在的文件与目录(不论该文件的权限为何)
3). 将已存在的文件或目录重命名
x: 代表用户可以切换到该目录(cd),可以在该目录下执行各种指令(比如ifconfig),ls tree 这些查看目录结构的命令不能执行,除非有r权限)
注意,w权限的操作必须在有x权限的情况下才能进行。
一个访问网站的例子:如果开放目录数据给网上的任何人浏览,只开放r权限,就会导致用户只能看到文件名却不能浏览文件内容。至少要有r和x权限,但w权限不能给,否则用户能任意增删、重命名文件。
drwxrwxrwt 12 root root 4096 3月 19 16:00 tmp/ # 任何人都有全部权限
示例:有两个文件夹:
dir1/file1
dir2
很多时候dir1都不必有r权限。可以把目录比喻为一个抽屉,r 权限表示抽屉里有灯光,可以看到抽屉内的所有文件,但没有灯光时,也可以摸黑拿到file1 文件,所以r权限不是必须的。只是,没有r权限,无法使用tab 自动补全。
同时,修改、执行、复制文件需要文件的r 权限。