Linux用户分类和权限详解

Linux用户分类和权限详解

在这里插入图片描述



一、用户种类

linux系统中用户分为三类:

  1. root超级用户:root(超级管理员),UID为0,这个用户有极大的权限,可以直接无视很多的限制,包括读写执行的权限
  2. ftp系统用户:系统用户,UID为1~499。一般是不会被登入的,系统中系统服务由不同用户运行,更加安全,默认被限制登录系统。
  3. test普通用户:普通用户,UID范围一般是500~65534。这类用户的权限会受到基本权限的限制,也会受到来自管理员的限制。不过要注意nobody这个特殊的帐号,UID为65534,这个用户的权限会进一步的受到限制,一般用于实现来宾帐号。

UID和GID

  • UID,也就是用户 ID。每个用户都有唯一的一个 UID,Linux 系统通过 UID 来识别不同的用户。一般默认root用户UID是0。实际上,UID 就是一个 0~65535 之间的数,不同范围的数字表示不同的用户身份,具体如表所示:

在这里插入图片描述
且需要注意:
在这里插入图片描述

  • GID,全称“Group ID”,简称“组ID”,表示用户初始组的组 ID 号
  • GID 是用户组的编号,可以将多个用户加入到某个组中,方便指派任务或工作。每个用户在被创建时均会创建一个默认组(其GID与UID相同,叫作基本组或初始组),而后加入的组叫作扩展组或附加组。用户组名和GID则保存在 /etc/group 文件中。并且在 /etc/passwd 文件的第四个字段中看到的 ID 是这个用户的初始组。

初始组,指用户登陆时就拥有这个用户组的相关权限。每个用户的初始组只能有一个,通常就是将和此用户的用户名相同的组名作为该用户的初始组。
附加组,指用户可以加入多个其他的用户组,并拥有这些组的权限。每个用户只能有一个初始组,除初始组外,用户再加入其他的用户组,这些用户组就是这个用户的附加组。附加组可以有多个,而且用户可以有这些附加组的权限。

小结:linux下用户的ID分为两类:UID和GID。每个文件都有自己的拥有者 ID 和群组 ID,当显示文件属性时,系统会根据 /etc/passwd 和 /etc/group 文件中的内容,分别找到 UID 和 GID 对应的用户名和群组名,然后显示出来。


1)/etc/passwd

首先我们来看一下这个文件目录下保存了什么东西,效果如图:
在这里插入图片描述

  • 当然这里只是截图了一部分。那么看到这里你可能会蒙蔽,这么多用户哪来的。那么这里可以告诉你这些用户中的绝大多数是系统或服务正常运行所必需的用户,这种用户通常称为
    系统用户或伪用户
  • 系统用户无法用来登录系统,但也不能删除,因为一旦删除,依赖这些用户运行的服务或程序就不能正常执行,会导致系统问题。
    且每行用户信息都以 “:” 作为分隔符,划分为 7 个字段,每个字段所表示的含义如下:

用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell

  • 首先用户名,没啥好说的,就是代表用户的一段字符串,但是系统识别用户是用过UID来识别并且去分配权限,而/etc/passwd文件中就说明了用户名和UID的关系
  • 密码的话,“x” 表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件中。
  • 其次就是该文件是系统用户配置文件,所有的用户都具有可读权限

2)/etc/shadow

用于存储 Linux 系统中用户的密码信息,又称为“影子文件”。
且该文件只有root用户有读权限,这就保证了密码的安全性。
在这里插入图片描述
格式如下:

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

  • 加密口令 :使用SHA-512/SHA-256/MD5 算法加密后的密码,若为空,表示该用户无需密码即可登录,若为 “*” 表示该账号不能用于登录系统,若为 “ !! ” 表示该账号密码已被锁定,无法的登录。

3)/etc/group

在这里插入图片描述
格式:

组名:密码:GID:该用户组中的用户列表

4)/etc/gshadow

在这里插入图片描述

组名:加密密码:组管理员:组附加用户列表
个人的话是用不着的,企业里会用了解就好

二、文件权限

1.文件访问用户分类

对于linux的文件有三种不同的用户权限类型

  1. 文件或目录的属主 u —— User
  2. 与属主同组的用户 g —— Group
  3. 其他用户(超级管理员除外) o —— Others

2.文件访问权限

在这里插入图片描述
比如随便打开一个文件:

在这里插入图片描述

  • 对于第一个选项d表示的是文件类型:

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

  • 权限:

分为三种:

  1. 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏> 览该目录信息的权限
  2. 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有
    删除移动目录内文件的权限
  3. 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有>进入目录的权限
  4. “—”表示不具有该项权限
  • 那么用符号表示:

在这里插入图片描述

  1. 用8进制数表示:
    在这里插入图片描述

3.文件权限修改

chmod命令

功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名

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

1. 通过+/-权限字符修改文件访问权限

+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

比如说为文件text.txt的拥有用户增加可执行功能
在这里插入图片描述

2. 通过8进制数字修改文件访问权限

比如改变为640执行权限这里是引用

chown命令

  • 功能:修改文件的拥有者 格式:chown [参数] 用户名 文件名
  • -R:递归更改文件属组,就是在更更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

在这里插入图片描述

chgrp命令

  • 功能:修改文件或目录的所属组 格式:chgrp [参数] 用户组名 文件名
    在这里插入图片描述

umask命令

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

umask码详细解读

三、目录的权限

  • 在linux 环境下万物皆文件,目录也是,也具有读写和可执行三种权限。

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

  • 但是为了防止其他用户具有写目录的权限就可以删除我们的文件,因此需要用到粘滞位
						chmod +t test.txt

这样就可以避免被目录可写的访问者删除


总结

  • 目录的可执行权限是表示你可否在目录下执行命令。
  • 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限
  • 所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux系统中,每个文件都具有权限属性,包括文件的所有者、所属用户组和其他用户权限。除了这些明确的权限之外,还有一些隐含的权限控制文件的访问。 第一个隐含权限是"隐藏权限",也称为特殊权限。它用于给文件或目录添加一些特殊的功能。其中最常见的特殊权限是设置"SUID"和"SGID"位。当一个文件具有SUID设定时,它在执行过程中将暂时获取文件所有者的权限。这对于一些需要用户特权才能执行的程序非常有用。当一个文件具有SGID设定时,它在执行过程中将暂时获取文件所属组的权限。这对于一些需要共享访问权限的目录非常有用。 第二个隐含权限是"粘贴位",也称为"sticky bit"。它主要用于保护目录中的文件免受删除的风险。当一个目录设置了粘贴位时,只有文件的所有者才能删除该文件,其他用户无法删除。这对于一些共享目录非常有用,可以防止其他用户不小心删除其他人的文件。 另外一个隐含权限是"ACL",也称为访问控制列表。它允许用户更细粒度地控制文件的访问权限。通常情况下,文件的权限是通过文件所有者、所属用户组和其他用户权限来控制的。但是通过ACL,可以为特定的用户用户组提供特定的权限,覆盖了默认的权限设置。 总之,Linux文件的隐含权限包括隐藏权限(如SUID、SGID)、粘贴位和ACL。这些隐含权限可以提供更灵活和安全的文件访问控制,允许用户根据需要设置特殊的权限

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李 天 真

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值