【Linux系统编程】系统用户和权限的操作--3

简介: 【Linux系统编程】系统用户和权限的操作--3

【Linux系统编程】系统用户和权限的操作--2https://developer.aliyun.com/article/1424555

3-2,所属组的更改

       chgrp指令用来修改文件或目录的所属组,使用方法和权限都跟chown一样,有些人可能没有使用root权限,但此文件或目录的拥有者为当前用户,此时,将所属组修改为当前用户也是可以的,但是这只是一个没有意义的特殊情况,其它情况均不可被修改,所有我们可直接认为只有root权限才可以修改。


使用方法:chgrp [要更改的所属组名称] [文件或目录]


f8ea2c1d12ea4352be469e62681f0016.png


3-3,同时修改拥有者和所属组

       chown指令不光可以修改拥有者,也可同时修改拥有者和所属组,使用权限也是root权限。


使用方法:chown [拥有者名称]:[所属组名称] [文件或目录]

a05b001d893648f68a7aa68ed49d9317.png



       这里要说明的是没有修改other的指令,因为在修改拥有者和所属组的部分情况就相当于other的修改,other的定义是除了拥有者和所属组以外的所有用户,所以在更换的同时就是更换other。


4,权限掩码

       首先,我们先思考一个问题,当我们创建一个普通文件或普通目录时,默认的起始权限为什么是这样的?这就跟系统下的权限掩码有关了,初始情况下,系统默认普通文件的权限为:666,目录文件的权限为:777。然后,系统会根据指定的一个的码进行修改,用 umask 指令可查看此码。


5b155cbc323645c7b18fdbad7be4babf.png


       先将此码用二进制的形式每三个为一组的展开:0002——>000 000 000 0010


       然后将默认的普通文件权限也按此形式展开:666——>110 110 110。


       普通目录展开为:777——>111 111 111。


       先将系统指定的这个码进行逻辑运算中的非运算(符号 ‘~’ ),然后跟系统默认文件或目录的权限进行逻辑运算中的与运算(符号 ‘&’),得到的结果就是创建文件或目录的起始权限。如下:


7fa7075fc20a41f687e0314e235761c2.png


      我们用 umask 指令查看的此码就是权限掩码,权限掩码也可使用 umask 指令来修改。


使用方法:umask [权限掩码]

e8651c5b6b5d4b31944a85bf2b5f1f0a.png


5,相同系统不同用户文件的互相使用

       在系统的操作中,不同用户间可进入到对方的目录中进行操作,如下图:


3836bf5f180843ddbac00f477e08142e.png


9dc71894cfe744939f1ed540525acd78.png


       我们使用root用户进入了110_user用户下进行了操作,且对所有用户的权限进行了限制,但当我们使用110_user普通用户时我们还可以进行删除操作,即使这是root超级用户所创建的文件。这时,总结出,一个文件能否被删除,并不取决于文件本身,而取决于文件所处的目录或拥有者是否具有 'w' 权限。


       说到这里我们就可能麻烦了,在小组工作中我们避免不了实现不同用户之间的文件共享,但无论是什么用户,只要是在另一个用户的目录下进行文件操作都防不住“删除操作”。系统其实专门给我们提供了一个/tmp目录,此目录为所有用户都打开了权限,是Linux系统专门为我们提供用于不同用户之间的文件共享,不同用户之间可在此目录下创建文件,操作完之后其它用户可在此目录下对其文件进行操作,进而实现文件共享,此目录可理解为共享目录。


       要说明的是/tmp这个目录的拥有者和所属组都是root,other的权限设置为 "rwt",'t' 是粘滞位,是给目录中的other设置的一个权限位,具有 'x' 意义,同时也进一步对目录权限进行特殊规定:即该目录里面的文件,只有root或者文件的拥有者才有权力对文件进行删除,其它人一概不允许对其删除,这样即实现了文件共享功能,也完善了“删除”功能。



相关文章
|
1天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
97 78
|
4天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
29 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
11 0
|
24天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
17 3
|
28天前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
30 1
|
28天前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
58 1
|
12天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
Linux
Linux查看操作系统版命令
Linux查看操作系统版命令
103 0
|
5月前
|
Shell Linux C语言
Linux初学者必备:全面掌握核心命令
Linux命令是操作系统的核心组成部分,用于管理和操作文件系统、网络、硬件资源以及执行各种任务。下面列出了一些常用的Linux命令及其基本用途,
101 1
Linux初学者必备:全面掌握核心命令
|
6月前
|
运维 安全 Unix
Linux操作系统 , 常用命令
Linux操作系统 , 常用命令