再来1章linux5.1[权限rwx,文件和目录,权限信息,文件类型 ,ugo,ls,chown,chgrp.:-R chmod umask souce etc/profile etc/bashrc等

学习目标:

  • 权限rwx
  • 文件和目录
  • 权限信息
  • 文件类型
  • ugo
  • ls,chown,chgrp   .:-R  chmod  umask souce etc/profile etc/bashrc  sticky bit  sgid  suid   setfacl  -m -x -b

学习内容:

  1. 权限rwx,
  2. 文件和目录,
  3. 权限信息
  4. -普通文件
    d目录
    l软连接
    b块设备
    c字符设备
    ssocket套接字
    p管道
  5. ugo
  6. ls
  7. chown,chgrp .:-R
  8. chmod
  9. umask souce etc/profile etc/b
  10. sticky bit  sgid  suid 
  11. setfacl  -m -x -b

目录

学习目标:

学习内容:

1)权限

END…………

Supp:文件和目录

2)权限的查看及读取--ls [参数] [文件或目录…]

1.权限的查看---ls

2.文件权限的种类

1.文件类型 

 Supp:软连接,字符设备,socket套接字,硬链接和软链接

2.文件权限说明

END………… 

3)用户对于文件的身份识别及设定

1.用户对于文件的身份识别及设定

2.文件用户用户组管理        chown,chgrp

 4)设定普通权限的方法       chmod

 5)系统默认权限设定

1.如何保留权力     umask       source     etc/profile  etc/bashrc

 6)系统中的特殊权限  sticky bit   sgid  suid

6) ACL简介

1. acl列表的控制    -m  -x  -b   setfacl

学习时间:

学习产出:


1)权限

权限
r
w
x执行

        在 Linux 系统架构中,权限是安全的基石,界定了用户对文件和目录的操作边界,对系统安全维护和数据完整性保障至关重要。Linux 将权限归纳为读(r)、写(w)、执行(x)三类。

        读权限方面,对文件而言,拥有该权限的用户可查看文件内容,对目录来说,用户能使用 ls 命令罗列目录中的文件和子目录;---【文件,目录】

        写权限上,对文件有该权限的用户可修改内容,删除文件还需对文件所在目录有写权限,对目录而言,用户可【创建和删除】目录内的文件及子目录;

        执行权限中,对可执行文件,用户可【运行】文件实现功能,对目录,用户可使用 cd 命令进入目录探索内部资源。

cat leel--r
echo hello > leel--w
cat leel
echo date > leel--x
cat leel
/mnt/leel

END…………

Supp:文件和目录

        文件和目录是计算机系统中两个基本的概念。

        文件是存储在计算机上的信息集合,它可以是文本文件、图片、音频、视频等。每个文件都有一个唯一的名称,这个名称被称为文件名。文件名通常包括文件名和扩展名两部分,例如,"example.txt"是一个文件名,"txt"是它的扩展名,表示这是一个文本文件。文件名和扩展名之间用点号分隔。

        目录,也被称为文件夹,是用于组织和管理文件的容器。目录可以包含文件和其他目录。目录的结构类似于树状结构,每个目录都有一个父目录,除了根目录外,所有的目录都有且只有一个父目录。目录可以嵌套,即一个目录中可以包含其他目录,这些目录被称为子目录。例如,在Windows操作系统中,C盘的根目录下可能包含多个文件夹,每个文件夹中又可以包含文件和其他文件夹。

        在计算机系统中,文件和目录都是通过文件系统进行管理的。文件系统是操作系统用于存储和组织文件和目录的一种机制。文件系统定义了文件和目录的结构,以及如何访问和操作它们。不同的操作系统可能有不同的文件系统,例如,Windows使用的是NTFS文件系统,而Linux和Unix使用的是EXT4文件系统。

2)权限的查看及读取--ls [参数] [文件或目录…]

1.权限的查看---ls

ls [参数] [文件或目录…]

ls -l 文件 ##查看文件权限
ls -ld 目录 ##查看目录权限

2.文件权限的种类

#文件权限信息#
- | rw-r--r-- | . | 1 | root | root | 0 | Apr 12 10:57 | lee
[1]     [2]   [3] [4]   [5]   [6] [7]       [8]       [9]
#目录权限信息#
d | rw-r--r-- | . | 2 | root | root | 0 | Apr 12 10:57 | timinglee
[1]   [2]     [3] [4]   [5]   [6] [7]       [8]       [9]

这个表格显示了文件和目录的权限信息。每一列的含义如下:

1. [1]:文件类型。`d`表示这是一个目录,`-`表示这是一个文件。
2. [2]:文件权限。`rw-r--r--`表示文件的所有者有读写权限,同一组的用户有读权限,其他用户也有读权限。
3. [3]:文件名或目录名。`.`表示这是一个隐藏文件或目录。
4. [4]:硬链接数。`1`表示这个文件或目录有一个硬链接。
5. [5]:文件所有者。`root`表示这个文件或目录的所有者是root用户。
6. [6]:文件所属组。`root`表示这个文件或目录所属的组是root组。
7. [7]:文件大小。`0`表示这个文件或目录的大小为0字节。
8. [8]:文件修改时间。`Apr 12 10:57`表示这个文件或目录的最后修改时间是2023年4月12日10点57分。
9. [9]:文件名或目录名。`lee`表示这个文件或目录的名称是lee。

这个表格中的信息可以帮助你了解文件或目录的权限、所有者、所属组、大小和修改时间等信息。

1.文件类型 

文件类型
-普通文件
d目录
l软连接
b块设备
c字符设备
ssocket套接字
p管道

这些符号表示文件或目录的类型:

- `-`:普通文件。这是最常见的文件类型,用于存储文本、图片、音频、视频等数据。

- `d`:目录。目录是一种特殊的文件类型,用于组织和管理其他文件和目录。

- `1`:软链接(符号链接)。软链接是一种特殊的文件类型,它指向另一个文件或目录。

- `b`:块设备。块设备是一种特殊的文件类型,用于【存储和访问块数据】,例如硬盘、光盘等。

- `c`:字符设备。字符设备是一种特殊的文件类型,用于存储和访问字符数据,例如串口、键盘等。

- `s`:套接字。套接字是一种特殊的文件类型,用于网络通信。

- `p`:管道。管道是一种特殊的文件类型,用于【进程间通信】。

这些符号可以帮助你了解文件或目录的类型,从而更好地管理和使用它们。

 Supp:软连接,字符设备,socket套接字,硬链接和软链接

软连接--快捷 快设备--dev,存储硬盘

字符设备--直接显示,不需要缓冲区,以字符为单位,以字符为单位

socket套接字--Socket是一种网络编程接口(感知器官)

                                                              

  • 硬链接:是在文件系统中与已存在文件的 inode 建立关联的新目录项,多个硬链接共享相同物理数据块,不支持跨文件系统,所有硬链接都删除后文件空间才释放。
  • 软链接:是包含指向其他文件或目录路径信息的特殊文件,像快捷方式,支持跨文件系统,但若目标文件被删除或移动,软链接会成为死链接。

  硬链接
        概念:硬链接是在文件系统中创建一个新的目录项,该目录项与已存在的文件的inode(索引节点,用于存储文件的元数据和数据块指针)建立关联。多个硬链接指向同一个文件的 inode,它们在文件系统中共享相同的物理数据块,因此硬链接实际上是同一个文件的不同名称。
        特点
        多个名称共享数据:多个硬链接对应同一个文件数据,对其中一个硬链接进行修改,会直接反映在其他硬链接上,因为它们指向的是相同的物理存储位置。
不支持跨文件系统:由于硬链接是基于 inode 的,而不同的文件系统有各自独立的 inode 编号,所以硬链接不能跨越不同的文件系统创建。
        删除文件需谨慎:只有当所有硬链接都被删除后,文件占用的磁盘空间才会被释放。只要还有一个硬链接存在,文件的数据就不会丢失。

          软链接(符号链接)

         概念:软链接是一种特殊的文件,它包含了指向另一个文件或目录的路径信息。软链接就像是一个快捷方式,它指向的目标文件或目录可以是任意位置,甚至可以跨越不同的文件系统。
        特点
        独立的文件:软链接本身是一个独立的文件,有自己的 inode和数据块,其数据块中存储的是目标文件或目录的路径。
        支持跨文件系统:因为软链接只是保存了目标路径,所以可以轻松地跨越不同的文件系统指向其他位置的文件或目录。
        依赖目标文件:如果目标文件或目录被删除或移动,软链接将失效,成为“死链接”。此时访问软链接会提示无法找到目标文件。
        在实际使用中,硬链接常用于需要确保文件数据安全目不希望文件被轻易删除的场景,而软链接则更灵活,适用于创建快捷方式、方便地组织文件系统结构以及在不
引用相同文件或目录等情况。

硬链接和软链接是两种不同的文件链接方式,它们在用途和特性上有所不同。

硬链接(Hard Link):
- 硬链接是文件系统中指向文件inode的引用。inode是文件系统中用于存储文件元数据(如文件大小、权限、所有者等)的区域。
- 硬链接与原始文件共享同一个inode,因此它们具有相同的文件内容和元数据。
- 删除一个硬链接不会影响原始文件,除非所有硬链接都被删除。
- 硬链接只能在同一文件系统中创建,不能跨文件系统创建。
- 硬链接不能链接目录。

软链接(Soft Link或Symbolic Link):
- 软链接是一种特殊的文件类型,它包含径一个指向另一个文件或目录的路。
- 软链接与原始文件具有独立的inode,因此它们可以链接到不同文件系统中的文件或目录。
- 删除原始文件或目录不会影响软链接,但删除软链接会使其失效。
- 软链接可以链接目录。

总的来说,硬链接和软链接都可以用于创建文件或目录的别名,但它们在创建方式、链接范围和链接目标等方面有所不同。

2.文件权限说明

---        ---        ---

u        g        o

END………… 

3)用户对于文件的身份识别及设定

1.用户对于文件的身份识别及设定

u: #user 文件的拥有者,ls -l 看到的第五列信息

g: #group 文件拥有组, ls -l 看到的第六列信息

o: #other 既不是拥有者也不是拥有组成员的其他用户的通称

2.文件用户用户组管理        chown,chgrp

chown username file
chgrp groupname file
chown username:groupname file
chown | chgrp
##更改文件拥有者
##更改文件拥有组
##同时更改文件的拥有者和拥有组
-R userlgroup dir
##更改目录本身及目录中内容的拥有者或者拥有组
----更改拥有者 /组
watch -n 1ls -lR /mnt/
#chown lee lee1
           用户  文件名
#所有人
chown lee nn/
# username  file 
chown root nn/
#chown -R root nn/--所有改变
#组
chgrp lee lee1
#chgrp lee timinglee/-----仅目录变
#chgrp -R lee timinglee/--全部包括目录,文件变
#组+所有人---同时
chown -R root.root timinglee/
chown lee:lee lee2
#chown caiwu.caiwu caiwu/---.==:

 4)设定普通权限的方法       chmod

chmod a-r leel---a所有
 数字设定权限#
chmod 700 /mnt/lee1 
bool
0-1==0
主数字

`chmod`命令用于更改文件或目录的权限。权限可以由用户、组和其他用户分别设定,每个用户可以拥有读(r)、写(w)和执行(x)的权限。

字符方式设定权限:
- `<a|u|g|o>`:`a`表示所有用户,`u`表示文件所有者,`g`表示文件所属组,`o`表示其他用户。
- `<+|-|=>`:`+`表示添加权限,`-`表示删除权限,`=`表示设置权限。
- `<r|w|x>`:`r`表示读权限,`w`表示写权限,`x`表示执行权限。

数字方式设定权限:
- 权限由三个数字组成,每个数字表示一个用户(所有者、组和其他用户)的权限。
- 数字`4`表示读权限,`2`表示写权限,`1`表示执行权限。
- 权限的数字表示方式为:`rwx=111=7`,`rw-=110=6`,`r-x=101=5`,`r--=100=4=r`,`5.系统默认权限设定`。

特殊权限:
- 在Linux系统中,除了常规的读、写和执行权限外,还有特殊权限,如`setuid`、`setgid`和`sticky bit`等。
- `setuid`权限允许用户以文件所有者的身份执行文件。
- `setgid`权限允许用户以文件所属组的身份执行文件。
- `sticky bit`权限允许用户删除或重命名只有他们自己有写权限的文件,但其他用户仍然可以访问这些文件。

示例:
- `chmod 600 /mnt/lee1`:设置文件`/mnt/lee1`的权限为`rw-------`,即只有文件所有者有读写权限,其他用户没有任何权限。
- `chmod u-rw /mnt/lee2`:删除文件`/mnt/lee2`的所有者和组的写权限。
- `chmod u-rw,g+x,o+wx /mnt/lee3`:删除文件`/mnt/lee3`的所有者的写权限,给文件所属组的用户添加执行权限,给其他用户添加读写权限。
- `chmod a-rwx /mnt/lee4`:删除文件`/mnt/lee4`的所有用户(包括所有者、组和其他用户)的读、写和执行权限。
- `chmod u=rwx,g=rx,o=--- /mnt/lee5`:设置文件`/mnt/lee5`的所有者有读、写和执行权限,文件所属组的用户有读和执行权限,其他用户没有任何权限。
- `chmod -R u=rwx,g=rx,o=--- /mnt/timinglee`:递归地设置目录`/mnt/timinglee`及其所有子文件和子目录的权限为`u=rwx,g=rx,o=---`。

 5)系统默认权限设定

  • 系统本身存在的意义共享资源
  • 从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高
  • 既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放把不安全的权力默认保留

1.如何保留权力     umask       source     etc/profile  etc/bashrc

vim /etc/profile ##系统环境配置文件
umask 700

        `umask`命令的使用方法,包括查看和设置系统保留的权限,以及如何临时和永久更改`umask`值。

`umask`命令用于查看和设置文件创建时的默认权限。`umask`值决定了系统在创建新文件或目录时,哪些权限会被自动保留。

- `umask`命令后面可以跟一个权限值,表示临时更改`umask`值。例如,`umask 077`表示临时将`umask`值设置为`077`。
- 文件默认权限 = 777 - `umask` - 111:这是计算新创建的文件的默认权限的公式。777表示所有用户都有读、写和执行权限,111表示保留的权限。例如,如果`umask`值为`077`,那么新创建的文件的默认权限为`660`,即只有文件所有者有读写权限,其他用户没有任何权限。
- 目录默认权限 = 777 - `umask`:这是计算新创建的目录的默认权限的公式。例如,如果`umask`值为`077`,那么新创建的目录的默认权限为`770`,即只有文件所有者有读、写、执行权限,其他用户没有任何权限。
- `umask`值越大,系统安全性越高。因为`umask`值越大,表示保留的权限越多,新创建的文件和目录的权限就越小,其他用户对它们的访问权限就越少。

`umask`的临时更改只对当前终端会话有效,当会话结束时,`umask`值会恢复为原来的值。如果需要永久更改`umask`值,可以将`umask`命令添加到`/etc/bashrc`或`/etc/profile`文件中。这些文件是系统环境配置文件,当用户登录时,系统会自动执行这些文件中的命令。例如,`vim /etc/bashrc`可以编辑`/etc/bashrc`文件,在文件中添加`umask 002`或`umask 022`可以分别设置普通用户和root用户的`umask`值。最后,使用`source /etc/bashrc`或`source /etc/profile`命令可以使更改立即生效。

 6)系统中的特殊权限  sticky bit   sgid  suid

chmod 1777 /pub
(chmod o+t /pub)

chmod 2770 /sc

chmod g+s dir

chmod 4755 /bin/cat

chmod u+s dir

sst

更精细的访问控制--特殊权限
END………………

        粘制位(Sticky Bit)、`sgid`(Set Group ID)和`setuid`(Set User ID)是Linux系统中用于控制文件和目录权限的特殊权限。

1. 粘制位(Sticky Bit):
   - 粘制位只能针对目录设置,用于控制目录中的文件只能被文件所有者删除。
   - 如果一个目录开启了粘制位,那么这个目录中的文件只能被文件所有者删除,即使其他用户有写权限。
   - 粘制位在权限表示中用`t`表示,例如`rwxrwxrwt`。

2. `sgid`(Set Group ID):
   - `sgid`用于设置文件或目录的组ID,使得文件或目录的执行者以文件或目录的组身份运行。
   - 如果一个文件开启了`sgid`,那么文件执行者将以文件所属的组身份运行,而不是以自己的组身份运行。
   - `sgid`在权限表示中用`s`表示,例如`rwxr-sr-x`。

3. `setuid`(Set User ID):
   - `setuid`用于设置文件的用户ID,使得文件执行者以文件所有者的身份运行。
   - 如果一个文件开启了`setuid`,那么文件执行者将以文件所有者的身份运行,而不是以自己的身份运行。
   - `setuid`在权限表示中用`s`表示,例如`rwsr-xr-x`。

这些特殊权限可以帮助我们更好地控制文件和目录的访问权限,提高系统的安全性。

6) ACL简介

        ACL是Linux系统中灵活的权限管理机制,用于对文件和目录设更细致权限。传统Linux文件权限模型基于所有者、所属组、其他用户分配读、写、执行权限,在复杂场景下不够灵活。ACL能针对单个用户或组设独立读、写、执行权限,实现更精细访问控制。

1. acl列表的控制    -m  -x  -b   setfacl

        `setfacl`命令的使用方法,用于设置、删除和关闭文件或目录的访问控制列表(ACL)。

`setfacl`命令用于设置、修改和删除文件或目录的ACL。ACL是一种更细粒度的权限控制机制,可以针对特定的用户、组或程序设置权限。

- `setfacl -m u:lee:rw leefile`:设置文件`leefile`的所有者`lee`的权限为读和写。
- `setfacl -m g:westos:rw leefile`:设置文件`leefile`的组`westos`的权限为读和写。
- `setfacl -m u::rwx leefile`:设置文件`leefile`的所有者的权限为读、写和执行。
- `setfacl -m g::0 leefile`:删除文件`leefile`的组的权限。
- `setfacl -x u:lee leefile`:删除文件`leefile`的访问控制列表中的`lee`用户。
- `setfacl -b leefile`:关闭文件`leefile`的访问控制列表。

这些命令可以帮助我们更灵活地控制文件和目录的访问权限,提高系统的安全性。


学习时间:

学习时间为学习时间


学习产出:

画工

 学习产出:

linux-5.2权限管理的实验详细1Sticky Bit2 SGID (Set GID)3 SUID (Set UID)4. chmod 5.ACL-CSDN博客

linux-5权限管理[权限rwx,文件和目录,权限信息,文件类型 ,ugo,ls,chown,chgrp .:-R chmod umask souce etc/profile etc/bashrc等-CSDN博客

linux-- 0. C语言过、Java半静对、Python纯动和C++对+C-CSDN博客

linux--0.Linux的特点-CSDN博客

  • 技术笔记 1遍
  • 有错误请指出,作者会及时改正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值