Linux---用户的权限

专栏:Linux
个人主页:HaiFan.
本章为大家带来用户的权限的讲解

用户的权限

  • Linux权限的概念
  • 权限的三类对象
  • 权限的三种类型
  • 权限设置chmod/chown/chgrp
    • 更改权限chmod
    • chown
    • chgrp
  • umask
  • 目录的权限
  • 粘滞位

Linux权限的概念

Linux下有两种用户:超级用户(root),普通用户

  • root:可以在linux下做任何事情,不受任何限制。
  • 普通用户:在Linux下做有限的事情。

在Linux中,输入指令的时候,前面都有一个符号(#or$),前者是root的命令提示符,后者是普通用户的提示符。

可以通过su [用户名]来切换用户(切换为root用户的时候可以直接su -或者su root(root可以省略)),此时系统会进入root用户的口令。

直接su的话呢,在进入超级用户pwd后和进入root之前是一样的

su -的话,进入rootpwd后,是不同的

权限的三类对象

  • 属主:u(user)
  • 属组:g(group)
  • 其他人:o(other)
  • 特殊对象:所有人:a(u+g+o) a->(ALL:全部)

权限的三种类型

  • 读:r = 4 — read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  • 写:w = 2 — write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  • 执行:x = 1 — execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
  • -表示不具有该项权限

在这里插入图片描述

1.cpp文件中,第一位是一个 -,它代表的意思是普通文件。

  • d:文件夹
  • -:普通文件
  • l:软连接(类似于windows中的快捷方式)
  • b:块设备文件(如硬盘,光驱等)
  • p:管道设备
  • c:字符设备文件
  • s:套接口文件

-后跟的有rw-rw-r–,这个可以三三分开,前三位代表文件所有者的权限,中三位代表文件所属用户组的权限,后三位代表其他用户权限。

权限只有两种情况,有或者无,有的话该位置就用r/w/x字母表示,无的话就用-表示

1表示的是连接数

后面的两个sxk,第一个表示所属用户,第二个表示所属用户组

在后面的112就是文件大小

然后就是文件最新修改日期和文件名称

权限设置chmod/chown/chgrp

更改权限chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

选项:

  • R-> 递归修改目录文件的权限
  • 说明:只有文件的拥有者和roor才可以改变用户的权限

用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表示的权限—假如该文件的拥有者权限是rw-,在使用chmod u+=x之后,拥有者权限会变成rwx
  • -:向权限范围取消权限代号所表示的权限—道理同上
  • =:向权限范围赋予权限代号所表示的权限 – 假如该文件的拥有者权限是rw-,在使用chmod u+=x之后,拥有者权限会变成–x

用户符号:

  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户 — 比如 chmod 664 文件名字 可以将文件的拥有者权限,所属组权限,其他人权限改为rw-rw-r–

chown

功能:更改文件的拥有者

格式:chown [参数] 用户名 文件名

Linux---用户的权限_第1张图片

chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

  • -R 递归修改文件或目录所属组

umask

umask

功能:
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
格式: umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用
户默认为0002。
实例:

# umask 755
# umask //查看
# umask 044//设置

目录的权限

  • x:如果目录没有可执行权限,则无法cd到目录中
  • r:如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容
  • w:如果目录没有可写权限,则我发在目录中创建文件,也无法在目录中删除文件

那么,如果另一个用户也可以看到我的这个目录,只要有w权限,另一个用户就可以删除掉我的这个目录。

Linux---用户的权限_第2张图片

我先创建了一个目录,然后给这个目录的ugo权限都为7,然后使用另一个用户(A)进入我创建的这个目录one,并进去,ll之后可以看到我创建的two文件,A可以删除two文件。

B创建的文件凭什么被你A给删了。

对于这一问题,Linux引入了粘滞位这一概念。

粘滞位

chmod +t 目录/文件 #加上粘滞位
Linux---用户的权限_第3张图片

在我想用另一个用户去删除我创建的文件的时候,我先添加了粘滞位,将o的x权限变成了t,另一个用户在删除我的文件的时候,就会出现 Permission denied—没有权限


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

  • root删除
  • 该目录的所有者删除
  • 该文件的所有者删除

你可能感兴趣的:(Linux,linux,运维,服务器)