Linux用户和权限管理看了你就会用啦

linux用户权限管理 linux下可以对文件/目录等进行权限,属主,属组进行管理。来确保文件,目录的安全性。 阅读详情

前言

只有光头才能变强

回顾前面:

没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了。这篇主要将Linux下的用户和权限知识点再整理一下。

那么接下来就开始吧,如果文章有错误的地方请大家多多包涵,不吝在评论区指正哦~

一、Linux下的用户

Linux是一个多用户的系统,我们可以多个用户同时登陆Linux~

Linux中的账户包括

当一个用户同属于多个组时,将这些组分为

上面也说了,账户的实质上就是用户在系统上的标识,这些标识是用文件保存起来的:

也就是说:我们创建的用户,这个用户的信息由不同的文件来保存着。

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

有了上面的知识点,下面我来简述一下创建用户的时候会发生什么:

再来回顾一下:账户的实质上就是用户在系统上的标识,这些标识是用文件保存起来的。也就是说:我们是可以直接编辑修改系统账户文件来维护账户。

既然不建议我们直接编辑文件的方式来管理用户,那么Linux是肯定有现成的命令给我们使用的:

1.1管理Linux用户的命令

用户管理:

组管理:

批量管理用户:

组成员管理:

口令维护(禁用、恢复和删除用户口令):

口令时效设置:

640?wx_fmt=png

设置已存在用户的口令时效:

用户切换命令:

更多资料查询:

用户相关的命令:

1.2Linux用户的练习题

用cat命令,观察如下文件:/etc/passwd , /etc/shadow, /etc/group,/etc/gshadow;显示useradd命令添加用户参数的默认值

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

建立linux账户jkXX(XX为学生学号末两位),要求用户组为users,并设置密码;观察/etc/passwd和/etc/shadow文件的变化;退出root账户,用jkXX账户登录,在其主目录下建立一个myfirst文件,并用长格式列出myfirst文件

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

用root账户登录;添加组jsj;设置用户jkXX为jsj组用户,观察/etc/passwd、/etc/group和/etc/gshadow文件变化

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

添加一个新用户airXX(XX为学生学号末两位),观察新用户airXX的用户id和组id;然后删除该用户,注意不要在命令中加选项,观察用户文件和组文件的变化;观察airXX用户的目录是否存在;

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

shadow文件中密码为*号和!!代表什么?

答:*代表账户禁用;!!代表密码锁定。

airXX用户组id是多少?这个组是什么类型的组?这样做有什么好处?

答:air08用户组id是501,这个组属于私有组。每个未指定组的用户会建立一个同名的组,这样的组称为私有组,只有一个用户,既有利于防止信息泄露,也也有利于防止不合理的授权。总之,有利于安全管理。

默认情况下删除用户,但却保留了用户的主目录,这样做有什么好处?

答:保留用户目录,防止将用户目录下有价值的资料误删除。

用cat命令,观察文件/etc/passwd;仿照passwd文件的格式,用vi编辑一个新的文件,文件名为userXX(XX为学生学号末两位),文件包括3条记录,用户名分别为jkXX(XX为学生学号末两位),peter,jason,他们的用户id大于1000,组id大于1000,要求peter和jason同组;用命令newusers根据文件userXX的内容批量生成用户;观察/etc/passwd文件的变化。

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

用cat命令,观察文件/etc/shadow;用vi编辑一个新文件,文件名为mimaXX(XX为学生学号末两位),文件包括3条记录,每条记录用户名与上一步骤要求相同,密码自行设置,用户名和密码用冒号:隔开;用命令chpasswd根据文件mimaXX的内容批量生成密码;观察文件/etc/shadow变化;用命令chpasswd  -m再次批量生成密码,观察文件/etc/shadow变化;

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

退出root账户,用jkXX账户登录。退出jkXX账户,返回root账户,观察/etc/shadow文件;用passwd命令锁定用户jkXX,观察/etc/shadow文件变化;然后退出root账户,用jkXX账户登录,是否成功?


640?wx_fmt=png


640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

用chage命令查看peter账户的时间设置;重新设置peter账户的时间,要求两天内不能更改口令,且口令最长的存活期为 90 天,并在口令过期前 5 天通知用户,口令超期7天密码失效;用chage命令再次查看peter账户的时间设置

640?wx_fmt=png
640?wx_fmt=png

用root账户登录;用su切换到jason账户;用cd进入用户主目录;创建一个新文件abc,用长格式列出abc文件;观察文件的用户和组的属性

640?wx_fmt=png
640?wx_fmt=png

锁定账户后,shadow文件发生了什么变化?

答:锁定账户的密码之前会锁定标志!!

用su切换用户后,建立的新文件文件属于哪个用户?

答:新文件属于切换之后的用户。

两次执行chpasswd命令,结果是否相同?加密算法md5和sha512哪个更安全?

答:两次执行chpasswd命令结果不同,默认情况采用sha512加密算法;-m选项时,采用md5加密算法;sha512更安全,因为加密信息长度更长,破解计算量大。

建立三个普通用户账户,要求如下:用户名分别为jkXX(XX为学生学号末两位),peter,jason,其中jkXX和jason为相同普通组成员;观察/etc/passwd文件的变化。为jkXX账户添加root组;

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

分别练习id,groups,whoami,who命令,显示当前账户的信息;用su命令切换到jkXX账户,分别练习id,groups,whoami,who命令,显示当前账户的信息。用newgrp切换jkXX账户的组,分别练习id,groups,whoami,who命令,显示当前账户的信息

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

二、权限管理

Linux是多用户的操作系统,允许多个用户同时在系统上登录和工作。 为了确保系统和用户的安全,Linux自然就有自己一套的权限管理机制了!

相信用过Linux的同学在检索文件夹文件的时候常常用到ls -l的命令,会出来一大串的数据。这些数据你能读懂了吗?

例如:

    drwxr-xr-x   3  osmond   osmond    4096  05-16 13:32   nobposmond   osmond    4096  05-16 13:32   nobp

其实很简单:

640?wx_fmt=png

其实我们看权限就是看drwxr-xr-x这么一串东西,看起来很复杂,但不是的,一下就可以理解了。我们来分解一下:

640?wx_fmt=png

这9个字符每3个一组,组成 3 套 权限控制

rwx分别代表的意思:

640?wx_fmt=png

看到这里来,如果前面的你看懂了,那drwxr-xr-x这么一串东西我觉得你很容易就能理解了:

是不是很简单??r-read,w-write,x-execute,很好理解的。

对于这些rwx命令为了方便还可以换成八进制的数据来表示,我相信大家看完下面的demo也知道其实就这么一回事了:

640?wx_fmt=png

权限的优先顺序:

2.1管理Linux权限的常用命令

例子:

640?wx_fmt=png
640?wx_fmt=png

2.2权限扩展知识

上面提到了umask属性,它用来做这样的东西的:默认生成掩码告诉系统当创建一个文件或目录时不应该赋予其哪些权限。

640?wx_fmt=png

除了上面所说的权限之外,Linux还提供了三种特殊的权限:

它们是这样表示的:

例如:drwxrwxrwt 5 root root  4096   06-18 01:01 /tmp它就拥有sticky-bit权限。-rwsr-xr-x 1 root root  23420  2010-08-11  /usr/bin/passwd它就拥有SUID权限

SUID,SGID,sticky-bit同样也有数字的表示法:

640?wx_fmt=png

使用的例子:

640?wx_fmt=png

Linux内核中有大量安全特征。EXT2/3/4文件系统的扩展属性(Extended Attributes)可以在某种程度上保护系统的安全

常见的扩展属性:

常用命令:

2.3权限管理练习题

用root账户登录,创建一个文件aaaXX(XX为学生学号末两位),用长格式查看文件权限;用chmod命令,文字设定法,给aaaXX文件同组增加写属性,观察结果;用chmod命令,数字设定法,给aaaXX文件设置权限为766,观察结果;

640?wx_fmt=png

切换到peter账户,查看当前umask是多少,观察结果;创建一个目录foldXX(XX为学生学号末两位),查看其权限;创建一个新文件bbb,查看其权限;改变unmask为066,创建一个新文件ccc,查看其权限

640?wx_fmt=png
640?wx_fmt=png

切换到jkXX账户;创建一个文件myfile,观察其属性;用chgrp改变文件myfile组属性为root;试着去改变文件myfile主属性为root,可以吗?切换到root账户,改变文件myfile主属性为root,观察结果

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

数字设定766代表文件权限是什么?

答:766代表文件权限为rwx-rw-rw-

为什么用jkXX账户改变文件myfile的属主失败?

答:因为chown只有root账户才可以使用

Umask为022和066对新创建的文件属性影响一样吗?为什么?

答:影响当然不一样,umask定义的是默认不应该获得的权限,066比022转换成为二进制数后,多了两个限制比特位。

以root账户登录,复制/usr/bin/dir文件到用户主目录,用长格式列出,设置文件的suid和sguid为1,用长格式列出;切换帐号为jkXX,运行复制过来的文件dir(注意运行当前路径下的文件要带上路径,例如./dir);

640?wx_fmt=png
640?wx_fmt=png

切换到jkXX账户,进入/tmp目录,建立文件夹myfold,设置文件夹myfold权限为777,并且sgid和sticky-bit为1,用长格式列出,观察myfold的属性;进入myfold,创建新文件aaa,设置属性为任何人可读可写,用长格式列出;切换到jason账户,进入/tmp/myfold目录,删除aaa文件,是否可以删除?

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

root账户,进入用户主目录;创建一个文件bbb文件,查看文件的扩展属性;给文件bbb添加扩展属性i,然后试着删除该文件,是否成功,怎样才能删除;创建一个ccc文件,给文件ccc添加扩展属性a,用长格式列表/bin目录并重定向输出到ccc文件,观察ccc文件长度的变化,用长格式列表/etc目录,并重定向输出到ccc文件,是否成功

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

切换到jkXX账户,在/tmp目录下创建一个目录myshare,用getfacl查看myshare目录文件访问控制表;设置myshare文件夹对于jason用户权限为rwx,查看文件访问控制表的变化;切换到jason账户,进入myshare文件创建文件yyy,是否成功;切换到peter账户,进入myshare文件创建文件zzz,是否成功,为什么?

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

myfold目录下,为什么jason账户不能删除一个任何人都可读可写的文件?

答:因为文件所在的文件夹myfold被它的所属者jk08设置了stickybit位,该文件夹下面的所有文件,只有文件所属者,以及root用户才能删除。

为什么peter账户在在myshare文件夹里面不能创建文件?

答:因为myshare文件夹,属于jk08用户,只有jk08对该目录具备rwx权限。此外,采用facl的方式,给jason用户开放了该目录的rwx访问权限;peter既不是文件夹的拥有者,也没有在facl中开放rwx权限;依据权限设置情况,peter只有该文件夹的rx权限。因此,不能创建文件。

添加扩展属性a后,用重定向将输出内容给ccc文件,可能会失败,怎样才能输出成功?

答:应该采用追加方式的重定向>>,可以在文件末尾添加内容,这样才符合文件扩展属性a的安全规定。

三、总结

本文主要是总结了Linux下操作用户和权限的知识~~~这两个知识点在Linux下也是很重要的,是学习Linux的基础~

继续完善上一次的思维导图:

640?wx_fmt=png

如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y。为了大家方便,刚新建了一下qq群:742919422,大家也可以去交流交流。谢谢支持了!希望能多介绍给其他有需要的朋友

文章的目录导航:


基于Simulink的电源纹波抑制仿真 电源纹波(Power Supply Ripple)是指直流电源输出中存在的交流分量。纹波的存在会导致电压波动,进而影响负载设备的性能和寿命。为了确保高质量的电源输出,通常需要设计有效的滤波电路来抑制纹波。Simulink 提供了一个强大的仿真环境,可以用来设计、分析和验证电源纹波抑制方案。本教程将详细介绍如何使用 Simulink 进行电源纹波抑制的仿真实例。通过本教程,我们详细介绍了如何使用 Simulink 进行电源纹波抑制的仿真实例。背景介绍:理解电源纹波及其对电力电子系统的影响。仿真建模过程。 阅读详情

相关推荐

Claude Code vs Codex

Claude Code 提供了一个生产就绪(production-ready)的实现,包含良好的错误处理、优雅的关闭逻辑、详细注释和文档,以及内置测试。Claude Code 输出了一个可运行的 Next.js + TypeScript 前端,但错过了一些设计里的黄色主题元素;Codex 则生成自己的版本,没有导出设计中的图片,也没严格遵照设计主题。Codex 完成同样功能,但更简洁直接,文档和注释少一些但功能达标。任务都用同样的提示,使用 TypeScript 实现,并在一天内完成。

weixin_49869937的博客 2388

一个不错的shell 脚本教程

一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂! 建立一个脚本   Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。

昊的专栏 5万+

如何把ORCAD 中的修改同步到PADS 中

Generate ECO file(*.eco),eco 文件的默然保存地址是在pads 的。ECO Files (*.eco),接着在文件中找到所生成的eco 文件,找到。再下来是产生eco 文件,先打开old_design.pcb,然后选择。PCB Design 前面的选项选中,意思把当前文件做为原始的比对。安装目录下(可修改eco 文件的保存目录),这里把eco 文件保存。接下来用新生成asc 文件的文件产生新的PCB 文件,新生成。不对新生成的pcb 做任何的修改,直接保存文件,这里把新文件。

智光工作室 993

linux用户前面的数字,【Linux】用户和组的管理

目录前言一、用户和组群文件1、用户和组群概述2、用户和组群配置文件用户帐户文件:组群文件:/etc/login.defs文件二、用户账户的创建和管理1、新建用户useradd或者adduser命令2、设置用户口令passwd命令chage命令3、用户帐户维护修改用户帐户禁用和恢复用户帐户删除用户帐户三、组群管理1、维护组群账户2、为组群添加用户四、使用用户管理器管理用户和组群用户管理器新建用户修改...

weixin_35473090的博客 1143

无人机基本组成部件

无人机基本组成部件

qq_37410522的博客 1万+

安装Quartus-II 13 和Modelsim

目录一、Quartus-II安装1.Quartus-II 13下载2.Quartus-II 13安装3.Quartus-II 13注册二、Modelsim安装 实验目的:安装Quartus-II 13 和Modelsim 实验环境:Windows10 参考资料:Quartus-II安装及使用 一、Quartus-II安装 1.Quartus-II 13下载 正点原子官方资料下载 百度网盘下载链接: https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA 提取码:

qqq080的博客 8627

理解Linux文件权限——第七章

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33995481的博客 232

SAP FI 会计科目表(COA)可直接套用配置模板

摘要:本文提供了SAP S/4HANA环境下可直接套用的会计科目表(COA)配置模板,包含科目编码规则、号段规划、科目组设置等核心内容。模板采用10位数字编码,按资产(1000)、负债(2000)、权益(3000)、成本(4000)、收入(5000)、费用(6000)六大类划分号段,并预设科目组控制字段状态。适用于集团/单一公司、国内/跨国企业场景,支持多表架构映射,配置完成后可通过事务码SAKO验证科目清单。模板遵循"前4位固定一级科目"原则,企业可根据行业特性调整明细科目。

金牌架构师 267

linux 创建用户授予权限,Linux新建用户并授予sudo权限

本文仅作存档参考。本文以Ubuntu18.04为例,其他发行版仅需步骤基本一致。新建用户sudo adduser hanada此时会要求输入用户密码以及用户个人信息等内容。根据引导输入即可。添加公钥sudo mkdir /home/hanada/.sshsudo touch /home/hanada/.ssh/authorized_keyssudo chown -R hanada /home/ha...

weixin_39609354的博客 820

手把手教你学pcie--(PCIe) 写请求的流程

通过上述流程,我们可以看到PCIe写请求的完整过程,包括请求的构建、发送、接收、处理和响应。这种请求-响应模型确保了数据传输的可靠性和有序性。

MHD0815的博客 158

基于工作流的低代码AI应用开发:Flock平台核心架构与实战指南

在AI应用开发领域,工作流编排正成为连接大语言模型(LLM)能力与复杂业务逻辑的关键技术。其核心原理是将任务分解为模块化节点,通过可视化方式定义执行顺序与数据流向,从而实现灵活可控的自动化流程。这种范式极大地提升了开发效率,降低了技术门槛,使得开发者能够聚焦于业务设计而非底层代码。在技术价值层面,工作流编排支持检索增强生成(RAG)、多智能体协作等高级模式,并能通过人工干预节点确保关键流程的可靠性与合规性。其典型应用场景包括智能客服、自动化办公、数据分析助手等。本文以Flock平台为例,深入解析了如何利用其

weixin_26848497的博客 381

Linux添加用户及用户权限管理

Linux添加用户及用户权限管理 1.新建用户(组) ①用户 新建用户需要通过指令useradd来实现。 useradd的一些基本用法如下: useradd username 新建一个用户 useradd -u uid username 指定用户的uid useradd -g gid username 指定用户的gid(一定要存在) useradd -G gid useradd 指定用户的附加组(...

panqidong95的博客 26万+

爆肝5万字❤️Open3D 点云数据处理基础(Python版)

本文为Open3D 点云数据处理基础教程(Python版),小白也能轻松上手!还等什么呢,学起来!

孙悟空 13万+

Linux用户组和权限管理

每一个用户在创建的时候,都会有一个专用的同名用户组在安装系统时,一般将初始用户设置为管理员,所以初始用户还会有一个管理员组(wheel)上下文:我所处的环境(用户身份信息,工作场地环境,资源权限环境)范例日志-- 通常,日志文件都有一个后缀.log。

YHXu_的博客 2193

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Linux用户和权限管理

用户账户:用户通过账户来使用计算机组账户 :用户账户的集合。

admin838374841_的博客 1583

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【Linux】用户和权限管理基本命令详解

本篇博客将介绍一些常用的Linux用户和权限管理基本命令,帮助读者更好地理解和运用这些命令。通过本文的介绍,我们了解了一些常用的Linux用户和权限管理基本命令,这些命令对于保护系统安全、合理分配权限以及管理用户和用户组都至关重要。在Linux系统中,用户组是一种将多个用户组织在一起的机制,方便对用户进行管理和权限分配。以下是一些常用的用户组管理命令,通过它们,你可以轻松地创建、修改和删除用户组,从而更好地管理系统中的用户。通过此命令,你可以方便地为系统添加新的用户组,以便更好地组织和管理用户。

double222222的博客 3668

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Linux用户管理和权限管理

Linux中用户类型以及范围的相关文件和命令的解析,对于ll文件列出的文件或目录的整体说明

变成我...... 1257

Linux用户权限管理

在Linux系统中,用户权限管理是一个复杂且重要的任务。为了确保系统的安全性和稳定性,Linux引入了多种机制来管理用户和权限。

如无必要,勿增实体。 983
上一篇: Spring AOP就是这么简单啦
下一篇: Linux用户和进程管理
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值