目录
1. Linux的权限概念
2. Linux权限管理
2.1 文件访问者的分类
2.2 文件类型和访问权限
2.3 文件权限的表示法
2.4 文件访问权限的相关方法
3. 目录的权限
3.1 粘滞位
Linux下有两种用户: 超级用户(root)和 普通用户
如何从普通用户切换至超级用户?
命令:su -
功能:从普通用户切换至root用户
文件类型:
- d:文件夹
- -:普通文件
- l:软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件(例如屏幕等串口设备)
- s:套接口文件
访问权限:
- 读(r):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写(w):对文件而言,具有修改文件内容的权限;对目录来说具有修改目录内文件的权限
- 可执行(x):对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- "-"表示不具有上述权限
1. 字符表示法
Linux表示 | 说明 | Linux表示 | 说明 |
r-- | 只读 | -w- | 只写 |
--x | 只运行 | rw- | 可读可写 |
r-x | 可读可运行 | -wx | 可写可运行 |
rwx | 可读可写可运行 | --- | 无权限 |
2.八进制表示法
权限 | 八进制 | 二进制 |
r-- | 4 | 101 |
-w- | 2 | 010 |
--x | 1 | 001 |
rw- | 6 | 110 |
r-x | 5 | 101 |
-wx | 3 | 011 |
rwx | 7 | 111 |
--- | 0 | 000 |
1.chmod方法
功能:修改访问者对于文件或者目录的权限 (但需要注意修改的文件或者目录必须是属于自己的)
格式:chmod [参数] 选项 文件名
常见选项:
常见参数:
举例:
1.可以通过逗号来完成多访问者的权限修改
2.可以通过a来帮助我们完成整体修改
3.可以通过八进制来完成整体修改
2. chown方法
功能:修改文件的拥有者
格式 :chown [用户名] 文件名
但是当我们将自己的东西送给他人时,我们也需要经过他人的同意才能将其送出,因此我们需要使用sudo来提升我们的权限,可以强制送出
举例:
当我们直接修改拥有者时,操作是不被允许的,但当我们加上sudo来强化我们的权限时,结果会怎么样呢?
我们会发现刚才的报错消失了,并且文件的拥有者改成了lwn,说明我们已经将我们的文件送出了
3. chgrp方法
功能:修改文件的所在组
格式 :chgrp [用户名] 文件名
与chmod方法相似
举例:
4.umask
功能: 查看或修改文件掩码
新建目录的默认权限是777,新建文件的默认权限是666
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。
所以当我们创建一个新目录时,目录的权限是775,创建一个新的文件时,文件的权限是664
原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & (~umask)
默认情况下umask的值是002
我们也可以修改umask的值
当我们将umask修改为000时,我们可以看到目录和普通文件的原始权限分别为777和666
目录的权限分为三种,与文件的权限类似:
如果一个用户拥有某个目录的写权限,那就可以修改这个目录中的任意文件
那么如果一个目录是共有的,任何人都能够随机删除别人的文件,那这不是乱套了,因此Linux引入了粘滞位这个概念
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由: