第一个字符代表文件类型。d代表目录,-代表非目录。
接下来每三个字符为一组权限,分为三组,依次代表所有者权限,同组用户权限,其它用户权限
每组权限的三个字符依次代表是否可读,是否可写,是否可执行
r 表示拥有读的权限 4
w 表示拥有写的权限 2
x 表示拥有可执行的权限 1
- 表示没有该权限
分析1:
-rw-r--r--. 1 root root 0 May 2 21:12 20180502.log
第一个-代表非目录,所有者权限rw-,有读写权限,没有可执行权限;r--所有者所在组其他用户权限,只有可读权限;其他用户r--,也只有可读权限。
drwxr-xr-x. 3 root root 4096 Apr 27 22:37 Desktop
第一个d代表目录,所有者权限rwx,有读,写,可执行权限;所有者所在组其他用户r-x,有读、可执行权限;其他用户有读,可执行权限;
drwxr-xr-x. 3 root root 4096 Apr 27 22:37 Desktop;第一列代表权限,第三列代表所属用户,第四列代表 所属的组。
修改权限
可用chmod命令来修改文件权限。-R是目录下所有文件
1、文字设定法
chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
![](https://img.haomeiwen.com/i12348040/06e2517042354151.png)
2、数字设定法
4代表读权限,2代表写权限,1代表执行权限
7=4 + 2 + 1,表示拥有可读可写可执行权限
5=4 + 1,表示拥有可读可执行权限,但是没有写权限
0 代表没有任何权限
以此类推
思考下为什么是4,2,1分别代表读写执行权限,而不是其它数字?
我们知道计算机最底层编码都是二进制,即0,1。要表示一个文件读写执行权限,底层只需一个字节,即8位即可。
约定从右数起第3位为1,代表拥有读权限;第2位为1,代表拥有写权限;第1位为1,代表拥有可执行权限。为0,则没有相应的权限。
即二进制转换成十进制,0000 0100 = 4, 0000 0010 = 2, 0000 0001 = 1。即4,2,1分别代表相应二进制位为1,也即拥有相应权限。这也是上面所提问题的原因所在,这样说大家就更容易记住这些数字代表的含义了
chown 命令
用途:更改文件的所有者或组。命令由单词change owner组合而成。
修改文件和文件夹的所属的用户和用户组
chown jepson:jepson xxx.log
将xxx.log文件改为用户jspson以及用户所在组jepson
chown -R jepson:jepson xxxdir
将xxxdir目录及目录下文件改为用户jspson以及用户所在组jepson
chown -R jepson:jepson xxxdir/*
将xxxdir目录下文件改为用户jspson以及用户所在组jepson
网友评论