用户、群组和权限

article/2025/8/21 21:57:58

参考  用户、群组和权限 - 云+社区 - 腾讯云

Linux系统的安全措施:

Linux系统所采取的安全措施如下,用户登录系统时必须提供用户名和密码,以用户和群组来控制访问文件和其他资源,每个文件都属于一个用户并与一群文件相关,每个进程都与一个用户和群组相关联。

用户及passwd文件:

在Linux系统中用户具有如下特性:每一个用户都有一个唯一的用户标识符,用户名和UID都存放在/etc/passwd文件中,在口令文件中还存放了每个用户的家目录、以及该用户登录后第一个执行的程序,如果没有相应的权限就不能读、写或执行其他用户的文件。

/etc/passwd文件中的内容:

在/etc/passwd文件中记录了每个用户的信息,每一个用户都占用一行记录,以冒号分隔成7个字段(列),其中第一个记录是root用户的。这7个字段的具体含义为:

1.记录的是这个用户的名字

2.如果是x,表示该用户登录系统时必须使用密码,如果为空则该用户在登录时无需提供密码

3.记录的是这个用户的uid

4.记录的是这个用户所属群组的gid

5.记录的是有关这个用户的注释信息

6.记录的是这个用户的家目录的路径

7.记录的是这个用户登录后,第一个要执行的进程

shadow文件:

/etc/shadow文件存储了所有用户的密码,每一个用户占用一行记录,它实际上是存放用户密码的数据库。

群组及相关文件:

Linux系统中群组(groups)具有如下特征:每个用户一定隶属至少一个群组,而每一个群组都有一个groups标识符------即gid。群组和对应的gid都存放在/etc/group文件中,系统创建用户时为每个用户创建一个同名的群组文件并将该用户加入到这个群组中、也可以加入到其他群组中。如果有一个文件属于某个群组,那么该群组中所有的用户都可以访问这个文件。

group文件中的内容:

/etc/group文件存放了所有群组的信息,它实际上是一个存放群组信息的数据库,每个群组占用一行记录。每个记录以冒号分隔成4个字段:第1个字段是这个群组的名字,第2个字段的x表示该群组在登录时必须使用密码,第3个字段记录的是这个群组的gid,第4个字段记录的是该群组里还有哪些其他的成员。

root用户及文件的安全控制:

在每个Linux系统上都一定有一个root用户,root用户也被称作超级用户、有至高无上的权限。root可以完全不受限制地访问任何用户的账户和所有的文件及目录。每一个文件(或目录)具有3种类型的权限:

1.这个文件(或目录)的所有者的权限

2.与所有者用户在同一个群组的其他用户的权限

3.既不是所有者也不与所有者在同一群组的其他用户的权限。

文件操作权限:

Linux系统的文件操作权限包括:

r:表示read权限,即可阅读文件或使用ls命令列出目录内容的权限

w:表示write权限,即可编辑文件或在一个目录中的创建和删除文件的权限

x:表示execute权限,即可执行程序或使用cd命令切换到该目录以及使用带有-l选项的ls命令列出该目录中详细内容的权限等

-:表示没有相应的权限(与所在位置的r、w、或x相对应)

用户及文件的控制:

系统上的每个文件都一定属于一个用户(一般该用户就是文件的创建者)并与一个群组相关。通常一个用户可以操作属于他自己的文件(或目录),也可以访问其他同组用户共享的文件,但是一般是不能访问非同组的其他用户的文件,root用户并不受这个限制,该用户可以不受限制地访问Linux系统上的任何资源。

查看文件的权限:

以带有-l选项的ls命令查看文件上的权限,显示结果的第1列的第1个字符表示文件的类型,紧跟其后的9个字符是该文件或目录的权限。

表示权限的每个字符的含义:

第2~4个字符为第2组、定义了文件所有者的权限、使用u代替所有者(owner)对文件的所有权限。第5~7个字符为第3组、定义了文件所有者所在群组中其他成员所具有的权限、使用g代表这一组权限。第8~10个字符为第4组、定义了其他用户对文件所具有的权限使用o代表这一组(other)权限。

在第2、3、4组中,每一组的第1个字符都是r,表示具有读权限,若是-,表示没有读权限。在第2、3、4组中,每一组的第3个字符都是w,表示具有写权限,若是-,表示没有写权限。在第2、3、4组中,每一组的第3个字符都是x、表示具有执行权限,若是-,表示没有执行权限。

Linux依照下图的流程验证一个用户或群组是否有权限存放一个文件或目录:

                         

以符号表示法设定权限:

chmod [-R] mode 文件或目录名 -R表示不但要设置该目录权限而且还要递归地设置该目录中所有文件和子目录的权限。mode为存取模式/状态,一下为权限状态的汇总表:

例:

在dog_wolf文件上添加所有者和同组用户的可执行权限:

chmod ug+x dog_wolf

在babydog目录上为其他用户添加上一个写权限:

chomd o+w babydog

以数字表示法设定权限:

以一组三位数字表示文件上的权限状态,第1个数字代表所有者(owner)的权限(u),第2个数字代表群组(group)的权限(u),第3个数字代表其他用户(other)的权限(o)。每一位数字所表示资源权限状态为:4:表示具有读(read)权限,2:表示具有写(write)权限1:表示具有执行(execute)权限,0:表示没有相应的权限。以上数字相加就得到一个范围在0~7之间的一个数字,而这一组0~7的数字就是表示所有者、同组和其他用户权限状态的数字。

管理和维护用户和群组:

在Linux上每一个用户都有一个内部的ID号码,每一个群组的名称都有一个内部的ID号码,这些ID号码的信息以数字的方式存储在文件中,Linux通过这些ID管理和维护用户和群组。

与用户和群组相关的系统文件:

前面介绍的那些ID和其他的验证信息都以纯文本方式存储在如下文件中:/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow。

/etc/shadow文件:

存放用户密码,即所谓使用者的密码数据库,每一行的第1个字符是用户名,第2个字段是该用户的密码,如果第2个字段以$1$开头表示该用户已经设定了密码,紧跟其后的鬼画符为MD5加密后的密码。

系统使用者和系统群组:

存放在/etc/passwd文件,第3个和第4字段为用户ID和群组ID,LInux将1~499之间的号码(包括1和499)保留给内建的系统用户和系统群组使用,这些系统用户和系统群组对某些系统服务和应用程序具有控制的权限。

passwd命令的使用:

使用passwd命令修改密码和查看密码状态,普通用户只能修改自己的密码,Linux要求普通用户的密码必须足够安全,root用户修改的密码可以不安全,root用户可以修改其他用户的密码,root用户可以查看其他用户的密码状态,使用带有-S或--status选项的passwd命令查看。

su命令:

su - dog命令要重新设置环境变量,使用-在用户切换后系统重新启动login shell,即重新装入当前用户的环境变量,su dog命令不重新设置环境变量,su - 和 su - root命令都是切换到root用户,用su从root用户切换到普通用户时不需输入密码。

默认系统提示符的含义:

[dog@dog ~ ]$、[root@dog ~ ]#:$ 符号表示当前用户是一个普通用户,#表示当前用户是root用户,@之前的dog和root为用户名,@之后的dog为主机名(没有包括域名) ~ 表示当前用户的家目录。

获取与用户相关信息的命令:

groups ~ 确定dog用户所属的群组:

[root@dog ~ ] # groups

root bin daemon sys adm disk wheel

id ~ 不但可以获取当前用户所属的群组、还可以获取群组的ID以及用户ID和用户名:

[root@dog ~ ]# id

uid = 0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),10(wheel)

last ~ 列出用户登录系统和重启LInux系统时间的历史记录

Linux系统的默认权限设定:

文件系统的默认权限是666 ------- rw-rw-rw-

目录系统的默认权限是777 ------ rwxrwxrwx

以上并不是最终的文件和目录的权限,要经过掩码挡掉某些不需要的默认权限才能最后产生用户所需的文件和目录的最终权限。普通用户的默认掩码(umask)为002,root用户的默认掩码(umask)为022,使用umask命令来确定当前用户目前的掩码。

文件的最终权限:

文件系统默认权限是666,普通用户默认掩码为002、经过掩码遮挡后other的写权限被遮挡掉,最终文件的权限为664,root默认掩码为022,经过掩码遮挡后group和other的写权限都遮挡掉、最终这个文件的权限是644。文件系统默认权限为666,而这回umask为033,当666与033相减之后所得的结果为633,而该文件的最后权限应该是644。

特殊权限:

特殊权限分为suid、sgid和sticky 3种权限,suid借用用户权限的可执行权限位并以s表示,sgid借用群组权限的最后一位并以s表示,sticky借用其他用户权限中最后一位并以t表示。

添加suid特殊权限例子:

有一文件,其所有用户都有执行权限,而有一目录,其所有用户都没有执行权限。如果要在该文件上加入suid特殊权限,因为文件的所有者本来有执行权限,所以LInux系统就会使用小写的s替换这一位的x。如果在这个文件上加入sgid特殊权限,因为文件的同一群组本来就有执行权限,所以Linux会使用小写的s替换这一位的x。如果在这个目录上加入sgid特殊权限,因为目录的同意群组本身没有执行权限,所以Linux会使用大写的S替换这一位的x。

添加sticky特殊权限的例子:

如果在该文件上加入sticky特殊权限,因为文件的其他用户本来就有执行权限,所以Linux会使用小写的t替换这一位的x。如果在该目录上加入sticky特殊权限,因为目录的其他用户本身没有执行权限,所以Linux会使用大写的T替换这一位的x。

特殊权限对可执行文件的作用:

将suid和sgid特殊权限设定在可执行文件上所具有的特性如下:suid将可执行文件所有者权限来运行这一命令,而不是以执行者的权限来运行该命令。sgid特殊权限与suid类似,是以可执行文件的群组的权限运行这一命令(可执行文件)的。普通用户之所以可以执行ping命令是因为是因为在ping可执行文件上设置了suid特殊权限。

ping命令的工作原理:

ping是使用ICMP网络协议,LInux内核中设定只有root才有权控制ICMP封包。为了使其他用户有权使用ping,必须在ping可执行文件上设置suid权限而其他用户都有执行权限、并且ping的所有者为root用户。

特殊权限对目录的作用:

将sticky和sgid特殊权限设定在目录上所具有的特性如下:如果在一个目录上设置了sticky特殊权限,只有文件的所有者和root用户才可以删除该目录中的文件,而Linux不会理会group或other的写权限。如果在一个目录上设置了sgid特殊权限,只要是同一群组的成员,都可以在这个目录中创建文件。通常会对目录同时设置stickyhesgid这两个特殊权限以方便项目管理。


http://chatgpt.dhexx.cn/article/TOYXq4Sk.shtml

相关文章

企业微信外部群和内部群有什么区别?如何创建外部群

一、企业微信外部群和内部群的区别 1、成员来源渠道不同 企业微信内部群的群成员必须是同一公司的企业微信用户,而外部群是可以同时含有不同企业的企业微信用户与个人微信用户的。 PS:需要注意的是,因为微信和企业微信是两个不同的平台&…

如何搜索添加大量高质量微信社群

是不是想快速大量的添加高质量的微信社群,但是苦于找不到,甚至要花大量时间去找而头疼呢?现在看完下面的步骤,你如果还不明白怎么快速加群,那就怪小编:(全免费的) 每天更新大量的群&…

免费计算机群,获得大量的微信群的三种方法

随着微信的普及,微信群已经成为人与人们之间重要的交流工具之一, 这让一些想要从微信群了解到信息的人也蠢蠢欲动,那要怎么样获得大量的微信群呐?送你这三招。 方法一、微信群互换 通过“微信群互换”的前提是需要我们拥有一个以上的微信群&…

不加群提取群成员_快速提取PPT上的文字!

大家晚上好! 众所周知,PPT的主打功能是展示,是利用一张一张的幻灯片来展示内容。如果是课件,需要收整PPT的内容来复习,有什么办法可以快速提取PPT上的字呢?下面琉璃为小伙伴介绍三种快速提取的方法。 准备工…

不加群提取群成员_钉钉群机器人如何快速集成?无需API代码开发对接企业CRM,营销,表单,OA,客服和其他内部系统...

钉钉群机器人介绍 钉钉(DingTalk)是中国领先的智能移动办公平台,由阿里巴巴集团开发,免费提供给所有中国企业,用于商务沟通和工作协同。钉钉群机器人是钉钉系统的内置功能,可以理解为是一个群提醒通知工具&…

快速找出QQ群成员中不在名单内的人

快速找出QQ群成员中不在名单内的人 Created: Aug 15, 2020 10:21 PM Tags: Python, 计划中 Updated: Aug 17, 2020 10:45 PM 需求背景 最近在帮老师处理一些新生报道的事情,有一个需求是确认已经进群的同学是否在报道名单内以及哪些同学不在名单内,如…

QQ群成员提取+拉群源码 附带成品软件

介绍: 此次源码加入了拉QQ好友入群功能,都是常规写法, 完善了好友列表的获取,分享给一些不会写的还找不到的。 网盘下载地址: http://kekewangLuo.cc/zrfzhA07D2y 图片:

QQ群成员Q号提取

Step1: 登录QQ群管官网 Step2: 将js代码复制,在浏览器按ctrld添加收藏夹 javascript:(function(){var res<textarea rows"10">;var gmbdocument.getElementById("groupMember");var mblistgmb.getElementsByClassName(list);for(var i0;i<mblist…

不加群提取群成员_QQ群排名优化技术教程

核心技能1&#xff1a;组名 很多人在进行QQ小组营销&#xff0c;并且小组名称设置相对随机。用户看到组名后&#xff0c;就没有吸引力&#xff0c;导致大量用户流量丢失。 您可以从QQ名称设置中提取您自己的群组的主题关键字&#xff0c;然后将其合并到群组名称中。当潜在用户在…

不加群提取群成员_使用itchat分析指定微信群男女比例等成员数据

效果&#xff1a; itchat 首先要安装这个库。相关教程可以参考这个百度经验。 https://jingyan.baidu.com/article/ca41422f9a06ff5eaf99ed36.html​jingyan.baidu.com 前提 电脑要安装python。 微信群必须保存到通讯录&#xff01;&#xff01; 打开IDLE&#xff0c;并新建文件…

Camtasia Studio2020序列号激活使用介绍

Camtasia Studio软件和其他录制软件不同&#xff0c;不论是编辑功能还是制作功能还是其他功能方面都远远高于其他录制软件。那这边我们可以一起了解一下基础软件功能。 首先&#xff0c;我们在电脑端安装了软件以后&#xff0c;进行实际操作。在操作界面下&#xff0c;我们可以…

CorelDRAW X8 /CDR2020官方序列号密钥下载矢量绘图软件

CorelDRAW是一款专业的矢量绘图软件&#xff0c;该软件是Corel公司推出的矢量图形制作工具&#xff0c;经历二十多年的发展与蜕变&#xff0c;CorelDRAW Graphics Suite系列又有了新的突破&#xff0c;CorelDRAW X8应运而生。其完善的内容环境和强大的平面设计功能为设计师提供…

PS PhotoShop CS5 CS6 序列号 安装

PS PhotoShop CS5 CS6 序列号 安装 PS PhotoShop CS5.rar 1.32G ps PhotoShop CS6 1.3G 正版下载地址&#xff1a;http://kuai.xunlei.com/d/v-GFCwLAHwA0D2VR823 技术支持&#xff1a;Q:445994676 转载于:https://www.cnblogs.com/zigongdaihong/archive/2013/04/21/zigong.ht…

Windows-空硬盘安装系统

Windows-空硬盘安装系统 &#xff08;备注1&#xff1a;主要针对vostro3800机型&#xff0c;其他部分机型也适用&#xff09; &#xff08;备注2&#xff1a;装机软件为大白菜&#xff09; 第一步&#xff1a;开机前插入系统U盘&#xff0c;然后开机&#xff0c;按F2进入BIOS系…

计算机系固态硬盘机械硬盘,直观:如何在固态硬盘+机械硬盘上安装系统_IT /计算机_资料...

首先&#xff0c;BIOS&#xff0c;进入SATA模式并更改为AHCI或Raid(如果要执行Raid)&#xff0c;请不要使用IDE。其次&#xff0c;进行分区&#xff0c;4K对齐并安装系统。为什么要进行4K对齐&#xff1f;目前&#xff0c;用于读取和写入64G和128G SSD的基本块大小为4KB。 4K对…

通过虚拟机安装Ubuntu系统到移动硬盘

写在前面&#xff1a;启动盘装系统进移动硬盘EFI启动项在windows的EFI分区。用虚拟机安装会将所有的关于Ubuntu的数据都放在移动硬盘。理论上该方法可以安装所有版本系统&#xff0c;这里使用20.04版本的Ubuntu.1.准备移动硬盘&#xff0c;分区或不分区都可以2.官网下载Ubuntu镜…

计算机装系统找不到硬盘,安装系统找不到硬盘怎么办

近来有些小伙伴反映安装系统时找不到硬盘了。硬盘是存放系统的主要途径&#xff0c;找不到硬盘就无法安装系统。可是明明电脑上安装了硬盘怎么检测不到呢?这和我们的BIOS设置有直接关系。今天&#xff0c;我就教大家设置BIOS找到硬盘的小技巧。 安装系统找不到硬盘解决方法 1、…

关于nvme固态硬盘安装系统的一点经验

事情的起因是因为自己想攒一台台式机,赶着降价先把固态硬盘买了回来,金士顿的A1000 nvme 250G ,买回来以为系统和平时一样。结果发现大部分的老毛桃,大白菜,黑鲨,微PE均不能很好识别NVME格式的硬盘, 还把自己笔记本的机械硬盘格式化了一个分区,幸好没有什么重要资料。 …

笔记本光驱改固态硬盘装系统小记

很多人的笔记本的光驱位置都是空置的&#xff0c;或者有光驱都比较少用&#xff0c;这时候在光驱位置加一个SSD固态硬盘作为系统盘就能提升一下旧电脑的运行速度&#xff0c;具体的光驱拆开改固态可以百度一下&#xff0c;每台笔记本的位置不一样&#xff0c;相应的拆法也是不一…

计算机怎么硬盘重做系统,如何对新的硬盘安装系统进行分区并重新安装系统计算机分区教程...

如何对重新安装系统进行分区&#xff1f;如何对刚购买的计算机的新安装系统进行分区&#xff1f;一些用户对硬盘分区不是很熟悉. 实际上&#xff0c;硬盘分区非常简单. 无论是新硬盘还是旧硬盘&#xff0c;分区方法都相同. 让我们看一下如何对硬盘进行分区. 硬盘分区的先决条件…