对文件/目录的权限
对每个特定文件/目录来说,全部用户分为三个集合:owner, group, others,不同集合对于该文件/目录有不同权限,而每个用户对该文件/目录的权限来自用户所属集合对该文件/目录的权限。
文件权限:r - 读文件内容,w - 写文件内容,x - 执行文件内容
目录权限:r - 读目录内容(得知目录内的文件/目录名。目录也是一个文件,读目录就是把目录当作一个文件读其内容。注意目录内容只包含目录下的文件/目录名及inode号码,文件/目录的性质记录在文件/目录自己的inode中),w - 写目录内容(如在目录下增删文件/目录。把目录当作一个文件写其内容),x - 进入目录执行任何命令(貌似对任何文件进行任何操作都需要在文件所属目录执行命令的权限,所以即使设置有w权限,若没有x权限依然无法对目录下文件进行任何操作(在目录中创建hard link应该是只写目录内容的,但这时想要在目录中创建hard link也不行,为何?)。若仅有x权限,则不可ls目录,不可增加删除目录下项目,但可以对目录下文件内容进行操作。)
权限的意义:
owner 可以修改文件/目录的权限,即能够执行 chmod,即无论当前权限设置为何,owner 总可以通过 chmod 命令让自己拥有文件的各种权限。但权限设置对 owner 也不是完全没用,比如可以防止误操作。
权限主要针对除 owner 外的用户,这些用户分为两类,即被授权的 group 和未被授权的 others。
root 不受权限限制,即使设置自己没有任何权限,也可以进行任意操作。(注意这里就体现root跟普通用户的区别了,其他账户若设置自己对自己拥有的文件没有某权限,则确实就无法使用这项权限了,从而防止误操作之类的。)
执行 chmod, chgrp, chown 的权限
root 总可以执行这三条命令。
普通用户可以对自己拥有的文件执行 chmod,并可以对自己拥有的文件通过 chgrp 修改文件的 group 为某个自己所属的 group。不能对非自己所有的文件使用这些命令,不能将自己拥有的文件的 owner 改为其他用户,不能将自己拥有的文件的 group 改为不包含自己的 group。
目录结构
Filesystem Hierarchy Standard (FHS),顾名思义,文件系统层次标准。