文件权限管理

一.基本权限介绍

1.基本权限类型

  • r : 4 : 可读
  • w : 2 : 可写
  • x : 1 : 可执行
    2.权限归属
  • u : 属主
  • -g : 属组
  • o : 其他人
    3.设置权设置属主,属组
  • 命令: chown
  • 选项: -R 递归设置
🌲同时设置属主和属组
[root@shawn song]# ll /home/song/a.txt 
---------- 1 root root 12 10月 29 17:22 /home/song/a.txt
[root@shawn song]# chown song.song !$
chown song.song /home/song/a.txt
[root@shawn song]# ll !$
ll /home/song/a.txt
---------- 1 song song 12 10月 29 17:22 /home/song/a.txt

🌲只设置属主
[root@shawn song]# chown root !$
chown root /home/song/a.txt
[root@shawn song]# ll !$
ll /home/song/a.txt
---------- 1 root song 12 10月 29 17:22 /home/song/a.txt

🌲只设置属组
[root@shawn song]# chown .root !$
chown .root /home/song/a.txt
[root@shawn song]# ll !$
ll /home/song/a.txt
---------- 1 root root 12 10月 29 17:22 /home/song/a.txt

4.修改 u, g, o, 对应的权限

  • 命令: chmod
  • 选项: -a 所有, -R 递归
  • 加减法
🌲单独加减一个权限和多个一起加减都可以
[root@shawn song]# ll
总用量 4
---------- 1 root root 12 10月 29 17:22 a.txt
    
🌲写在一起加一些权限(也可以单独拎一个"u+xw")
[root@shawn song]# chmod u+rw,g+rx,o+wx a.txt 
[root@shawn song]# ll a.txt 
-rw-r-x-wx 1 root root 12 10月 29 17:22 a.txt
    
🌲写在一起减一些权限
[root@shawn song]# chmod u-w,g-wx,o-x a.txt 
[root@shawn song]# ll a.txt 
-r--r---w- 1 root root 12 10月 29 17:22 a.txt
  • 赋值法
🌲"a"代表所有权限一起设置
[root@shawn song]# ll
总用量 4
-r--r---w- 1 root root 12 10月 29 17:22 a.txt
[root@shawn song]# chmod a=rwx a.txt 
[root@shawn song]# ll a.txt 
-rwxrwxrwx 1 root root 12 10月 29 17:22 a.txt
    
🌲逐个赋值
[root@shawn song]# chmod u=x,g=x a.txt 
[root@shawn song]# ll a.txt 
---x--xrwx 1 root root 12 10月 29 17:22 a.txt

🌲或者多个一起赋值
[root@shawn song]# chmod uo=r,g=w a.txt 
[root@shawn song]# ll a.txt 
-r---w-r-- 1 root root 12 10月 29 17:22 a.txt
  • 数字法
🌲"u"=4,  "g"=2,  "0"=1
[root@shawn song]# ll a.txt 
-r---w-r-- 1 root root 12 10月 29 17:22 a.txt
    
🌲"777"开放所有权限
[root@shawn song]# chmod 777 a.txt 
[root@shawn song]# ll a.txt 
-rwxrwxrwx 1 root root 12 10月 29 17:22 a.txt
    
🌲"000"不开放权限
[root@shawn song]# chmod 000 a.txt 
[root@shawn song]# ll a.txt 
---------- 1 root root 12 10月 29 17:22 a.txt
    
🌲可以按需求设置
[root@shawn song]# chmod 421 a.txt 
[root@shawn song]# ll a.txt 
-r---w---x 1 root root 12 10月 29 17:22 a.txt

二.权限对文件与目录的意义

1.对文件的意义

  • r : 读取文件的内容
  • w : 修改文件内容
  • x : 可以把文件当成一个命令 / 程序运行
    2.对目录的意义
  • r : 可以浏览该目录下的子目录名和子文件名字
  • w : 创建, 删除, 移动文件
  • x : 可以进入该目录, 只要我们要操作目录下的内容, 一定要对该目录有 x 权限
    3.操作文件夹下的文件内容

🍡查看一个文件内容至少需要具备的条件
🍡沿途所有文件夹的 x 权限
🍡对目标文件的 r 权限
在这里插入图片描述
🍡修改一个文件内容至少需要具备的条件
🍡沿途所有文件夹的 x 权限
🍡对目标文件的 w 权限
在这里插入图片描述

🍡执行一个自己制作的命令文件至少需要具备的条件
🍡沿途所有文件夹的 x 权限
🍡对目标文件的 r 以及 x 权限
对于解释型的执行文件需要"r"+“x”,而二进制执行文件只需要"x"
在这里插入图片描述
4.操作文件夹下面的子文件与子文件夹( 不是操作文件内容)

🍡在目录下创建, 删除, 移动文件至少需要具备的条件
🍡沿途所有文件夹的 x 权限
🍡对目标文件夹的 wx 权限
在这里插入图片描述
🍡浏览一个目录下的子目录与子文件名至少需要具备的条件
🍡沿途所有文件夹的 x 权限
🍡对目标文件夹的 rx 权限
在这里插入图片描述

三.文件管理权限之特殊权限

1.SUID

  • 作用
    🌲只能给可执行的文件加(命令)
    🌲设置有"s"权限的命令
    🌲普通用户使用时会临时变成该命令的属主
    🌲也就是获得该命令的属主权限
  • 修改密码passwd

在 Linux 中,用户密码都在"/etc/shadow"中,我们可以看到它对于其他人是没有权限的
在这里插入图片描述
⛅我们发现它在属主权限里多了个"s"权限,这就是所谓的"尚方宝剑"
⛅当普通用户使用带有这种权限的命令时
⛅普通用户会暂时获得这个命令属主的所有权限
⛅也就是成为了这个命令的主人(一般是root,root不受权限压制)
实验
让我们为 “cat” 命令加上 “s” 权限看看会发生什么
🌟首先我们使用root创建一个文件,并设置内容
在这里插入图片描述
🌟将 test.txt 对其他人的权限变成 0
在这里插入图片描述
🌟我们切换普通用户 song 来 cat 下 test.txt, 发现无权限,

🌟再看看 cat 命令是没有SUID权限的
在这里插入图片描述
🌟来使用 root 帮 cat 添加一下 SUID 权限
在这里插入图片描述
🌟我们再使用普通用户 song 来 cat 下 /test.txt , 发现尚方宝剑奏效了
在这里插入图片描述

2.SGID

  • 当SGID作用于普通文件时
    和SUID类似,在执行该文件时,用户将获得该文件所属组的权限
  • 当SGID作用于目录时

当一个用户在一个具有 “s” 权限的初始目录下创建子目录以及子子目录时
这些所有的子目录与子子目录所在的属组都将是初始目录所在的属组
在这里插入图片描述
3.SBIT

作用
目前只对目录有效果
用来阻止非文件的所有者删除具有"SBIT"权限文件夹下的文件
比如"tmp"目录就是这种目录
权限信息中最后一位t表明该目录被设置了SBIT 权限
SBIT 对目录的作用是:当用户在该目录下创建新文件或目录时
仅有自己和root才有权力删除,主要作用于一个共享的文件夹
在这里插入图片描述
演示
🌟我们可以自己创建一个这样的目录
在这里插入图片描述
🌟使用三个不同的用户在此目录下分别创建三个文件
在这里插入图片描述
在这里插入图片描述
🌟分别切换到不同用户来做删除操作
在这里插入图片描述
在这里插入图片描述

🌟由此我们可以看出每个用户只能对自己所创建的文件进行删除

四.权限管理之 umask (了解)

1.作用

  • 我们无论是用 root ,还是 UID > 199 的系统用户 / 普通用户创建的文件或者目录、
  • 它们的默认权限都是由 umask 来决定的
    2.文件与目录权限的计算
  • Linux文件默认的权限为 666, 目录权限为 777
  • 但会收受到 umask 大小的影响
    🌟文件权限计算方法: 偶数位直接相减,奇数位相减后加1
    在这里插入图片描述
    🌟目录权限计算方法: 直接相减
    在这里插入图片描述
    🌟UID > 199 的系统用户或者普通用户

默认 “umask”: 0002
文件权限:664
目录权限:775
🌟ROOT用户

默认 “umask”: 0022
文件权限:644
目录权限:755
3.设置 umask 的方法

须知 umask 越小, 权限就越大

  • 临时设置命令
    umask 000
  • 永久设置命令
# vim /etc/profile
⛅或者
# vim /etc/bashrc
⛅内容是一致的

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值