权限随处可见,在生活中,腾讯非VIP用户不能观看VIP视频,看小说也需要会员,所以权限是限制人的,一件事是否允许被谁做。在Linux系统中也有许多权限,访问文件需要权限,进入目录需要权限,更改执行文件也需要权限。
Linux系统上有两种用户:
对于两种用户可以用如下命令进行切换
命令:su
实例:
要从root用户切换到普通用户,则使用su+用户名。要从普通用户切换到root用户这使用su+root(root可以省略),此时系统就会提示输入root用户密码。
文件访问者可分为:
文件类型
- d:目录
- -:普通文件
- l:链接文件
- b:块设备文件(block、磁盘)
- p:管道文件
- c:字符设备(键盘、显示器)
- s:网络socket文件
文件具有的权限属性
r:可读
w:可写
x:可执行
-:无权限
如下图:
对于test.txt文件拥有者具有可读、可写、不具有可执行权限,文件所属组具有可读、可写、不具有可执行权限,其他用户具有可读、不具有可写和可执行权限。
可读:对于文件而言,具有读取文件内容的权限;对于目录来说,具有浏览该目录信息的权限
可写:对于文件而言,具有修改文件内容的权限;对于目录来说,具有删除移动目录内文件的权限
可执行:对于文件而言,具有执行文件的权限;对于目录来说,具有进入目录的权限
权限的表示方式也可用八进制数来表示:
例如:rw- 可用二进制110表示,r– 可用二进制100表示,对于rw-rw-r– 用八进制可表示为 664
Linux | 说明 | Linux表示 | 说明 |
---|---|---|---|
r- - | 只读 | - w - | 仅可写 |
- -x | 仅可执行 | rw - | 可读可写 |
- wx | 可写可执行 | r - x | 可读可执行 |
rwx | 可读可写可执行 | - - - | 无权限 |
权限符号(读写执行) | 八进制 | 二进制 |
---|---|---|
r- - | 4 | 100 |
- w - | 2 | 010 |
- -x | 1 | 001 |
rw - | 6 | 110 |
r - x | 5 | 101 |
- wx | 3 | 011 |
rwx | 7 | 111 |
- - - | 0 | 000 |
功能:设置访问者权限
格式:chmod 权限 文件名
1)用户符号+/-= 权限
- +:增加权限
- -:取消权限
- =:赋予权限
- u:文件拥有者
- g:文件所属组
- o:其他用户
- a:所有用户
实例:
2)用八进制数
实例:
功能:修改文件的拥有者
格式:chown 用户名 文件名
此命令只有root用户拥有使用权
实例:
功能:修改文件或目录的所属组
格式:chgrp 用户组名 文件名
此命令只有root用户拥有使用权
实例:
功能:查看或修改文件掩码
格式:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时的预设权限。超级用户默认掩码值为0022,普通用户默认为0002
新建文件夹的默认掩码权限为0666
新建目录的默认权限为0777
但是实际上你所创建的文件和目录,看到的权限往往不是上面的值。因为创建文件或目录的时候还要受到umask的影响。
实例:
umask:查看掩码
umask 755:设置掩码
功能:辨识文件类型
格式:file 文件或目录
常用选项:
-c:详细显示指令执行过程,便于拍错或分析执行的情况
-z:尝试去解读压缩文件的内容
实例:
- 可执行权限(x):如果目录没有可执行权限,则无法cd到目录中。
- 可读权限®:如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容
- 可写权限(w):如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件
注意: 如果目录没有-x权限,则无法对目录执行任何命令,也无法cd 进入目录,即使目录仍有-r 读权限。而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但是没有目录的读权限,即可以执行ls命令,但仍然没有权限读出目录下的文档。
那么,在使用Linux的时候,未来会有一些共享目录,被所以的普通用户使用,这个时候,在共享目录中自己创建的文件,就容易被其他人删除。
为了解决这个问题,Linux引入了沾滞位的概念
注意:共享目录一般都是root提供的。
设置沾滞位,就会让别人无法删除我的文件
实例:
如上图所示,共享目录设置沾滞位用:chmod+t 命令。
这时,该目录下的文件就不会被别人删除。
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由: