首页 > 系统相关 >Linux12位权限管理体

Linux12位权限管理体

时间:2024-11-13 20:31:55浏览次数:1  
标签:Linux12 oldboy txt 管理 sh mode 权限 root

1. Linux12位权限管理体

1.1 权限管理概述

  • Linux通过rwx3种权限控制系统与保护系统,组成9位权限.
  • Linux权限体系中还有3位特殊权限,组合起来就是12位权限体系.
  • Linux这简单的rwx控制整个Linux系统的安全,权限与用户共同组成Linux系统的安全防护体系.

1.2 Linux权限计算

2.0 rwx

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

2.1 何为9位权限?

  • Linux下面任何一个文件/目录与用户的关系有3种关系
文件/目录与用户的关系 含义
所有者 这个文件或目录属于某个用户(所有者)。你自己
用户组(家庭) 这个文件或目录属于某个用户组(家庭)。家人。
其他人(陌生人) 这个文件或目录不属于某个用户 也不属于这个用户组。隔壁老王
  • 如何快速知晓文件或目录的所有者情况

image

  • 9位权限与用户关系
    • 确定你当前是什么用户
    • 确认用户与文件关系(所有者,用户组,其他人)
    • 根据关系获取对应的权限

image

2.2 如何计算权限

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

权限 含义 权限对应的数字
r read 是否可读 4
w write 是否可写 2
x execute 是否可执行(一般是命令,脚本) 1
- 没有权限 0
-rw-r--r--.  1 root root    0 7月  18 08:53 oldboy01.txt
420 400 400
6    4   4
oldboy01.txt的权限是644

  • 习题案例
字母 ----> 数字
-rwxr-xr-x 755   
-r -r -r - 444  
-r -rw-rw- 466  

数字 ----->字母(文件)
644   -rw-r--r--
750   -rwxr-x--- 
700   -rwx------
600   -rw-------

2.3 修改权限

chmod命令: change mode 使用数字或字母形式修改权限。

chown命令: change owner 修改文件所有者,用户组。

# 修改oldboy.txt的权限为755.
chmod 755 oldboy.txt 

# 修改oldboy.txt所有者和用户组为oldboy(存在)。
chown oldboy.oldboy oldboy.txt

image

chmod 基于字符形式的权限设置:

image

chmod u+rw oldboy.txt
ll oldboy.txt
chmod u+rw,g+r,o+r oldboy.txt
ll oldboy.txt
-rw-r--r--. 1 1888 1888 0 8月  22 17:27 oldboy.txt
  • 案例:给/etc/rc.d/rc.local(所有位置)增加执行权限
# chmod u+x,g+x,o+x /etc/rc.d/rc.local
# chmod ugo+x /etc/rc.d/rc.local
# chmod a+x /etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local   最后的必会。
-R 改所有(危险)

chmod字符形式说明:主要掌握增加执行权限即可,其他情况一般使用数字形式即可。

2. 权限与文件,目录

1. 概述

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

2. 测试文件权限

  • 通过root修改权限,oldboy用户测试权限
mkdir -p /oldboy-mode/
echo 'hostname' > /oldboy-mode/oldboy.sh
ll /oldboy-mode/oldboy.sh
chown oldboy.oldboy /oldboy-mode/oldboy.sh
chmod 777 /oldboy-mode/oldboy.sh
  • root用户整体测试读,写,执行
[root@myvps oldboy-mode]# ll oldboy.sh 
-rwxrwxrwx. 1 1888 1888 9 9月   9 16:22 oldboy.sh
# 读取权限
[root@myvps oldboy-mode]# cat oldboy.sh 
hostname
# 写入权限
[root@myvps oldboy-mode]# echo 'whoami' >>oldboy.sh 
# 执行权限
[root@myvps oldboy-mode]# /oldboy-mode/oldboy.sh 
myvps
root
[root@myvps oldboy-mode]# ./oldboy.sh 
myvps
root
前提要有x
  • root 用户-修改权限

    root 修改 chmod u=r oldboy.sh

![image-20240909215404738](1. Linux12位权限管理体.assets/image-20240909215404738.png)

  • oldboy 查看

![image-20241013214942262](1. Linux12位权限管理体.assets/image-20241013214942262.png)

[oldboy@myvps oldboy-mode]$ cat oldboy.sh 
hostname
whoami
pwd
whoami
[oldboy@myvps oldboy-mode]$ ll 
总用量 4
-r-----r--. 1 1888 1888 27 10月 13 15:55 oldboy.sh
[oldboy@myvps oldboy-mode]$ echo 'pwd' >>oldboy.sh   # 没有 w权限导致的
-bash: oldboy.sh: 权限不够
[oldboy@myvps oldboy-mode]$ ./oldboy.sh      # 没有  x权限导致的
-bash: ./oldboy.sh: 权限不够
  • root 修改 chmod o=w oldboy.sh

image

  • oldboy 查看

image

image

oldboy@myvps oldboy-mode]$ ll 
  用量 4
--w-------. 1 oldboy oldboy 27 10月 13 15:55 oldboy.sh
[oldboy@myvps oldboy-mode]$ cat oldboy.sh 
cat: oldboy.sh: 权限不够
[oldboy@myvps oldboy-mode]$ echo 'pwd' >> oldboy.sh 
[oldboy@myvps oldboy-mode]$ echo 'pwd' >> oldboy.sh 
[oldboy@myvps oldboy-mode]$ echo 'pwd' >> oldboy.sh 
[oldboy@myvps oldboy-mode]$ echo 'pwd' >> oldboy.sh 
[oldboy@myvps oldboy-mode]$ echo 'pwd' >> oldboy.sh 
[oldboy@myvps oldboy-mode]$ echo 'pwd' >> oldboy.sh 
[oldboy@myvps oldboy-mode]$ echo 'pwd' >> oldboy.sh 
[oldboy@myvps oldboy-mode]$ echo 'pwd' >> oldboy.sh 
[oldboy@myvps oldboy-mode]$ ./oldboy.sh
-bash: ./oldboy.sh: 权限不够

得出小结论:

核心:对于文件来说只有w权限不够,需要有r权限配合.

如果文件只有w只能通过追加方式写入,如果vi/vim写入会清空文件内容只留最新的(:wq!)。

  • root 修改 chmod u=x oldboy.sh

image

  • oldboy 查看

image

[oldboy@myvps oldboy-mode]$ ll 
总用量 4
---x------. 1 oldboy oldboy 30 10月 13 16:27 oldboy.sh
[oldboy@myvps oldboy-mode]$ cat oldboy.sh 
cat: oldboy.sh: 权限不够
[oldboy@myvps oldboy-mode]$ echo 'hostname' >>oldboy.sh 
-bash: oldboy.sh: 权限不够
[oldboy@myvps oldboy-mode]$ ./oldboy.sh 
bash: ./oldboy.sh: 权限不够
[oldboy@myvps oldboy-mode]$ 

小结论:

x权限需要 r 配合

  • 增加了rw权限后测试
[root@myvps oldboy-mode]# chmod u+r oldboy.sh 
[root@myvps oldboy-mode]# ll 
总用量 4
-r-x------. 1 oldboy oldboy 30 10月 13 16:27 oldboy.sh
[oldboy@myvps oldboy-mode]$ ll 
总用量 4
-r-x------. 1 oldboy oldboy 30 10月 13 16:27 oldboy.sh
[oldboy@myvps oldboy-mode]$ cat oldboy.sh 
echo oldboy linux
pwd 
whoai

[oldboy@myvps oldboy-mode]$ ./oldboy.sh 
oldboy linux
/oldboy-mode
./oldboy.sh:行3: whoai: 未找到命令
[oldboy@myvps oldboy-mode]$ echo '996' >>oldboy.sh 
-bash: oldboy.sh: 权限不够

image

3.测试目录权限

  • 环境
环境准备:
mkdir -p /oldboy-mode/oldboydir/
touch /oldboy-mode/oldboydir/oldboy{10..20}.txt
chown -R oldboy.oldboy   /oldboy-mode/oldboydir/


[root@myvps ~]# cd /oldboy-mode/
[root@myvps oldboy-mode]# ll 
总用量 4
drwxr-xr-x. 2 root   root   243 10月 13 17:32 oldboydir
[root@myvps oldboy-mode]# cd oldboydir/
[root@myvps oldboydir]# ll 
总用量 0
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy10.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy11.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy12.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy13.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy14.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy15.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy16.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy17.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy18.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy19.txt
-rw-r--r--. 1 root root 0 10月 13 17:32 oldboy20.txt

1) 测试 r

chmod u=r mode-dir/
oldboy 测试

看目录本身信息加ll -d 目录名

image

目录小结论:

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

  • 测试 w

  • 没有w权限

2) 测试w

  • 没有w权限
[oldboy@oldboy-king-v2 oldboy]$ ll -d mode-dir/
dr-xr-xr-x. 2 oldboy oldboy 226 7月  25 11:07 mode-dir/
[oldboy@oldboy-king-v2 oldboy]$ ls mode-dir/
oldboy10.txt oldboy12.txt oldboy14.txt oldboy16.txt oldboy18.txt oldboy20.txt
[oldboy@oldboy-king-v2 oldboy]$ \rm -fr mode-dir *
rm: 无法删除"mode-dir/oldboy10.txt": 权限不够
rm: 无法删除"mode-dir/oldboy11.txt": 权限不够
rm: 无法删除"mode-dir/oldboy12.txt": 权限不够
rm: 无法删除"mode-dir/oldboy13.txt": 权限不够
rm: 无法删除"mode-dir/oldboy14.txt": 权限不够
rm: 无法删除"mode-dir/oldboy15.txt": 权限不够
rm: 无法删除"mode-dir/oldboy16.txt": 权限不够
rm: 无法删除"mode-dir/oldboy17.txt": 权限不够
rm: 无法删除"mode-dir/oldboy18.txt": 权限不够
rm: 无法删除"mode-dir/oldboy19.txt": 权限不够
rm: 无法删除"mode-dir/oldboy20.txt": 权限不够
[oldboy@oldboy-king-v2 oldboy]$ touch mode-dir/lidao.txt
touch: 无法创建"mode-dir/lidao.txt": 权限不够

目录小结论:

目录的w权限表示在目录下面创建,删除,重命名文件,只有w还不够,需要?配合。

对于目录x权限表示是否能够进入目录权限,是否能够查看与修改目录下文件的 属性信息 权限

实际应用建议:如果要对某个目录拥有“写”权限,则授予目录rwx即可。

4.系统默认权限(了解)

  • Linux系统通过umask命令控制文件和目录的默认权限.

  • 如何控制的?

文件:666
目录:777
减去umask的值,文件umask如果某一位是奇数,需要减去umask后这一位上+1
文件默认权限:
   666
-  022
-------
   644
  
目录默认权限:
   777
-  022
-------
   755
  
021
文件默认权限:
   666
-  021
-------
   645
+1
   646
  
目录默认权限:
   777
-  021
-------
   756
  • 小结
    • Linux默认权限通过umask控制即可.

5. ( 3个特殊权限)

  • 目标: 知晓特殊权限及例子.

image

  • 特殊权限之set uid = suid 4 : 运行这个命令的时候相当于是这个命令的所有者的权限. 例子passwd命 令.

  • 特殊权限之sticky(粘滞位) 1 : 对于包含sticky权限的目录,每个用户都可以在目录下面创建内容,但是每个用户只能管理自己的文件.

  • 特殊权限之set gid = guid 2 : 运行这个命令的时候相当于是这个命令的用户组的权限

  • 如何设置

chmod u+s /bin/rm

chmod o+t /tmp/

/bin/rm原始权限755 增加setuid
chmod 4755 /bin/rm

chmod 1777 /tmp/ 


  • 核心掌握:
    • /bin/passwd和/tmp/s和t含义即可.

6. Linux特殊属性

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

chattr +i oldboy.txt  #-i

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

1.概述⭐

  • 通过权限控制让系统安全

    • 搭建网站来说,服务器权限设置
    • 最小化原则:既要保证网站可以正常访问,也要保证网站安全.
  • 推荐的网站的权限配置为:

    • 文件 644 root root
    • 目录 755 root root
  • 网站在运行的时候需要用户:这个用户不推荐是root,推荐自己/自动创建虚拟用户www/nginx.

2.单台机器

  • 网站运行的时候是www用户,网站程序代码/app/code/www 目录,为例如何设置权限?
#01 . /app/code/www 目录
文件和目录所有者 root root (查看权限)
文件和目录权限   644 755

#02. /app/code/www/upload 上传目录
文件和目录所有者 www www  #如果不修改,则用户无法上传文件到upload目录下面(touch
upload/lidao.avi).
文件和目录权限   644 755

#03. 控制用户上传指定类型的文件

#04. 只能上传,不能执行.

3.集群

image

标签:Linux12,oldboy,txt,管理,sh,mode,权限,root
From: https://www.cnblogs.com/liaofy/p/18544738

相关文章

  • 系统管理体系——软件包管理
    1.Linux系统管理体系——软件包管理Linux下面的软件包格式为:rpm格式(红帽系列系统,CentOS,麒麟系统)或deb格式(Debian,Ubuntu)安装软件方式举例说明应用场景yum/apt方式点外卖,缺啥少啥,外卖解决通过网络下载软件包,替我们安装,如果有依赖自动下载依赖并安装.自......
  • 基于微信小程序的毕业设计——陪诊服务管理系统(附源码+论文)
      关键词:哪里可以做,毕业设计可以找人做吗?基于微信小程序;毕业;设计;我们专注于软件开发工程领域,熟练掌握多种开发技术,包括基于SpringBoot、Vue.js、SSM框架以及针对安卓 APP和微信小程序,ios系统或harmonyOS的应用开发。 (具体流程参见文章最后段落)一、引言随着医疗技术的不......
  • 权限系统:权限应用服务设计
    大家好,我是汤师爷~今天聊聊权限系统的应用服务设计。从业务需求的角度来看,权限系统需要解决两个核心问题:1、菜单渲染与动态展示当用户成功登录并接入系统后,系统需要动态获取并展示该用户有权限访问的菜单项。这一过程涉及前端系统与权限系统的交互。前端系统会向权限系统发......
  • Java版学生管理系统
    importjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;publicclassStudent{//创建JFrame窗口privateJFr......
  • 学校疫情管理系统
    ......
  • Android运行时请求权限封装
    @目录1介绍2测试用例设计3实现4用例测试5总结本文目的:“借助透明Activity封装一个易于调用的权限请求模块”1介绍Android权限的校验和申请比较简单,但在实际项目中使用时还要进行系统版本的适配,最不友好的是权限的申请结果需要在onRequestPermissionsResult中进行判断,如......
  • [ Linux 命令基础 ] Linux 命令大全-命令前置知识-系统管理-文件和目录管理-文本处理
    ......
  • 计算机组成原理与操作系统 第二章 处理机组成与管理
    目录1.CPU的功能和组成1.1CPU的四大功能1.2CPU的基本组成1.3一条指令如何在CPU内运行2.指令系统2.1机器语言与指令2.1.1基本概念2.1.2一条指令一般应包含的信息2.1.3指令的类型与功能2.1.4寻址方式2.2指令格式的设计2.2.1基本概念2.2.2指令类型2.2.3操作码类型2.2.4指令设计2.3指......
  • Privilege Escalation(权限提升)
    PrivilegeEscalation(权限提升)WhattheShell?Whatisashellshell是我们与命令行环境(CLI)交互时使用的工具。换句话说,Linux中常见的bash或sh程序都是shell的例子,Windows上的cmd.exe和Powershell也是如此。简而言之,我们可以强制远程服务器向我们发送对服务......
  • 基于SpringBoot+Vue的毕业设计管理系统设计与实现毕设(文档+源码)
    目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:         大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的毕业设计管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品毕设JavaWeb......