Linux关于文件与目录的权限管理,一篇就够了

简介: 1.Linux权限概述Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。


1.Linux权限概述


Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。


为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。


在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:


chown (change owner) : 修改所属用户与组。

chmod (change mode) : 修改用户的权限。

下图中通过 chown 来授权用户,通过 chmod 为用户设置可以开门的权限。



a342e91cd83a43c6805baea427150688.png


2.文件目录权限解析


在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:


──(root㉿kali)-[~/Desktop/temp2]
└─# ll     
total 8
drwxr-xr-x 2 root root 4096 Sep 14 04:34 asd
drwxr-xr-x 3 root root 4096 Sep 14 04:43 temp


实例中,第一个属性用 d 表示。d 在 Linux 中代表该文件是一个目录文件。


在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等👍


当为 d 则是目录

当为 - 则是文件;

若是 l 则表示为链接文档(link file);

若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);

若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。


每个文件的属性由左边第一部分的 10 个字符来确定(如下图)


272f2ea22547427ba96187bddd1a116e.png


从左至右用 0-9 这些数字来表示。


第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。


第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。


其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;


第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。


3.Linux文件属主和属组


对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。


同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组


文件所有者以外的用户又可以分为文件所属组的同组用户和其他用户


因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限


对于 root 用户来说,一般情况下,文件的权限对其不起作用😢


4.更改文件属性


更改文件属组


语法:


chgrp [-R] 属组名 文件名


参数选项

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

例如下面的这个例子,修改文件属组为master:


┌──(root㉿kali)-[~/Desktop]
└─# chgrp master total.tar.gz
┌──(root㉿kali)-[~/Desktop]
└─# ll
total 16
drwxr-xr-x 2 root root   4096 Sep 14 04:34 asd
drwxr-xr-x 3 root root   4096 Sep 14 04:43 temp
drwxr-xr-x 4 root root   4096 Sep 14 04:52 temp2
-rw-r--r-- 1 kali master  192 Sep 14 04:49 total.tar.gz


更改文件属主


更改目录下面的total.tar.gz属主为kali用户:


┌──(root㉿kali)-[~/Desktop]
└─# ll     
total 16
drwxr-xr-x 2 root root 4096 Sep 14 04:34 asd
drwxr-xr-x 3 root root 4096 Sep 14 04:43 temp
drwxr-xr-x 4 root root 4096 Sep 14 04:52 temp2
-rw-r--r-- 1 root root  192 Sep 14 04:49 total.tar.gz
┌──(root㉿kali)-[~/Desktop]
└─# chown kali total.tar.gz
┌──(root㉿kali)-[~/Desktop]
└─# ll
total 16
drwxr-xr-x 2 root root 4096 Sep 14 04:34 asd
drwxr-xr-x 3 root root 4096 Sep 14 04:43 temp
drwxr-xr-x 4 root root 4096 Sep 14 04:52 temp2
-rw-r--r-- 1 kali root  192 Sep 14 04:49 total.tar.gz


更改文件权限


Linux文件属性有两种设置方法,一种是数字,一种是符号。


Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。


各权限的分数对照表如下:


r:4

w:2

x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx- - -分数则是:


owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0


所以等一下我们设定权限的变更时,该文件的权限数字就是 770。变更权限的指令 chmod 的语法是这样的:


chmod [-R] xyz 文件或目录


选项与参数:

xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。

-R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

举例来说,如果要将 total.tar.gz 这个文件所有的权限都设定启用,那么命令如下:


┌──(root㉿kali)-[~/Desktop]
└─# ll      
total 16
drwxr-xr-x 2 root root   4096 Sep 14 04:34 asd
drwxr-xr-x 3 root root   4096 Sep 14 04:43 temp
drwxr-xr-x 4 root root   4096 Sep 14 04:52 temp2
-rw-r--r-- 1 kali master  192 Sep 14 04:49 total.tar.gz
┌──(root㉿kali)-[~/Desktop]
└─# chmod 777 total.tar.gz   
┌──(root㉿kali)-[~/Desktop]
└─# ll
total 16
drwxr-xr-x 2 root root   4096 Sep 14 04:34 asd
drwxr-xr-x 3 root root   4096 Sep 14 04:43 temp
drwxr-xr-x 4 root root   4096 Sep 14 04:52 temp2
-rwxrwxrwx 1 kali master  192 Sep 14 04:49 total.tar.gz
目录
相关文章
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
80 3
|
1月前
|
存储 Linux Windows
linux常用目录
/sbin s就是super User的意思,这里存放的是系统管理员使用的系统管理程序。 /home 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一版该目录名是以用户的账号命名的。 /root 该目录为系统管理员,也称为超级权限者的用户主目录。 /lib 系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /etc 所有的系统管理所需要的配置文件和子目录。 /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program fies目录。 /bo
40 2
|
7天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
36 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
16天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
1月前
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
71 1
linux权限管理
|
28天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
112 3
|
1月前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下文件数量是常见的需求。本文介绍了四种方法:使用 `ls` 和 `wc` 组合、`find` 命令、`tree` 命令以及编程实现(如 Python)。每种方法都附有详细说明和示例,适合不同水平的用户学习和使用。掌握这些技巧,可以有效提升系统管理和日常使用的效率。
347 6
|
29天前
|
分布式计算 Java Hadoop
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
通过以上步骤,可以有效地解决 `HADOOP_HOME`和 `JAVA_HOME`删除后依然指向旧目录的问题。确保在所有相关的配置文件中正确设置和删除环境变量,并刷新当前会话,使更改生效。通过这些措施,能够确保系统环境变量的正确性和一致性。
26 1
|
1月前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
41 5
|
1月前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
49 6
下一篇
DataWorks