第八篇:权限管理体系

权限管理基础知识点

  权限管理概述

Linux通过rwx3种权限控制系统与保护系统,组成9位权限

Linux权限体系中还有3位特殊权限,组合起来就是12位权限体系

  rwx三种权限

权限 含义
r read  是否可读
w write  是否可写
x execute  是否可执行(一般是命令、脚本)

  用户三种关系

Linux下面任何一个文件/目录与用户的关系有三种

文件/目录与用户的关系 含义
所有者(个人) 这个文件或目录属于某个用户(所有者)
用户组(家庭) 这个文件或目录属于某个用户组(家庭)
其他人(陌生人) 这个文件或目录不属于某个用户和用户组

  9位权限

如何知晓文件或目录的所有者情况

  linux权限计算

 人们为了方便的使用权限,于是给每个权限字母设置了一个对应的数字,通过数字表示对应的权限

权限 含义 权限对应的数字
r read  是否可读 4
w write  是否可写 2
x execute  是否可执行(一般是命令、脚本) 1
- 没有权限 0
# 案例
-rw-r--r--
 420400400(644)

  修改权限

命令 说明
chmod change mode  使用数字字母形式修改权限
chown change owner  修改文件的所有者用户组
复制代码
# 已有环境
/yuan/yuan.txt

# 案例:修改yuan.txt文件的权限为755(掌握)
    # chomd基于数字形式的权限设置
        [root@yuan ~]# cd /yuan/
        [root@yuan yuan]# chmod 755 yuan.txt
        [root@yuan yuan]# ll  
        总用量 0
        -rwxr-xr-x 1 root root 0 9月  13 18:09 yuan.txt

    # chomd基于字符形式的权限设置(了解)
        [root@yuan yuan]# chmod u+rwx,g+rx,o+rx yuan.txt
        [root@yuan yuan]# ll
        总用量 0
        -rwxr-xr-x 1 root root 0 9月  13 18:09 yuan.txt

# 案例:给/yuan/yuan.txt 增加执行权限(所有位置)
    [root@yuan yuan]# # chmod u+x,g+x,o+x yuan.txt
    [root@yuan yuan]# # chmod ugo+x yuan.txt
    [root@yuan yuan]# # chmod a+x yuan.txt
    [root@yuan yuan]# chmod +x yuan.txt
    [root@yuan yuan]# ll
    总用量 0
    ---x--x--x 1 root root 0 9月  13 18:09 yuan.txt

# 案例:将/yuan/yuan.txt文件的所有者、用户组改为yuan用户
    [root@yuan yuan]# chown yuan.yuan yuan.txt 
    [root@yuan yuan]# ll
    总用量 0
    ---x--x--x 1 yuan yuan 0 9月  13 18:09 yuan.txt
复制代码

  系统默认权限(了解)

复制代码
# Linux系统通过umask命令控制文件和目录的默认权限
#一般情况下,文件的最大权限是666,目录的最大权限是777

# 目录默认权限
    777
  - 022
----------
    755

# 文件默认权限
    666
  - 022
----------
    644

# 减去umask的值,文件如果减去的值中某一位是奇数,该位加一
    666
  - 021
----------
    645
    646
复制代码

  Linux权限控制与系统安全(了解)

  • 通过权限控制让系统安全:
    • 网站搭建:服务器权限设置
    • 最小化原则:既要保证网站可以正常访问,也要保证网站安全
  • 推荐的网站权限配置:
    • 文件:644 root root
    • 目录:755 root root
  • 网站在运行的时候需要的用户:
    • 不推荐root用户
    • 推荐创建虚拟用户www/nginx

  3个特殊权限(知晓即可,未来工作中不会用)

3种特殊权限 判断    
set uid == suid

u的位置上有个s或S

对应的数字:4

运行这个命令的时候相当于是这个命令的所有者的权限 /bin/passwd
sticky(粘滞位)

o的位置上有个t

对应的数字:1

对于包含sticky权限的目录,每个用户都可以在目录下面创建内容,但是每个用户只能管理自己的文件 /tmp/
set gid == guid

g的位置上面有个s或S

对应的数字:2

运行这个命令的时候相当于是这个命令的用户组的权限 /bin/ssh-agent

权限与文件、目录 

  概述⭐⭐⭐⭐⭐

权限 文件 目录
r 是否可以读取文件(r 是否可以查看目录内容,需要x权限配合(rx
w 是否可以修改文件,需要r权限配合rw 是否可以在目录中创建、删除、重命名文件,需要x权限配合(wx
x 是否可以执行文件(命令、脚本),需要r权限配合rx 是否可以进入目录,是否可以访问目录下文件属性

  测试文件权限

通过root用户修改权限,yuan用户测试权限

# 环境准备
[root@yuan ~]# mkdir -p /yuan-mode/
[root@yuan ~]# echo 'hostname whoami' >/yuan-mode/yuan.sh
[root@yuan ~]# chown yuan.yuan /yuan-mode/yuan.sh    
[root@yuan ~]# chmod 000 /yuan-mode/yuan.sh
[root@yuan ~]# cd /yuan-mode/
[root@yuan yuan-mode]# ll yuan.sh 
---------- 1 yuan yuan 16 9月  13 19:48 yuan.sh

 测试文件的r权限

  • root修改r权限:chmod u=r yuan.sh

  •  yuan查看

 测试文件的w权限 

  • root修改w权限:chmod u=w yuan.sh

  •  yuan查看

总结:
    对于文件来说只有w权限不够,需要有r权限配合
    如果文件只有w,只能通过追加方式写入,如果vi/vim写入会清空文件原有内容

 测试文件的x权限

  • root修改x权限:chmod u=x yuan.sh

  •  yuan查看

# 总结
    对于文件的x权限不能单独使用,需要配合r权限使用

  测试目录权限

通过root用户修改权限,yuan用户测试权限

复制代码
# 环境准备
[root@yuan ~]# mkdir -p /yuan-mode/yuandir/
[root@yuan ~]# touch /yuan-mode/yuandir/yuan{00..05}.txt
[root@yuan ~]# chown -R yuan.yuan /yuan-mode/yuandir/
chown -R 命令用于递归更改指定文件或目录及其所有子文件和子目录的所有者/所属组
[root@yuan ~]# ll -d /yuan-mode/yuandir/
drwxr-xr-x 2 yuan yuan 114 9月  14 09:11 /yuan-mode/yuandir/
[root@yuan ~]# ll /yuan-mode/yuandir/
总用量 0
-rw-r--r-- 1 yuan yuan 0 9月  14 09:11 yuan00.txt
-rw-r--r-- 1 yuan yuan 0 9月  14 09:11 yuan01.txt
-rw-r--r-- 1 yuan yuan 0 9月  14 09:11 yuan02.txt
-rw-r--r-- 1 yuan yuan 0 9月  14 09:11 yuan03.txt
-rw-r--r-- 1 yuan yuan 0 9月  14 09:11 yuan04.txt
-rw-r--r-- 1 yuan yuan 0 9月  14 09:11 yuan05.txt
复制代码

 测试目录的r权限

root修改r权限:chmod u=r yuandir/

# 总结
    目录的r权限查看目录下内容,如果r权限下的属性信息无法查看提示"?",目录的r权限需要x权限配合
    对于目录的x权限表示是否能够进入目录权限,是否能够查看与修改目录下的文件的属性信息

 测试目录的w权限

# 总结
    目录的w权限表示在目录下面创建、删除、重命名文件
    对于目录的x权限表示是否能够进入目录权限,是否能够查看与修改目录下文件的属性信息
    实际应用:如果要给某个目录拥有“写”的权限,则授予目录rwx即可

  Permission denied 故障排查⭐⭐⭐⭐

日常操作 需要的权限
查看文件的内容 文件要有r权限
编辑或修改文件内容 文件要有rw权限
执行脚本/命令 文件要有rx权限
查看目录内容 目录要有rx权限
创建文件、删除文件 文件所在目录要有rwx权限
重命名 文件所在目录要有rwx权限

  Linux特殊属性 ⭐⭐⭐⭐⭐

  • 目的:预防重要文件或命令被修改
  • lsattr  查看这种特殊属性属性
  • chattr  修改这种特殊属性
    • a属性  append 只能追加
    • i属性  immutable 不朽的,无法毁灭的(无法修改)
chattr +a /yuan/a.txt  # 去掉这个属性则-a
chattr +i /yuan/a.txt   # 去掉这个属性则-i

 

posted @   猿小姜  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示