【Linux】一文带你掌握Linux权限!2

简介: 【Linux】一文带你掌握Linux权限!

chgrp

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

【语法】:chgrp [参数] 用户组名 文件名

常用选项:

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


注:这里跟chown一样需要提权或者使用root账号操作

eg:使用提权进行修改>


6f5ea5d9abc34ccbb9aab1373e9103c8.png

eg:使用root账号进行修改>


c7fa0f9968b347a5917a2826cc49bf13.png


当然我们也可以直接使用chown直接设置拥有者和所属组>


fe68824182f74448bca8fc0fb67446ce.png


问题五:其他问题(三个小问题)

文件的初始权限

我们创建两个普通文件和两个目录>


150a69ba04f947c8a4a33774d3a4a52d.png

这时候我们会有疑问>

  1. 为什么我们创建文件的默认权限是我们所看到的样子?
  2. 为什么普通文件:664
  3. 为什么目录文件:775

默认给普通文件的起始权限是666

默认给目录文件的起始权限是777


那为什么创建出来的不是666 和777呢?

这是因为我们存在umask(权限掩码)

c193ebb150a2404094f976458dd4cc76.png


当然umask是可以修改的>



480b858ab122451299e65c52ff7e63ac.png

可以看到当我们把umask改成000之后在创建新的文件他的起始权限就变成了666.

当我们想让创建的文件目录都不具备读和执行 我们可以把umask改为555(101 101 101)>


b80d9a5b9b364edba7426ccf91cfda11.png



可以看到我们创建出来的文件目录都没有读和执行的功能。


目录权限

目录的读、写、执行权限又代表的什么呢?

我们将目录的权限改为331>


50201897a3fc497e9ff0cd40e6c8b299.png

可以发现我们把他的读权限关掉之后我们就无法去查看目录中的文件。


8b34ea245f25462689caebd3aea3c817.png


在root权限下查看到我们的test1.c文件是被创建了。

现在我们再来去掉写的权限>


39cb1b796cea4f77b384a9846b50eb36.png


此时我们也无法创建文件了。

我们再来去掉可执行权限>


5166ba5c67344e06bb4407d9d83a574f.png


这时候我们发现我们已经无法进入dir1目录

我们再恢复dir1目录的读写权限关掉可执行权限>


ab9df1619aeb466e80c588f6afb5f3bd.png

可以看到我们虽然进不去,但是我们却可以查看里面的内容。

这个就好比上课迟到了,老师不让进教室,我们可以在窗外看到里面,虽然进不去但可以看到里面。



小结一下:

r:是否允许我们查看指定目录下的文件内容

w:是否允许我们在当前目录下创建、更改、删除

x:是否允许用户进入对应的目录!


粘滞位

普通用户自己的家目录权限是700,这也就表明我在家目录创建的文件,别人都看不到(root除外)。


41ddc80d11aa4d5c8d0fa425ec78be79.png

05ba6440fef64ad5b27889954e536e3c.png

可以看到我们是无法进入别人的目录去操作的(root除外)。

那么有时候我们想多个用户进行文件数据的共享->此时我们建的共享文件不能在任何一个人的家目录中。

此时我们就可以在根目录创建一个共享目录mytmp并将权限设置为777(使用root账户创建)>


3881bd979f2c4a9aad48370fdf5a5cc9.png此时我们就可以看到这个目录权限全部都放开了



d150595ef7474a069f7361c3c5000f08.png


我们用csdnyyds的用户在目录中创建一个test.txt的文件,并在里面写入数据。

再用xz_108用户去访问该目录>

d3fc3311a92a4077b763c615f22c7c4a.png


可以看到我们使用xz_108的用户可以看到里面的内容但是无法进行写入,那我们可以删掉别人的共享文件吗?

我们来试一试>


ac8fc440c80945629a1cca9820a80f43.png

我们可以看到不是自己的文件但是可以删除,这个属实有点不太合适。

但是一个文件是否能被删除并不取决于文件本身,而是取决于文件所在的目录。

那么又有人说了,我可以把mytmp目录的w功能删掉不就可以了? 但是这又出现了另一个问题,删掉w功能,我们就无法在里面创建文件,更别提文件共享了。

此时为了解决这个问题我们提出了粘滞位>

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

  1. 超级管理员删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除


697d54d331c74995ac86bc814ab1c239.png

我们再来使用csdnyyds中创建一个共享文件test.txt>



8513db40c5574d009a4f89442f12ff6f.png


我们再来用xz_108用户去查看共享文件>

c9441393cf9742168a3c5b1e85f9ebd5.png那我们这次可以删除吗?

37557506302f45f6a7000d2140c9074b.png可以看到加上粘滞位之后就无法删除别人的共享文件了。

一般我们Linux的根目录会有一个叫tmp的目录来实现文件共享>

337146a0f90a44878d5d200778bb14fd.png


我们能发现tmp的权限跟我们刚刚自己创建的mytmp共享目录的权限是一样的。

粘滞位:给目录设置,一般是共享目录,大家可以进行在目录进行各自文件的增改查,只允许文件拥有者或者root能制这个文件,其他人一概不允许,t是一种特殊的x权限!

关于权限的总结>

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

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

而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限

所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。


🍀小结🍀

今天我们认识了Linux中的权限相信大家看完有一定的收获。

种一棵树的最好时间是十年前,其次是现在! 把握好当下,合理利用时间努力奋斗,相信大家一定会实现自己的目标!加油!创作不易,辛苦各位小伙伴们动动小手,三连一波💕💕~~~,本文中也有不足之处,欢迎各位随时私信点评指正!

相关文章
|
11天前
|
安全 Linux 数据安全/隐私保护
Linux权限详解
Linux权限详解
|
21天前
|
Linux 数据安全/隐私保护 Windows
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
30 0
|
23天前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
1月前
|
Shell Linux 程序员
Linux:权限篇 (彻底理清权限逻辑!)
Linux:权限篇 (彻底理清权限逻辑!)
51 1
|
1月前
|
Linux Shell 程序员
【linux】权限
【linux】权限
43 2
|
1月前
|
存储 Linux 数据安全/隐私保护
Linux 权限
Linux 权限
|
22天前
|
Ubuntu 关系型数据库 MySQL
linux创建用户创建组删除用户以及组分配权限
linux创建用户创建组删除用户以及组分配权限
8 0
|
25天前
|
Shell Linux 开发工具
shell的介绍以及Linux权限的讲解
shell的介绍以及Linux权限的讲解
31 2
|
27天前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 设置终端机的写入权限 mesg 命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置终端机的写入权限 mesg 命令 使用指南
23 0
|
28天前
|
安全 Shell Linux
【Shell 命令集合 文件管理】Linux 设置文件创建时的默认权限掩码 umask命令使用教程
【Shell 命令集合 文件管理】Linux 设置文件创建时的默认权限掩码 umask命令使用教程
26 0