Linux权限相关问题
Posted 小倪同学 -_-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux权限相关问题相关的知识,希望对你有一定的参考价值。
文章目录
Linux权限的概念
Linux下有两种用户:超级用户(root)、普通用户。
超级用户可以再linux系统下做任何事情,不受限制,而普通用户在linux下做可做的事情是有限的。
在Linux中超级用户的命令提示符是“#”,普通用户的命令提示符是“$”,如下图
超级用户:
普通用户:
用户之的切换
语法: su [用户名]
功能: 切换用户
从root账号切换为普通账号:
从普通账号切换为root账号:
这里也可以通过Ctrl+D切回上次用户
Linux权限管理
文件访问者的分类(人)
- 文件和文件目录的所有者:u—User
- 文件和文件目录的所有者所在的组的用户:g—Group
- 其它用户:o—Others
文件类型和访问权限(事物属性)
使用指令ll,我们可以看到前面有一串字符,这串字符实际上就代表着该文件的类型和属性。
那么各个字符代表什么意思呢?
不同的字符代表不同的文件类型
- -:代表普通文件
- d:代表目录
- l:代表链接文件(类似于Windows当中的快捷方式)
- b:代表块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件
- s:套接口文件
基本权限
- 读(r):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写(w):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 执行(x):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- “—”表示不具有该项权限
文件权限值的表示方法
字符表示方法
8进制数值表示方法
文件访问权限的相关设置方法
改变文件的访问权限
语法: chmod 选项 权限 文件名或目录名
功能: 设置文件的访问权限。
常用选项: -R 递归修改目录文件的权限。
chmod指令权限值的格式:
格式一: 用户符号 +/-/= 权限字符
1)+:向权限范围增加权限代号所表示的权限。
2)-:向权限范围取消权限代号所表示的权限。
3)=:向权限范围赋予权限代号所表示的权限。
用户符号:
1)u:拥有者。
2)g:所属组。
3)o:other。
4)a:所有用户。
格式二: 三位八进制数字
改变文件的拥掩码
当我们新建一份文件时,它会有自己默认的权限
新建文件的默认权限为0666,新建目录的默认权限为0777。其中第一位的0与特殊权限有关,后面三位就是权限的八进制数值表示。
但实际上你会发现,你所创建出来的文件和目录的权限值往往不是我们所翻译出来的值,原因就是创建文件和目录的时候还要受到umask的影响,假设默认权限是mask,则实际创建出来的文件权限是:mask&(~umask)
语法: umask 权限值
功能: 查看或修改文件掩码。
我们可以通过设置掩码来改变默认创建文件权限
注意: 超级用户的默认掩码为0022,普通用户的默认掩码为0002。
目录的权限
我们已经了解文件权限,知道可读可写可执行对应的操作,那么目录的可读可写可执行又代表什么呢?
- 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
- 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
- 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
这时会出现一个问题
只要用户拥有某目录的可写权限,就可以删除该目录当中的文件,而不论该用户是否拥有该文件的可写权限,这显然是不合理的。
为了解决这个不合理的问题,Linux引入了粘滞位的概念。
粘滞位
语法: chmod +t 目录名
功能: 给目录加上粘滞位。
当一个用户将某一个目录加上粘滞位后,该目录的权限值的最后一位变为字符“t”。
此时另一个用户就算有该目录的可写权限,也无法删除该目录下的文件。
当一个目录被设置为粘滞位,则该目录下的文件只能由:
- 超级用户删除。
- 该目录的拥有者删除。
- 该文件的拥有者删除。
注意: 虽然目录被加上了粘滞位,但如果用户有该目录的可写权限,则不影响其在该目录下创建文件
以上是关于Linux权限相关问题的主要内容,如果未能解决你的问题,请参考以下文章