Linux权限介绍

article/2025/8/29 21:46:36

文章目录

  • Linux权限介绍
    • 1. shell命令及原理
    • 2. Linux权限的概念
    • 3. Linux权限管理
      • 3.1 人(用户)
      • 3.2 事物属性(文件类型和访问权限)
      • 3.3 文件访问权限的相关设置方法
        • 3.3.1 chmod
        • 3.3.2 chown
        • 3.3.3 chgrp
      • 3.4 file指令
      • 3.5 目录权限
      • 3.6 默认权限
      • 3.7 粘滞位
        • 3.7.1. 了解背景
        • 3.7.2. 准备工作
        • 3.7.3. 粘滞位的作用

Linux权限介绍

1. shell命令及原理

linux中shell是“”的意思,shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口,是在linux内核与用户之间的解释器程序,相当于操作系统的“外壳”,它接收用户输入的命令并把它送入内核去执行

[yinhan@VM-12-12-centos trunk]$ ls /usr/bin/bash -al
-rwxr-xr-x 1 root root 964536 Apr  1  2020 /usr/bin/bash
[yinhan@VM-12-12-centos trunk]$ 

在Linux下,这个bash也就是命令行解释器程序,也是个文件

操作系统和shell和用户的关系:

shell就相当于媒婆,user给的命令shell接受给kernel,但是这里也可能给的是个危险命令。那么为什么user给的命令不直接给kernel呢?这里就涉及到shell存在的意义。

shell存在的意义:1.帮忙命令行传递和返回结果。2.保护操作系统(防止危险指令对操作系统造成破坏) 3.执行命令时创建子进程执行

2. Linux权限的概念

在多用户计算机系统的管理中,权限(privilege)是指某个特定的用户具有特定的系统资源使用权力,像是文件夹,特定系统指令的使用或存储量的限制。生活中举个例子就是腾讯VIP用户,如果我们是普通用户就不能观看VIP影视节目

权限是用来限制人的,访问的对象没有天然性的属性;所以权限就是一件事情是否能做;Linux下权限=人+事物属性

3. Linux权限管理

3.1 人(用户)

Linux下分为两种用户:1.root,超级管理员(可以再linux系统下做任何事情,不受限制)2. 普通用户:(在linux下做有限的事情)

超级用户的命令提示符是"#",普通用户的命令提示符是“$”

命令:su [用户名]

作用:切换用户身份(只是切换身份而已)要想重新登陆root用户可用指令(su -) 要从普通用户user切换到root用户则使用( su root)(root可以省略)

[yinhan@VM-12-12-centos ~]$ whoami
yinhan
[yinhan@VM-12-12-centos ~]$ ll
total 8
-rw-rw-r-- 1 yinhan yinhan   50 Nov 23 00:26 README.txt
drwxrwxr-x 3 yinhan yinhan 4096 Nov 23 18:38 trunk
[yinhan@VM-12-12-centos ~]$ su (只是单纯的切换身份而已,并没有进入到root的工作目录下,上下ll可以对比看出)
Password: 
[root@VM-12-12-centos yinhan]# whoami
root
[root@VM-12-12-centos yinhan]# ll
total 8
-rw-rw-r-- 1 yinhan yinhan   50 Nov 23 00:26 README.txt
drwxrwxr-x 3 yinhan yinhan 4096 Nov 23 18:38 trunk
[root@VM-12-12-centos yinhan]# //使用su -(直接进入到root超级管理员下的工作根目录下)
[yinhan@VM-12-12-centos ~]$ whoami
yinhan
[yinhan@VM-12-12-centos ~]$ ll
total 8
-rw-rw-r-- 1 yinhan yinhan   50 Nov 23 00:26 README.txt
drwxrwxr-x 3 yinhan yinhan 4096 Nov 23 18:38 trunk
[yinhan@VM-12-12-centos ~]$ su -
Password: 
Last login: Wed Nov 23 19:02:36 CST 2022 on pts/0
Last failed login: Wed Nov 23 19:04:27 CST 2022 on pts/0
There were 2 failed login attempts since the last successful login.
[root@VM-12-12-centos ~]# whoami
root
[root@VM-12-12-centos ~]# ll
total 4
drwxr-xr-x 3 root root 4096 Nov 18 23:08 study_2022_11_11
[root@VM-12-12-centos ~]# //如何切换到home目录下的另外一个用户呢?
//我的xshell是可以直接用户切换到用户的,如果不行可以先切换到root身份再切换到某个用户身份,切记要cd ~进入该用户的根目录
[yinhan@VM-12-12-centos ~]$ whoami
yinhan
[yinhan@VM-12-12-centos ~]$ ls /home
anonymous  lighthouse  yinhan
[yinhan@VM-12-12-centos ~]$ su anonymous
Password: 
[anonymous@VM-12-12-centos yinhan]$ ll
ls: cannot open directory .: Permission denied //没有cd ~,拒绝访问
[anonymous@VM-12-12-centos yinhan]$ cd ~
[anonymous@VM-12-12-centos ~]$ ll
total 4
-rw-rw-r-- 1 anonymous anonymous 62 Nov 23 00:36 README.txt
[anonymous@VM-12-12-centos ~]$ 
  • 文件访问者分类

文件和文件目录的拥有者:u—User(中国平民 法律问题)

文件和文件目录的所有者所在的组的用户:g—Group(相当于团队)

其它用户:o—Others (外国人)

root&&普通用户 和 拥有者&&所属组&&其他用户的关系?

假设root&&和普通用户都是人,拥有者&&所属组&&其他用户这些都是角色,所以,他们的关系是人可以扮演各种角色的关系

3.2 事物属性(文件类型和访问权限)

  • 文件类型

d: 目录

-:普通文件

b:块设备(磁盘)c:字符设备文件 l:链接文件 p:管道文件 s:套接口文件(不常见)

即然Linux普通文件不区分文件类型,那么为什么我们创建文件普通后还需要跟上后缀呢?

后缀是文件名的一部分,为了方便阅读

//实际例子
[yinhan@VM-12-12-centos xfile]$ ll
total 16
-rwxrwxr-x 1 yinhan yinhan 8360 Nov 23 18:43 a.out
-rw-rw-r-- 1 yinhan yinhan   72 Nov 23 18:43 test.c
[yinhan@VM-12-12-centos xfile]$ ./a.out 
hello linux!
[yinhan@VM-12-12-centos xfile]$ mv a.out a.txt
[yinhan@VM-12-12-centos xfile]$ ll
total 16
-rwxrwxr-x 1 yinhan yinhan 8360 Nov 23 18:43 a.txt
-rw-rw-r-- 1 yinhan yinhan   72 Nov 23 18:43 test.c
[yinhan@VM-12-12-centos xfile]$ ./a.txt 
hello linux!
[yinhan@VM-12-12-centos xfile]$ mv a.txt test.txt
[yinhan@VM-12-12-centos xfile]$ ll
total 16
-rw-rw-r-- 1 yinhan yinhan   72 Nov 23 18:43 test.c
-rwxrwxr-x 1 yinhan yinhan 8360 Nov 23 18:43 test.txt
[yinhan@VM-12-12-centos xfile]$ ./test.txt 
hello linux!
[yinhan@VM-12-12-centos xfile]$ 
//说明了Linux下普通文件是不区分文件类型的,但是看下面这个gcc程序
collect2: error: ld returned 1 exit status //出现报错

说明:linux下指的是操作系统,操作系统看待文件是不区分文件类型,但是这里的gcc是程序,操作系统不区分文件类型不代表其他程序或软件不需要区分

  • 基本权限

r:Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

w:Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

x:execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

-:表示不具有任何权限

上面了解完后再来看这个:

rwx位置是固定的,怎么理解?拿上述图中a.out文件举例,看拥有者权限,他的第一个字符的含义就是是否可读,第二个字符的含义就是是否可写,第三个字符的含义就是是否可执行,那么拥有则权限就是可读可写可执行所属组和other权限也是如此

3.3 文件访问权限的相关设置方法

3.3.1 chmod

chmod [选项] 权限 文件名

常见选项:

R :递归修改目录的权限(只有文件的拥有者和root才可以改变文件的权限)

作用:设置文件的访问权限

+: 向权限范围增加权限代号所表示的权限

-: 向权限范围取消权限代号所表示的权限

u:拥有者

g:拥有者同组用

o:其他用户

a:所有用户

yinhan@VM-12-12-centos tmp]$ ll
total 0
-rw-rw-r-- 1 yinhan yinhan 0 Nov 23 20:02 test.txt
[yinhan@VM-12-12-centos tmp]$ chmod o+wx test.txt 
[yinhan@VM-12-12-centos tmp]$ ll
total 0
-rw-rw-rwx 1 yinhan yinhan 0 Nov 23 20:02 test.txt
[yinhan@VM-12-12-centos tmp]$ 
//意思就是给test.txt文件的其他用户的写和执行权限[yinhan@VM-12-12-centos tmp]$ chmod g+x test.txt 
[yinhan@VM-12-12-centos tmp]$ ll
total 0
-rw-rwxrwx 1 yinhan yinhan 0 Nov 23 20:02 test.txt
[yinhan@VM-12-12-centos tmp]$ 
//给test.txt文件的所属组的执行权限[yinhan@VM-12-12-centos tmp]$ chmod u+x test.txt 
[yinhan@VM-12-12-centos tmp]$ ll
total 0
-rwxrwxrwx 1 yinhan yinhan 0 Nov 23 20:02 test.txt
//给test.txt文件的拥有者的执行执行权限[yinhan@VM-12-12-centos tmp]$ ./test.txt 
./test.txt: line 1: 这是一个拥有者可读可写可执行,所属组可读可写可执行,其他用户可读可写可执行的文件!: command not found
[yinhan@VM-12-12-centos tmp]$ 
//拥有者有了可执行的权限是可以执行test.txt文件的

rwx另外表示法:

[yinhan@VM-12-12-centos tmp]$ ll
total 4
-rwxrwxrwx 1 yinhan yinhan 124 Nov 23 20:08 test.txt
[yinhan@VM-12-12-centos tmp]$ chmod 000 test.txt 
[yinhan@VM-12-12-centos tmp]$ ll
total 4
---------- 1 yinhan yinhan 124 Nov 23 20:08 test.txt
[yinhan@VM-12-12-centos tmp]$ 
[yinhan@VM-12-12-centos tmp]$ chmod 246 test.txt 
[yinhan@VM-12-12-centos tmp]$ ll
total 4
--w-r--rw- 1 yinhan yinhan 124 Nov 23 20:08 test.txt
[yinhan@VM-12-12-centos tmp]$ 

理解权限:

[yinhan@VM-12-12-centos tmp]$ ll
total 4
--w-r--rw- 1 yinhan yinhan 124 Nov 23 20:08 test.txt
[yinhan@VM-12-12-centos tmp]$ nano test.txt
[yinhan@VM-12-12-centos tmp]$ cat test.txt 
cat: test.txt: Permission denied
//这里拒绝访问,因为拥有者没有可读权限
[yinhan@VM-12-12-centos tmp]$ su
Password: 
[root@VM-12-12-centos tmp]# whoami
root
[root@VM-12-12-centos tmp]# ll
total 4
--w-r--rw- 1 yinhan yinhan 124 Nov 23 20:08 test.txt
[root@VM-12-12-centos tmp]# cat test.txt 
这是一个拥有者可读可写可执行,所属组可读可写可执行,其他用户可读可写可执行的文件!
//切换成root超级管理员身份就什么都可以做了

3.3.2 chown

chown [选项] 用户名 文件

作用:修改文件的拥有者

[yinhan@VM-12-12-centos tmp]$ ll
total 4
--w-r--rw- 1 yinhan yinhan 124 Nov 23 20:08 test.txt
[yinhan@VM-12-12-centos tmp]$ chown root test.txt 
chown: changing ownership of ‘test.txt’: Operation not permitted
[yinhan@VM-12-12-centos tmp]$ 

为什么改不了拥有者呢?

虽然这个test.txt文件的拥有者时yinhan,但是当给别人一个东西的时候需要别人的允许,这里并没有自己的允许,所以不能更改,可以强制,只能由root帮你改

[yinhan@VM-12-12-centos study3]$ su
Password: 
[root@VM-12-12-centos study3]# ll
total 0
-rw-rw-r-- 1 yinhan yinhan 0 Nov 30 14:22 normal.txt
[root@VM-12-12-centos study3]# chown root normal.txt 
[root@VM-12-12-centos study3]# ll
total 0
-rw-rw-r-- 1 root yinhan 0 Nov 30 14:22 normal.txt

3.3.3 chgrp

chgrp [选项] 用户组名 文件名

作用:修改文件或目录的所属组

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

[yinhan@VM-12-12-centos study3]$ clear
[yinhan@VM-12-12-centos study3]$ ll
total 0
-rw-rw-r-- 1 yinhan yinhan 0 Nov 30 14:22 normal.txt
[yinhan@VM-12-12-centos study3]$ chgrp root normal.txt
chgrp: changing group of ‘normal.txt’: Operation not permitted
[yinhan@VM-12-12-centos study3]$

同样的,不能修改所属组和上述chown的原因一样

[yinhan@VM-12-12-centos study3]$ su
Password: 
[root@VM-12-12-centos study3]# ll
total 0
-rw-rw-r-- 1 yinhan yinhan 0 Nov 30 14:22 normal.txt
[root@VM-12-12-centos study3]# whoami
root
[root@VM-12-12-centos study3]# chgrp root normal.txt 
[root@VM-12-12-centos study3]# ll
total 0
-rw-rw-r-- 1 yinhan root 0 Nov 30 14:22 normal.txt
[root@VM-12-12-centos study3]# 

3.4 file指令

file [选项] 文件或目录

作用:辨别文件类型

-c : 详细显示指令执行过程

[root@VM-12-12-centos study3]# ll
total 4
-rw-rw-r-- 1 yinhan root   0 Nov 30 14:22 normal.txt
-rw-r--r-- 1 root   root 121 Nov 30 14:44 test.c
-rw-r--r-- 1 root   root   0 Nov 30 14:42 test.txt
[root@VM-12-12-centos study3]# file normal.txt 
normal.txt: empty
[root@VM-12-12-centos study3]# file test.c
test.c: C source, ASCII text
[root@VM-12-12-centos study3]# file test.txt
test.txt: empty
[root@VM-12-12-centos study3]# 

3.5 目录权限

进入一个目录需要什么权限呢?

进入目录需要执行权限,下面为验证

//以iter目录为例
[yinhan@VM-12-12-centos dir]$ ll
total 4
drwxrwxr-x 2 yinhan yinhan 4096 Nov 30 15:13 iter
[yinhan@VM-12-12-centos dir]$ chmod u-r iter/
[yinhan@VM-12-12-centos dir]$ ll
total 4
d-wxrwxr-x 2 yinhan yinhan 4096 Nov 30 15:13 iter
[yinhan@VM-12-12-centos dir]$ cd iter
[yinhan@VM-12-12-centos iter]$ cd ..
[yinhan@VM-12-12-centos dir]$ chmod u-w iter/
[yinhan@VM-12-12-centos dir]$ ll
total 4
d--xrwxr-x 2 yinhan yinhan 4096 Nov 30 15:13 iter
[yinhan@VM-12-12-centos dir]$ cd iter/
[yinhan@VM-12-12-centos iter]$ cd ..
[yinhan@VM-12-12-centos dir]$ chmod u-x iter
[yinhan@VM-12-12-centos dir]$ ll
total 4
d---rwxr-x 2 yinhan yinhan 4096 Nov 30 15:13 iter
[yinhan@VM-12-12-centos dir]$ cd iter/
-bash: cd: iter/: Permission denied
[yinhan@VM-12-12-centos dir]$ 

在目录中创建和删除文件需要什么权限

目录中创建和删除文件需要写权限,以下是验证

[yinhan@VM-12-12-centos dir]$ ll
total 4
drwxrwxr-x 2 yinhan yinhan 4096 Nov 30 15:13 iter
[yinhan@VM-12-12-centos dir]$ chmod u-r iter
[yinhan@VM-12-12-centos dir]$ ll
total 4
d-wxrwxr-x 2 yinhan yinhan 4096 Nov 30 15:13 iter
[yinhan@VM-12-12-centos dir]$ cd iter/
[yinhan@VM-12-12-centos iter]$ touch test.txt
[yinhan@VM-12-12-centos iter]$ cd ..
[yinhan@VM-12-12-centos dir]$ ll
total 4
d-wxrwxr-x 2 yinhan yinhan 4096 Nov 30 15:18 iter
[yinhan@VM-12-12-centos dir]$ chmod u-w iter
[yinhan@VM-12-12-centos dir]$ ll
total 4
d--xrwxr-x 2 yinhan yinhan 4096 Nov 30 15:18 iter
[yinhan@VM-12-12-centos dir]$ cd iter/
[yinhan@VM-12-12-centos iter]$ touch test1.txt
touch: cannot touch ‘test1.txt’: Permission denied
[yinhan@VM-12-12-centos iter]$ 

查看目录中的文件信息需要什么权限?

查看目录中文件信息需要读权限,以下是验证

[yinhan@VM-12-12-centos dir]$ ll
total 4
drwxrwxr-x 2 yinhan yinhan 4096 Nov 30 15:18 iter
[yinhan@VM-12-12-centos dir]$ tree iter
iter
`-- test.txt0 directories, 1 file
[yinhan@VM-12-12-centos dir]$ ls iter/
test.txt
[yinhan@VM-12-12-centos dir]$ chmod u-r iter
[yinhan@VM-12-12-centos dir]$ ll
total 4
d-wxrwxr-x 2 yinhan yinhan 4096 Nov 30 15:18 iter
[yinhan@VM-12-12-centos dir]$ ls iter/
ls: cannot open directory iter/: Permission denied
[yinhan@VM-12-12-centos dir]$ tree iter
iter [error opening dir]0 directories, 0 files
[yinhan@VM-12-12-centos dir]$ 

总结:目录r权限是为了查看目录中的文件信息,目录w权限是为了创建和删除文件或目录,目录x权限是为了进入到此目录中

3.6 默认权限

[yinhan@VM-12-12-centos iter]$ ll
total 0
[yinhan@VM-12-12-centos iter]$ touch test.txt
[yinhan@VM-12-12-centos iter]$ mkdir new_dir
[yinhan@VM-12-12-centos iter]$ ll
total 4
drwxrwxr-x 2 yinhan yinhan 4096 Nov 30 15:29 new_dir
-rw-rw-r-- 1 yinhan yinhan    0 Nov 30 15:29 test.txt
[yinhan@VM-12-12-centos iter]$ 

观察现象,目录的默认权限是775,普通文件的默认权限是664(这是我的centos7.6Linux下的,不同的操作系统,它的默认权限也是可能不同的)

为什么创建的普通文件 (不包括可执行文件)的默认权限是从664开始的,为什么创建的目录的默认权限是从775开始?

先理解几个概念:默认权限(就是你看到的),起始权限(系统设定的),最终权限(也就是默认权限)

Linux规定的普通文件起始权限是666开始的(不包括可执行文件),目录的起始权限是777开始的

系统为了更好控制文件权限,系统会有默认的权限掩码,称为umask

[yinhan@VM-12-12-centos iter]$ umask
0002
[yinhan@VM-12-12-centos iter]$ 
//centos7.6Linux操作系统的掩码是002(八进制)

理解了权限掩码和起始权限的概念后,那么最终权限(默认权限)怎么计算的呢?

最终权限(默认权限)= 起始权限 & (~umask) (这里和异或计算还是有区别的)

普通文件:666 & (~002) = 110 110 110 & (~000 000 010)= 110 110 110 & 111 111 101 = 110 110 100 = 664

目录:777 & (~002) = 111 111 111 & (~000 000 010)= 111 111 111 & 111 111 101 = 111 111 101 = 775

下面再计算一组:

[yinhan@VM-12-12-centos iter]$ umask 0007
[yinhan@VM-12-12-centos iter]$ umask
0007
[yinhan@VM-12-12-centos iter]$ touch normal.txt
[yinhan@VM-12-12-centos iter]$ mkdir dir
[yinhan@VM-12-12-centos iter]$ ll
total 8
drwxrwx--- 2 yinhan yinhan 4096 Nov 30 16:03 dir
-rw-rw---- 1 yinhan yinhan    0 Nov 30 16:03 normal.txt
//这里改动了umask,可以根据最终权限公式来算
//目录的最终权限:777 & (~007) = 770
//普通文件的最终权限(不包括可执行普通文件): 666 & (~007) = 660

3.7 粘滞位

3.7.1. 了解背景

在使用Linux时未来我们可能有共享目录,这些目录是被所有的普通用户共享,用来保存普通用户产生的临时数据

怎么来理解共享?

[yinhan@VM-12-12-centos ~]$ ll /home
total 12
drwx------ 4 anonymous  anonymous  4096 Nov 23 00:36 anonymous
drwx------ 5 lighthouse lighthouse 4096 Nov  2 10:41 lighthouse
drwx------ 5 yinhan     yinhan     4096 Nov 27 23:39 yinhan
[yinhan@VM-12-12-centos ~]$ 

假设一个anonymous用户要访问yinhan这个用户目录下的一个代码文件,这时,对于yinhan这个用户来说,anonymous用户就是other用户,这里anonymous用户是无法进入yinhan这个用户的家目录的,所以这里有要有个共享目录/文件,以此来达到需求

这个共享目录一般都是root提供的

3.7.2. 准备工作

在根目录下放个共享文件同时权限全部放开

模拟给share里面放进用户文件,并给对应的文件填充内容

[root@VM-12-12-centos share]# ll
total 24
-rw-rw-r-- 1 anonymous anonymous 32 Nov 30 16:37 anonymous1
-rw-rw-r-- 1 anonymous anonymous 35 Nov 30 16:38 anonymous2
-rw-rw-r-- 1 anonymous anonymous  0 Nov 30 16:34 anonymous3
-rw-r--r-- 1 root      root      38 Nov 30 16:39 root1
-rw-r--r-- 1 root      root      37 Nov 30 16:39 root2
-rw-r--r-- 1 root      root       0 Nov 30 16:33 root3
-rw-rw-r-- 1 yinhan    yinhan    37 Nov 30 16:35 yinhan1
-rw-rw-r-- 1 yinhan    yinhan    30 Nov 30 16:36 yinhan2
-rw-rw-r-- 1 yinhan    yinhan     0 Nov 30 16:32 yinhan3
[root@VM-12-12-centos share]# cat root1
这是root用户的第一个文件!
[root@VM-12-12-centos share]# cat root2这是root用户的第二个文件!
[root@VM-12-12-centos share]# cat root3
[root@VM-12-12-centos share]# su yinhan
[yinhan@VM-12-12-centos share]$ whoami
yinhan
[yinhan@VM-12-12-centos share]$ cat yinhan1
这是yinhan用户的第一个文件
[yinhan@VM-12-12-centos share]$ cat yinhan2
this is yinhan's second file!
[yinhan@VM-12-12-centos share]$ cat yinhan3
[yinhan@VM-12-12-centos share]$ su anonymous
Password: 
[anonymous@VM-12-12-centos share]$ whoami
anonymous
[anonymous@VM-12-12-centos share]$ cat anonymous1
this is anonymous's first file!
[anonymous@VM-12-12-centos share]$ cat anonymous2
this is a anonymous's second file!
[anonymous@VM-12-12-centos share]$ cat anonymous3
[anonymous@VM-12-12-centos share]$ 

这里每个用户都分享出了自己的三个文件,并且每个文件都是对other用户来说都可以查看,但是不能写入和执行操作(除了root可以),但是可以删除

[yinhan@VM-12-12-centos share]$ ll
total 24
-rw-rw-r-- 1 anonymous anonymous 32 Nov 30 16:37 anonymous1
-rw-rw-r-- 1 anonymous anonymous 35 Nov 30 16:38 anonymous2
-rw-rw-r-- 1 anonymous anonymous  0 Nov 30 16:34 anonymous3
-rw-r--r-- 1 root      root      38 Nov 30 16:39 root1
-rw-r--r-- 1 root      root      37 Nov 30 16:39 root2
-rw-r--r-- 1 root      root       0 Nov 30 16:33 root3
-rw-rw-r-- 1 yinhan    yinhan    37 Nov 30 16:35 yinhan1
-rw-rw-r-- 1 yinhan    yinhan    30 Nov 30 16:36 yinhan2
-rw-rw-r-- 1 yinhan    yinhan     0 Nov 30 16:32 yinhan3
[yinhan@VM-12-12-centos share]$ whoami
yinhan
[yinhan@VM-12-12-centos share]$ rm anonymous1
rm: remove write-protected regular file ‘anonymous1’? y
[yinhan@VM-12-12-centos share]$ ll
total 20
-rw-rw-r-- 1 anonymous anonymous 35 Nov 30 16:38 anonymous2
-rw-rw-r-- 1 anonymous anonymous  0 Nov 30 16:34 anonymous3
-rw-r--r-- 1 root      root      38 Nov 30 16:39 root1
-rw-r--r-- 1 root      root      37 Nov 30 16:39 root2
-rw-r--r-- 1 root      root       0 Nov 30 16:33 root3
-rw-rw-r-- 1 yinhan    yinhan    37 Nov 30 16:35 yinhan1
-rw-rw-r-- 1 yinhan    yinhan    30 Nov 30 16:36 yinhan2
-rw-rw-r-- 1 yinhan    yinhan     0 Nov 30 16:32 yinhan3
[yinhan@VM-12-12-centos share]$ 
//我是yinhan用户,我删除了anonumous1文件

3.7.3. 粘滞位的作用

这里作为共享文件,每个文件对于other用户来说是可以删除的,但是这不违背了我们的需求?

这里就需要粘滞位,为了不让别人删除,我们就要用到粘滞位

chmod +t 文件/目录

作用:加上粘滞位(只能给共享目录/目录添加,防止别人删除我的文件

//共享目录加上粘滞位后other用户就不能删除我的文件了(当然root用户是可以删除的)
[yinhan@VM-12-12-centos share]$ whoami
yinhan
[yinhan@VM-12-12-centos share]$ ll
total 20
-rw-rw-r-- 1 anonymous anonymous 35 Nov 30 16:38 anonymous2
-rw-rw-r-- 1 anonymous anonymous  0 Nov 30 16:34 anonymous3
-rw-r--r-- 1 root      root      38 Nov 30 16:39 root1
-rw-r--r-- 1 root      root      37 Nov 30 16:39 root2
-rw-r--r-- 1 root      root       0 Nov 30 16:33 root3
-rw-rw-r-- 1 yinhan    yinhan    37 Nov 30 16:35 yinhan1
-rw-rw-r-- 1 yinhan    yinhan    30 Nov 30 16:36 yinhan2
-rw-rw-r-- 1 yinhan    yinhan     0 Nov 30 16:32 yinhan3
[yinhan@VM-12-12-centos share]$ rm anonymous2
rm: remove write-protected regular file ‘anonymous2’? y
rm: cannot remove ‘anonymous2’: Operation not permitted
[yinhan@VM-12-12-centos share]$ 

既然我们的需求的是不能删除被人的文件,那么我们能不能通过root更改共享目录的other角色的w权限来限制呢?

不能,目录的w的权限是用来限制目录中的创建文件和删除文件,我自己的共享目录的文件也删除不了了

[yinhan@VM-12-12-centos /]$ ll
total 76
lrwxrwxrwx.   1 root root     7 Mar  7  2019 bin -> usr/bin
dr-xr-xr-x.   5 root root  4096 Jul 28 11:37 boot
drwxr-xr-x    2 root root  4096 Nov  5  2019 data
drwxr-xr-x   19 root root  3020 Nov  2 10:45 dev
drwxr-xr-x.  95 root root 12288 Nov 23 00:35 etc
drwxr-xr-x.   5 root root  4096 Nov 23 00:34 home
lrwxrwxrwx.   1 root root     7 Mar  7  2019 lib -> usr/lib
lrwxrwxrwx.   1 root root     9 Mar  7  2019 lib64 -> usr/lib64
drwx------.   2 root root 16384 Mar  7  2019 lost+found
drwxr-xr-x.   2 root root  4096 Apr 11  2018 media
drwxr-xr-x.   2 root root  4096 Apr 11  2018 mnt
drwxr-xr-x.   4 root root  4096 Nov  2 10:33 opt
dr-xr-xr-x  131 root root     0 Nov  2 10:45 proc
dr-xr-x---.   7 root root  4096 Nov 18 23:01 root
drwxr-xr-x   25 root root   880 Nov 29 14:46 run
lrwxrwxrwx.   1 root root     8 Mar  7  2019 sbin -> usr/sbin
drwxrwxr-x    2 root root  4096 Nov 30 16:47 share
drwxr-xr-x.   2 root root  4096 Apr 11  2018 srv
dr-xr-xr-x   13 root root     0 Nov 11 17:12 sys
drwxrwxrwt.   9 root root  4096 Nov 30 17:30 tmp
drwxr-xr-x.  14 root root  4096 Jan  8  2021 usr
drwxr-xr-x.  20 root root  4096 Jan  8  2021 var
[yinhan@VM-12-12-centos /]$ cd share/
[yinhan@VM-12-12-centos share]$ ll
total 20
-rw-rw-r-- 1 anonymous anonymous 35 Nov 30 16:38 anonymous2
-rw-rw-r-- 1 anonymous anonymous  0 Nov 30 16:34 anonymous3
-rw-r--r-- 1 root      root      38 Nov 30 16:39 root1
-rw-r--r-- 1 root      root      37 Nov 30 16:39 root2
-rw-r--r-- 1 root      root       0 Nov 30 16:33 root3
-rw-rw-r-- 1 yinhan    yinhan    37 Nov 30 16:35 yinhan1
-rw-rw-r-- 1 yinhan    yinhan    30 Nov 30 16:36 yinhan2
-rw-rw-r-- 1 yinhan    yinhan     0 Nov 30 16:32 yinhan3
[yinhan@VM-12-12-centos share]$ whoami
yinhan
[yinhan@VM-12-12-centos share]$ rm anonymous1
rm: cannot remove ‘anonymous1’: No such file or directory
[yinhan@VM-12-12-centos share]$ rm yinhan1
rm: cannot remove ‘yinhan1’: Permission denied
[yinhan@VM-12-12-centos share]$ 

权限介绍就介绍到这里,对文章支持的不妨点个赞,加个关注哦!


http://chatgpt.dhexx.cn/article/hZ329gCD.shtml

相关文章

Linux的权限命令

上一篇👉重定向输出>和>>&系统管理命令&管道| 总目录👉一文带你轻松加愉快入门Linux 文章目录 1.文件权限2.Linux三种文件类型:3.文件类型标识4.文件权限管理: &a…

【Linux入门】Linux权限及管理

【Linux入门】Linux权限及管理 目录 【Linux入门】Linux权限及管理Linux权限管理文件访问者的分类文件类型和访问权限(事物属性) 文件权限值的表示方法文件访问权限的相关设置方法目录的权限实现共享目录粘滞位目录权限总结 作者:爱写代码的刚…

Linux-权限

文章目录 1. 认识Linux下用户的分类1.1用户切换1. 2 指令暂时提权 2. 什么叫做权限2.1. 文件属性文件的类型文件权限属性角色和具体的人(用户)是什么关系呢?权限 3. 见一见没有权限会有什么现象(见见)4. 权限的修改问题修改文件 拥…

【Linux】linux权限设置

文章目录 一、shell1. shell概念2. 进程 二、用户1. 用户分类2. 用户切换 三、权限1. 临时权限提升2. 权限的属性3. linux中角色类别4. 第一列文件属性 四、修改权限1. 修改文件权限2. 修改文件所属3. 修改文件权限八进制4. 粘滞位 五、linux默认权限设置1. 默认权限2. 权限掩码…

linux权限管理操作(权限设置)

权限设置 语法:#chmod 选项 权限模式 文档 注意事项: 常用事项: -r:递归设置权限(文档类型为文件夹的时候) 权限模式:就是该文档需要设置的权限信息 文档:可以是文件,也…

Linux权限

文章目录 一、Linux下用户的分类二、文件访问者的分类三、权限的分类四、权限的表现形式五、修改权限六、粘滞位七、补充说明 一、Linux下用户的分类 超级用户(root)、普通用户 超级用户可以在Linux系统下做任何事情,不受任何限制 普通用户受…

Linux权限(下)

Linux权限下 file指令目录的权限x权限r权限w权限 文件的默认权限umask码修改umask码 粘滞位背景谁能删除设有粘滞位的目录下的文件?设置粘滞位的注意事项 file指令 在此之前我们先了解一个指令,这个指令可以让我们更详细的了解文件的具体类型&#xff0…

Linux--权限讲解

文章目录 前言一、什么是shell外壳程序?二、为什么有shell外壳程序?三. Linux的用户基本介绍四. 用户间的相互转换及权限的索取五. 什么是权限?六. 权限的具体分类七. 文件权限属性的改变和‘人’的改变八. 为什么要有权限?九. 显…

Linux权限的基本知识

本文已收录至《Linux知识与编程》专栏! 作者:ARMCSKGT 演示环境:CentOS 7 目录 前言 正文 权限是什么? Linux权限的划分 Linux用户的切换命令 Linux文件权限 Linux文件类型 Linux文件权限 Linux角色划分 文件权限的访问…

【Linux】权限管理

目录 一.用户在使用Linux系统时的权限 1.概念 2.用户权限切换(角色切换) 1.普通用户切换root 2.root切换普通用户 二.用户在使用文件或目录时的权限 0.如何区分是文件还是目录? 1.拥有文件或目录权限的三个身份 2.文件或目录的权限 3.如何修改权限 &#…

【Linux】——权限详解

Linux权限的概念 在学习Linux权限之前,我们需要首先了解一下关于用户的知识。在Linux下有两种用户,分别是root用户和普通用户。root用户就好比充钱的VIP一样,可以在Linux下做任何事情,几乎不受限制,我们也称其为超级用…

linux中权限详解,linux 权限详解

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls…

Linux文件权限

Linux文件权限 Linux下一切皆文件 Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件。 普通文件是文件。 目录(在win下称为文件夹)是文件。 硬件设备(键盘、硬盘、打印机)是文件。 Linux下有两种用户:超级用户(root&…

Linux权限管理

1.ACL权限 1.1ACL权限简介与开启 所有者、所属组和其他人的权限不够用,专门为用户设定独立的权限 #查看分区ACL权限是否开启 dumpe2fs -h /dev/sda3 如下图:蓝框就表示该分区具有acl权限 #临时开启分区ACL权限 mount -o remount,acl / #重新…

【Linux】一文掌握Linux权限

环境:centos7,腾讯云服务器 Linux文章都放在了专栏:【Linux】欢迎支持订阅🌹 前言 权限 一词相信大家都不陌生,与我们的生活密切相关。小区里的门禁制度、公司里的管理制度、学校里的校规规定、甚至是社交平台上的一些…

Linux权限理解

一.Linux权限概念 Linux 下有两种用户:超级用户( root )、普通用户。 超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。 超级用户的命令提示符是“#”,普通…

Linux权限全面解析 (欢迎各位Linux选手看过来,读到就是赚到)

目录 1.权限是什么 1.1生活实例理解权限 2.Linux下的权限 2.1Linux下的用户类别与事物属性 2.2介绍用户类别的具体意义 2.3具体实验 2.4文件类型简介 2.4.1 文件类型分类 2.4.2 文件类型依据 3.修改文件rwx权限 4.修改文件的owner,group 5.用户切换方式讲解 6.目录…

【Linux】Linux权限

Linux权限管理 文章目录 Linux权限管理1、Linux下权限的概念(1)用户权限(2)文件权限 2、权限的相关命令(1)用户切换超级->普通普通->超级 (2)用户提权(3&#xff0…

Linux权限详解

目录 1. 什么是权限 2. Linux上的用户 3.Linux权限管理 3.1 文件访问者的分类(人) 3.2 文件类型和访问权限(事物属性) 3.3 文件权限值的表示方法 3.4 文件访问权限的相关设置方法 chmod命令 chown指令 chgrp指令 umask指…

Linux用户权限

Linux用户权限 一、Linux权限的概念二、Linux文件权限管理1 、文件访问者的分类2 、文件类型和访问权限3、文件访问权限的相关设置方法 三、Linux目录的权限1、粘滞位 四、Linux权限的总结 一、Linux权限的概念 Linux下有两种用户:超级用户(root&#xf…