【Linux从入门到精通】Linux中的权限管理(实例+详解)2

简介: 【Linux从入门到精通】Linux中的权限管理(实例+详解)2

2、3、4 chgrp 修改文件的所属组



修该文件的拥有者所用指令:chgrp 用户名 文件名 。我们可结合下图理解:

  我们发现,root用户可以修改本不属于它的文件的所属组。但所有用户都可这样吗?具体细节我们看下图:


b9873b690b014db6ad64b78d1f0cdeb5.png


当然,我们也可同时修改文件的拥有者和所属组,前提是你有相应的权限。具体如下:

2、4 目录权限设置

2、4、1 目录权限的基本设置


 上面我们学习了对普通文件的权限设置后,我们再看对目录权限的设置。对目录的权限都有哪些:


可执行权限(x): 如果目录没有可执行权限, 则无法cd到目录中;

可读权限(r): 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容;

可写权限(w): 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件。

 我们可结合下图实例学习:


30250bd10a7043408bd39d11548c9592.png

  上图是我们对目录缩小了可读 ‘ r ’ 的权限,再想访问该目录下的具体文件的信息是权限就被限制了。但是我们仍然可进入到该目录下,因为我们此时有 ‘x’ 可执行权限。为什么进入该文件需要可执行指令,因为文件在Linux下相当于一个可执行程序,执行它就等同于进入该文件。


 我们更改其他用户也无 ‘r’ 读权限。那要是在root用户下呢?


a845e916e87e44aca2d75edab7c4a251.png


事实证明,root用户仍可以读。再次体现root用户权限基本无限制。

 通过实例,我们再看一些具体目录权限的细节:

 那么问题来了如果我们想让Other可以在特定目录下创建文件,并且写入(对Other打开 ‘w’ 权限)。但是并不象让Other删除掉自己的任何文件(对Other限制 ‘w’ 权限),这似乎好像矛盾了,但在实际需求中又不可缺。因此就引出了粘滞位。我们接着往下看。


2、4、2 粘滞位详解


 粘滞位是什么呢?粘滞位也是一个权限。最常见的用法在目录上设置粘滞位,也只能针对⽬录设置,对于⽂件⽆效。则设置了粘滞位后,Other可以在该目录下创建文件并写入,但只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。


 通过对粘滞位了了解后,我们发现确实能够解决上面的矛盾和满足我们的需求了。那我们接下来就要看怎么设置粘滞位了。对目录设置粘滞位的命令是:chmod +t 目录名



66e63f2ca3a844ed871d7427a4082ff3.png


此时其他用户可以访问test_4_14目录,但并不能删除test_4_14目录下的文件,且只有test_4_14目录内文件的所有者或者root才可以删除或移动该文件。


 粘滞位还有一中应用场景。就是一个系统下可能会有很多用户,那就意味着就会有很多的临时数据。那临时数据都保存在哪里了呢?临时数据文件保存在了系统的 /tmp 目录下。


59814397e50a46c3b661168f51d1ee30.png


因为所有用户都要把临时数据放到系统的 /tmp 目录下(该目录本身属于root用户的),那么系统的 /tmp 目录的权限对Other要放开。但我们又不能让一个用户随意操作删除此目录下的其他文件,所以就设置了粘滞位。进而用户只能创建和操作属于自己的临时数据文件。


 当一个目录被设置为 " 粘滞位 "( 用 chmod +t), 则该目录下的文件只能由

超级管理员删除;

该目录的所有者删除;

该文件的所有者删除。

三、总结



这里给大家列出关于权限的总结:


目录的可执行权限是表示你可否在目录下执行命令。

如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)

而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

如果修改权限受限,仍想要执行该命令,可切换到root用户或者加上sudo;

root用户基本无权限限制;

普通用户收到权限限制。

相关文章
|
17天前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
178 73
|
29天前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
23 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
1月前
|
存储 Ubuntu Linux
Linux基础入门
Linux基础入门
16 1
|
26天前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
|
1月前
|
Ubuntu Linux Shell
Linux 终端入门
Linux 终端入门
16 0
|
1月前
|
安全 网络协议 Linux
保护你的 Linux VPS:入门指南
保护你的 Linux VPS:入门指南
15 0
|
2月前
|
Linux
Linux部署03---ls命令入门 ls直接用命令是列出目录下的内容,ls命令等同于双击打开文件夹,FinalShell默认的是在home目录下,工作目录
Linux部署03---ls命令入门 ls直接用命令是列出目录下的内容,ls命令等同于双击打开文件夹,FinalShell默认的是在home目录下,工作目录
|
2月前
|
Linux
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
|
2月前
|
监控 算法 Linux
Linux下工具tc详细讲解及限制IP和端口实例
TC (Traffic Control) 是Linux内核中提供的一个用于控制和管理网络流量的强大工具,它允许用户实现QoS(Quality of Service)策略,包括带宽限制、优先级控制、延迟保证等。TC基于内核的队列 discipline (qdisc) 和流量类别(class) 体系结构,允许对进入或离开网络接口的数据流进行复杂的整形和过滤。
188 0
|
2月前
|
Unix Linux
Linux中grep命令的高级用法与实例
Linux中grep命令的高级用法与实例