Linux系统文件属性和权限

一、文件权限介绍

1.1权限位
Linux目录和文件的权限和所属用户,用户组关系很大,每个目录或者文件都有9个权限位。

Linux系统文件属性和权限_第1张图片
图片.png
[root@localhost ~]# ll
总用量 116
-rw-------. 1 root root  1110 5月  15 04:23 anaconda-ks.cfg
-rw-------. 1 root root   336 5月  15 10:20 keystonerc_admin
-rw-------. 1 root root   317 5月  15 10:20 keystonerc_demo
-rw-------. 1 root root 49573 5月  15 09:58 packstack-answers-20170515-095857.txt
-rw-------. 1 root root 49578 5月  15 09:58 tmp-packstack-answers-20170515-095856.txt

-rw------- 第一位就是表示文件类型的位,后面的9位就是权限位。

文件类型:-代表的是普通文件。

属主,属组(用户组),其他用户, 权限位。 包括:读,写,执行。
user, group,other.
1.2权限位介绍
9个权限位,3位为一组,分别属于文件的用户(user),文件的属组(group),其他组(other),包括读,写,执行。

修改文件权限:

chmod o-r file_01.txt  // 使用chmod命令对o(other)减去`read`权限对于`file_01.txt` 文件。

chmod o+w file_01.txt   //  other加write权限

下面是错误的,不能使用数字去代替权限

chmod o-7 a.txt

1)普通文件的权限位说明
可读:r 具有可读取文件内容的权限
可写:w 具有修改文件内容的权限(删除文件的权限,受父目录的权限控制)
可执行:x 具有执行文件的权限

2)目录的权限位说明:

可读:r 具有浏览目录内有什么文件的权限 ---浏览
可写:w 具有删除和移动目录内文件权限 ---修改
可执行:x 具有进入目录的权限 ---进入

chmod 的数字权限位表示法

r:4
w:2
x:1
-:0

权限数字位算法
如属主的权限是:r,w,x,则对应的数字=4+2+1=7
如属组的权限是:r,x,则对应的数字=4+0+1 = 5
如其它组的权限是:r,x,则对应的数字=4+0+1=5

属主:u
属组:g
其他组:o
所有: a

递归修改目录下面文件的权限
使用-R 参数,不能是小写。

遍历文件下面所有文件:

chmod 700 -R dir_2

注意:

 echo '111'>b.txt  
 echo "111">b.txt
 echo '111' > b.txt 

三者效果一样

查看目录属性

ll -d dir_a   // 查看dir_a 目录权限

总结:
修改文件权限和移动文件权限,要求有w,x权限都有,单独有w,或者单独有x,都不行。单独的w权限,没有作用。

注意:貌似我用root账户测试,上面的总结不对。

Linux文件与目录权限对比说明

r(Read,读取权限):
对文件(如oldboy)而言,表示具有读取阅读文件内容的权限。
对目录(如/etiantian)来说,表示具有浏览目录的权限(注意:与进入目录的权限不同)

w(Write, 写入权限):
对文件而言,表示具有新增,修改文件内容的权限。(注意:删除和移动文件和文件本身属性无关。)
对于目录来说:表示具有删除,移动目录内文件的权限。如果要在目录中创建文件或者目录必须有x权限。

x(Excute, 执行权限):
对文件而言,表示具有执行文件的权限。
对目录来说,表示具有进入目录的权限。

-:
若对应位置权限位为字符串“-”,表示对应用户没有读,写,执行的任何权限。

特别注意:
当删除或者移动一个文件或目录,仅与该文件与目录所在的上一层目录权限有关,与该文件本身属性无关,对于文件来说,写文件是修改文件,而不是删除文件,因此写文件是与改文件的本身属性有关系的。

你可能感兴趣的:(Linux系统文件属性和权限)