一、文件系统和安全
chmod命令
chmod命令有两种模式,一种是符号模式,用ugo执行用户,用rwx执行权限;另一种是绝对模式,用八进制不同位置的不同值来代表不同用户的不同权限。
- 符号模式
chmod命令的格式为 chmod [who] operator [permission] filename
其中[who]的取值可以为
u:文件属主的权限
g:用户所在组的权限
o:其他用户权限
a:所有用户权限
如果省略[who]参数,会同时为u和g设置权限,即同时为属主和用户所在组设置权限
operator取值为
+:增加权限
-:取消权限
=:设定权限
permission
r:读
w:写
x:执行
另外还有s,t,l,u,g,o不常用
命令举例,
chmod +x temp //为属主和所用所在组增加执行权限
chmod a-w temp //收回所有用户的写权限(当然属主自己执行的话已然会有w权限)
绝对模式
绝对模式下,chmod命令的格式为 chmod [mode] file
[mode]是一个八进制数,八进制数与用户对应关系如下,
文件属主可读
文件属主可写
文件属主可执行 属组用户可读
属组用户可写
属组用户可执行 其他用户可读
其他用户可写
其他用户可执行
将相同类型用户所拥有的权值相加就是这类用户最终的权限,
例如
令属主可读写并能执行,则权值为4+2+1=7
属组可读不可写可执行,则权值为4+0+1=5
其他用户可读不可写不可执行,则权值为4+0+0=4
最终我们设置权限的命令就是 chmod 754 filename
用下面方式表达更直观,
文件属主:r w x: + +
属组用户:r w x: + +
其他用户:r w x: + +
硬连接和软连接
文件节点
在linux底层,并不是按照文件名来唯一标识一个文件,而是通过文件节点(inode)来标识的。
硬连接
Hard Link就是建立多个不同文件名,但是文件节点相同的文件(即在底层属于同一个地址空间),用命令 ln f1 f2
软连接
也叫符号链接(Symbolic link)就是建立元文件的一个文本文件,保存着原文件的位置信息,访问软连接文件也等同于访问原文件,类似windows的快捷方式。
软连接与硬连接的区别在于删除文件,如果删除一个文件,对它的硬连接文件不会有影响(相当于硬连接文件取代了原文件),但是其软连接文件不再是有效文件。
下面举例说明,
随便新建一个文件 echo agfgfgfdg3fsfsdf > f1
新建硬连接 ln f1 f2
新建软连接 ln -s f1 f3
如果修改f3 echo 23423423 >> f3
会发现f1和f2都被修改了
cat f3
agfgfgfdg3fsfsdf
cat f2
cat f3
agfgfgfdg3fsfsdf
cat f1
agfgfgfdg3fsfsdf
如果删除f1, 会发现其硬连接f2已然可访问,但是软连接f3已经无效了,
cat f3
cat: f3: No such file or directory