我们知道,一个文件它的权限情况是怎样的,可以使用用“ls -l”查看详细信息这样一条指令,但显示出来的 "rwxrwxrwx"究竟是什么意思呢?就让我们来了解一下。
r(read)——读:对文件查看该源文件内容,对目录有查看的权限。
w(white)——写:对该源文件进行编辑,可以移动、新建、修改、删除该目录中的内容。
x(eXecute) ——执行/运行:运行该文件和目录。
前三个"rwx"代表该用户,中间三个"rwx"代表该用户所属组,末尾三个“rwx”代表其他用户。
需要注意的是,末尾的rwx代表的是其他用户而不是所有其他用户,这里区别还是很大的。
在此前提下,我们需要了解一个指令:chmod
chmod分为符号模式和数字模式两种,通常数字模式比较常用。虽然如此,但我们也不能不知道符号模式是什么意思:
1:符号模式
chmod u/g/o/a +/-/= r/w/x 源文件名或源目录名
u:用户本人
g:用户所属组
o:其他用户
a:包含以上三种,即所有用户。
rwx:略,因为以上已写。
+:赋予、给予、增加、使…获得
-:收回、取消、移除
=:设置
例如:ls -l 007.txt
(一个-,被和谐了) rw–rw–r-- 1 (略) 007.txt
chmod o-r 007.txt (取消其他用户对007.txt文件的读权限)
chmod o+x 007.txt (赋予其他用户对007.txt文件的运行权限)
chmod ug-rw 007.txt (取消用户和其所在组对007.txt文件的读写权限)
chmod a-rwx 007.txt (取消所有用户对007.txt文件的所有权限,再次ls -l时会出现9个’-’。)
2:数字模式:
数字模式一般用三个数字来表示,第一个数字代表用户,第二个数字代表用户所属组,第三个数字代表其他用户,每个数字的输入范围只支持0 – 7的整数,输入其他数字,比如输入’8’、“-1”、“3.5”会提示“无效模式”,即输入的指令无法被识别,这就跟为什么int是int一样,那么我们来看看“0 – 7”它们都分别代表什么。
0 —— 无权限 ————————— —
1 —— 仅运行 ————————— --x
2 —— 仅写入 ————————— -w-
3 —— 写 + 运行 ———————— -wx
4 —— 仅读 —————————— r–
5 —— 读 + 运行 ———————— r-x
6 —— 读 + 写(读写) ————— rw-
7 —— 所有权限 ———————— rwx
因为每个数字都代表不同的权限,所以在运用时只要记住规律便可以即轻松又准确,如:
chmod 777 007.txt (使所有用户获得对007.txt文件的所有权限)
chmod chmod 644 007.txt (使用户获得读写权限,用户所属组和其他用户获得读权限)
chmod 555 (使所有用户获得读+运行权限)
当然这也是比较常用的数字权限。另外,创建的目录默认只有其他用户不可写“775”,创建文件为用户和其所在组只能对其读写,其与用户只能读的“664”。
tips: 对于运行一个未被赋予运行权限中所含有的文件,是不被系统允许的,前提是你要获取这个目录的使用权限或者在其他具备运行权限的目录下创建一个该文件的软连接。
另外对于root(管理员)权限的说明,root模式是一个强大且危险的模式,如果你对其不了解请慎重输入: sudo -s 进入root模式。