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,我们可以看到前面有一串字符,这串字符实际上就代表着该文件的类型和属性。


那么各个字符代表什么意思呢?

不同的字符代表不同的文件类型

  1. -:代表普通文件
  2. d:代表目录
  3. l:代表链接文件(类似于Windows当中的快捷方式)
  4. b:代表块设备文件(例如硬盘、光驱等)
  5. p:管道文件
  6. c:字符设备文件
  7. 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。

目录的权限

我们已经了解文件权限,知道可读可写可执行对应的操作,那么目录的可读可写可执行又代表什么呢?

  1. 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
  2. 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  3. 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

这时会出现一个问题
只要用户拥有某目录的可写权限,就可以删除该目录当中的文件,而不论该用户是否拥有该文件的可写权限,这显然是不合理的。

为了解决这个不合理的问题,Linux引入了粘滞位的概念。

粘滞位

语法: chmod +t 目录名
功能: 给目录加上粘滞位。

当一个用户将某一个目录加上粘滞位后,该目录的权限值的最后一位变为字符“t”。


此时另一个用户就算有该目录的可写权限,也无法删除该目录下的文件。

当一个目录被设置为粘滞位,则该目录下的文件只能由:

  1. 超级用户删除。
  2. 该目录的拥有者删除。
  3. 该文件的拥有者删除。

注意: 虽然目录被加上了粘滞位,但如果用户有该目录的可写权限,则不影响其在该目录下创建文件

以上是关于Linux权限相关问题的主要内容,如果未能解决你的问题,请参考以下文章

Linux - 用户权限相关命令

Linux基础 08Linux用户权限相关命令

linux 权限相关部分

linux权限相关

用户权限相关命令

用户权限相关命令