Day14-Linux系统基础权限知识精讲

Day14-Linux系统基础权限知识精讲

  • 1. chattr
  • 2. Linux系统权限。
    • 2.1 基础权限介绍
    • 2.2 画图讲解
    • 2.3 文件和目录权限细节总结
    • 2.4 建环境测试
    • 2.5 数字权限设置
    • 2.6 字符权限设置

给文件加特殊属性,实现特殊功能的命令。

1. chattr

a 只能追加内容,不能删除。

i 不能修改,不能删除。

chattr +i oldboy.txt #增加i属性。

chattr -i oldboy.txt #减少i属性。

lsattr 查看chattr设置的属性

练习:i属性

[root@oldboy ~]# touch oldboy.txt
[root@oldboy ~]# lsattr oldboy.txt
---------------- oldboy.txt
[root@oldboy ~]# chattr +i oldboy.txt
[root@oldboy ~]# lsattr oldboy.txt
----i----------- oldboy.txt
[root@oldboy ~]# rm -f oldboy.txt 
rm: 无法删除"oldboy.txt": 不允许的操作

练习:a属性

[root@oldboy ~]# ls oldboy.txt 
oldboy.txt
[root@oldboy ~]# chattr +a oldboy.txt
[root@oldboy ~]# lsattr oldboy.txt 
----ia---------- oldboy.txt
[root@oldboy ~]# chattr -i oldboy.txt
[root@oldboy ~]# lsattr oldboy.txt 
-----a---------- oldboy.txt
[root@oldboy ~]# rm -f oldboy.txt 
rm: 无法删除"oldboy.txt": 不允许的操作
[root@oldboy ~]# echo 1 >oldboy.txt 
-bash: oldboy.txt: 不允许的操作
[root@oldboy ~]# echo 1 >>oldboy.txt 
[root@oldboy ~]# echo 1 >>oldboy.txt 
[root@oldboy ~]# echo 1 >>oldboy.txt 
[root@oldboy ~]# echo 1 >>oldboy.txt 
[root@oldboy ~]# cat oldboy.txt
1
1
1
1
[root@oldboy ~]# chattr -a oldboy.txt

企业中用途:保护关键文件,防止被非法写入

[root@oldboy bin]# chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers
[root@oldboy bin]# lsattr  /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers

2. Linux系统权限。

2.1 基础权限介绍

  • 基础权限 共9位
    rw- r-- r–

1)3位一组,

2)前3位,用户位(owner),中三位为用户组位(group),后三位为其他用户位(others)
3)

r read 可读的权限 用数字4来表示,三位中的首位。

w write 可写的权限 用数字2来表示,三位中的中间位

x execute 可执行的权限 用数字1来表示,三位中的最后位

- 没有权限

2.2 画图讲解

在这里插入图片描述

2.3 文件和目录权限细节总结

1)针对【文件】

r 可以读取文件内容(block里)的权限。

w 可以增加、修改、删除文件内容(block里)的权限。

有没有删除文件本身的权限呢???

【删除文件的权限和文件本身属性无关】

x 可以执行文件

条件:

a.本身可执行b.配合rc.root不受r的控制

- 没有权限

Linux系统中的权限对于文件和目录来说,是有一定区别的

下面先列举下普通文件对应的权限重要知识。

  1. 可读r:表示具有读取、浏览文件内容(即读取文件实体block)的权限。

  2. 可写w:表示具有新增、修改、删除文件内容的权限。

  3. 可执行x:表示具有执行文件的权限。

其中,对于可读r,这里有两点需要说明:

  • 如果没有可读r的配合,那么使用vim编辑文件时会提示无法编辑(但可强制编辑覆盖文件),可以使用echo等命令进行重定向或追加内容到文件;
  • 删除、移动或创建文件等的权限是受父目录(上一级目录)的权限控制的

对于可执行x,需要注意以下3点。

  • 首先文件的本身要能够执行(命令或脚本)。
  • 如果是普通用户,同时还需要具备可读r的权限才能执行文件。
  • 而root用户只要有可执行x的权限就能执行文件。

针对目录对应读、写、执行权限的详细说明
Linux系统中目录的权限和文件有一些细微区别

下面是目录对应的权限重要知识。

  1. 可读r:表示具有浏览目录下面文件及子目录名的权限,例如,可执行ls dir命令查看目录下的内容。但是如果没有可执行x的配合,则不能切换到指定目录里,即无法执行cd dir命令。

  2. 可写w:表示具有增加、删除或修改目录内文件的权限。但是,如果没有可执行x的配合,即使有w权限,也无法删除或创建文件。

  3. 可执行x:表示具有进入目录的权限。例如可以执行cd dir命令切到目录下,但是无法列表目录下的文件及子目录。

2.4 建环境测试

Linux系统9位基础权限测试环境下的用户角色需求规划
incahome 家组
oldboy 家庭男主人,用来代表用户(User)角色,是文件的所有者
oldgirl 女主人(和所有者oldboy属于相同组,oldboy的家人)用来代表用户组incahome的角色
其他人 test 其他(others)人,用来代表其他用户角色

实践:

[root@oldboy ~]# groupadd incahome
[root@oldboy ~]# useradd oldboy -g incahome
[root@oldboy ~]# useradd oldgirl -g incahome
[root@oldboy ~]# id oldboy
uid=5023(oldboy) gid=5023(incahome)=5023(incahome)
[root@oldboy ~]# id oldgirl
uid=5024(oldgirl) gid=5023(incahome)=5023(incahome)
[root@oldboy ~]# useradd test

开启四个窗口,依次调整为如下用户登录:root,oldboy,oldgirl,test

root窗口:

[root@oldboy ~]# mkdir /oldboy -p
[root@oldboy ~]# cd /oldboy/
[root@oldboy oldboy]# echo "echo 'I am 35.'" >test.sh
[root@oldboy oldboy]# cat test.sh
echo 'I am 35.'
[root@oldboy oldboy]# ls -l test.sh 
-rw-r--r--. 1 root root 16 520 12:43 test.sh

测试得出结论;

设置新的用户和组

[root@oldboy oldboy]# chown oldboy.incahome test.sh 
[root@oldboy oldboy]# ls -l
总用量 4
-rw-r--r--. 1 oldboy incahome 16 520 12:43 test.sh

调整权限:

[root@oldboy oldboy]# chmod 775 test.sh 
[root@oldboy oldboy]# ls -l
总用量 4
-rwxrwxr-x. 1 oldboy incahome 22 520 12:52 test.sh[root@oldboy /]# chown oldboy.incahome /oldboy/
[root@oldboy /]# ls -ld /oldboy/
drwxr-xr-x. 2 oldboy incahome 21 520 12:45 /oldboy/[root@oldboy /]# chmod 761 /oldboy/
[root@oldboy /]# ls -ld /oldboy/
drwxrw---x. 2 oldboy incahome 30 520 13:50 /oldboy/

=权限设置

  1. 数字权限
r     4
w   2
x    1\-    0字符权限 rwx r-x r-x   数字权限 755
字符权限 rwx rw- --x   数字权限 761
  1. 字符权限
字符权限 rwxr-xr-x.  数字权限 755
字符权限 rw-rw-r--.  数字权限 664
字符权限 rw-r-xr--.  数字权限 654
字符权限 rwxr-xr-x.  数字权限 755
字符权限 rwxr-xrwx.  数字权限 757数字权限 715 字符权限  rwx--xr-x
数字权限 661 字符权限  rw-rw---x
数字权限 113 字符权限  --x--x-wx
数字权限 274 字符权限  -w-rwxr--
数字权限 576 字符权限  r-xrwxrw-

设置命令:chmod change mode

-R 递归设置

2.5 数字权限设置

chmod 数字权限 文件

例子:

chmod 755  文件
chmod -R 755 /oldboy

2.6 字符权限设置

(1)用户或用户组的定义

  • u 代表属主用户三位(owner/user)
  • g 代表属组(group)三位
  • o 代表其它用户(other)三位
  • a 或者不写,同时代表ugo属主、属组和其他用户,也就是上面三个用户(或组)的所有(all);

(2)权限定义字母,和前文一致。

  • r 代表读权限,用数字4表示;
  • w 代表写权限,用数字2表示;
  • x 代表执行权限,用数字1表示;
  • 代表没有权限,用数字0表示。

(3)权限增减字符详细定义

  • +:添加权限。
  • -:取消权限。
  • =:取消其他所有权限,然后赋予给定的权限。

权限命令 用户类型 操作字符 权限字符 文件或目录
chmod u g o a + - = r w x - 目录文件

chmod u+x,g-w,o=rwx test.sh

练习:

[root@oldboy /]# cd oldboy/
[root@oldboy oldboy]# ls -l
总用量 8
-rwxr-xr-x. 1 oldboy incahome 22 520 13:50 a
-rwxr-xr-x. 1 oldboy incahome 22 520 13:50 test.sh
[root@oldboy oldboy]# chmod u-x test.sh 
[root@oldboy oldboy]# ls -l
总用量 8
-rwxr-xr-x. 1 oldboy incahome 22 520 13:50 a
-rw-r-xr-x. 1 oldboy incahome 22 520 13:50 test.sh
[root@oldboy oldboy]# chmod g+w test.sh 
[root@oldboy oldboy]# chmod o=--- test.sh 
[root@oldboy oldboy]# ls -l
总用量 8
-rwxr-xr-x. 1 oldboy incahome 22 520 13:50 a
-rw-rwx---. 1 oldboy incahome 22 520 13:50 test.sh
[root@oldboy oldboy]# chmod u=x,g=-,o=rwx test.sh 
[root@oldboy oldboy]# ls -l
总用量 8
-rwxr-xr-x. 1 oldboy incahome 22 520 13:50 a
---x---rwx. 1 oldboy incahome 22 520 13:50 test.sh
[root@oldboy oldboy]# chmod -x test.sh 
[root@oldboy oldboy]# ls -l
总用量 8
-rwxr-xr-x. 1 oldboy incahome 22 520 13:50 a
-------rw-. 1 oldboy incahome 22 520 13:50 test.sh
[root@oldboy oldboy]# ls -l /etc/rc.local 
lrwxrwxrwx. 1 root root 13 57 2021 /etc/rc.local -> rc.d/rc.local
[root@oldboy oldboy]# ls -l /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 473 41 2020 /etc/rc.d/rc.local
[root@oldboy oldboy]# chmod +x /etc/rc.d/rc.local 
[root@oldboy oldboy]# chmod -x /etc/rc.d/rc.local 
[root@oldboy oldboy]# ls -l /etc/rc.d/rc.local 
-rw-r--r--. 1 root root 473 41 2020 /etc/rc.d/rc.local
[root@oldboy oldboy]# 
[root@oldboy oldboy]# chmod +x /etc/rc.d/rc.local 
[root@oldboy oldboy]# ls -l /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 473 41 2020 /etc/rc.d/rc.local
[root@oldboy oldboy]# chmod a-x /etc/rc.d/rc.local 
[root@oldboy oldboy]# ls -l /etc/rc.d/rc.local 
-rw-r--r--. 1 root root 473 41 2020 /etc/rc.d/rc.local

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/695177.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE蓝图 入口(FunctionEntry)节点和源码

系列文章目录 UE蓝图 Get节点和源码 UE蓝图 Set节点和源码 UE蓝图 Cast节点和源码 UE蓝图 分支(Branch)节点和源码 UE蓝图 入口(FunctionEntry)节点和源码 文章目录 系列文章目录一、FunctionEntry节点功能二、入口节点用法1. 创建函数2. 命名函数3. 定义参数4. 编写函数逻辑5…

Git合并固定分支的某一部分至当前分支

在 Git 中,通常使用 git merge 命令来将一个分支的更改合并到另一个分支。如果你只想合并某个分支的一部分代码,可以使用以下两种方法: 1.批量文件合并 1.1.创建并切换到一个新的临时分支 首先,从要合并的源分支(即要…

C++面向对象程序设计-北京大学-郭炜【课程笔记(四)】

C面向对象程序设计-北京大学-郭炜【课程笔记(四)】 1、this指针1.1、this指针的作用1.2、this指针和静态成员函数 2、静态成员变量和静态成员函数2.1、基本概念2.2、基本概念总结2.3、如何访问静态成员2.4、静态成员变量的使用场景(重要&…

浏览器---浏览器/http相关面试题

1.localStorage和sessionStorage 共同点:二者都是以key-value的键值对方式存储在浏览器端,大小大概在5M。 区别: (1)数据有效期不同:sessionStorage仅在当前浏览器窗口关闭之前有效;localStorag…

Eigen:Vector3d 变量初始化遇到的问题

Eigen:Vector3d 变量初始化遇到的问题 2024.2.22 日 ,在使用 Eigen:Vector3d 这个类型的 变量,在类中进行初始化时 遇到了如下问题: 首先在类的声明内部,是不能声明完,再给变量赋值的,不管是 Eigen:Vector…

【 Flutter】安装、运行坑记录

运行demo报错 Exception in thread “main” java.net.ConnectException: Connection timed out: connect原因:网络问题,gradle包未能下载 解决方案:配置android studio代理,重新打开项目,as会自动下载缺失依赖

(done) 如何判断一个矩阵是否可逆?

参考视频:https://www.bilibili.com/video/BV15H4y1y737/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 这个视频里还暗含了一些引理 1.若 AX XB 且 X 和 A,B 同阶可逆,那么 A 和 B 相似。原因&#xff1…

安卓开发:挑战每天发布一个封装类02--Wav录音封装类AudioChannel 1.0

简介 库名称:AudioChannel 版本:1.0 由于项目需求录音并base64编码存到服务器中,就顺手改装了一个别人的封装类 原封装类地址:Android AudioRecord音频录制wav文件输出 - 简书 (jianshu.com) 描述:此封装类基于AudioRecord实现wav的音频…

WEB相关工具(wget、curl、ab)

目录 一、wget 1、wget基本语法 2、wget帮助的更多选项 二、curl 1、curl基本语法 2、curl命令下载 3、curl命令基本用法 3.1 curl伪装 3.2 提取状态码 3.3 提取本地IP地址 3.4 提取远端服务器IP地址 3.5 提取本地端口 3.6 提取远端服务器端口 三、压力测试工具…

Unity xLua开发环境搭建与基础进阶

Unity是一款非常流行的游戏开发引擎,而xLua是一个为Unity开发者提供的Lua框架,可以让开发者使用Lua语言来进行游戏开发。在本文中,我们将介绍如何搭建Unity xLua开发环境,并进行基础进阶的学习。 环境搭建 首先,我们需…

高维数据的中介效应【中介分析】《R包:HIMA》

允许基于高级中介筛选和惩罚回归技术来估计和测试高维中介效应 Hima包浏览 高维中介示意图 图1. 在暴露和结果之间有高维中介的情况 本包的作用 在确定独立筛选和极小极大凹惩罚技术的基础上,采用联合显著性检验方法对调解效果进行检验。使用蒙特卡罗模拟研究来展…

Python爬虫实战入门:爬取360模拟翻译(仅实验)

文章目录 需求所需第三方库requests 实战教程打开网站抓包添加请求头等信息发送请求,解析数据修改翻译内容以及实现中英互译 完整代码 需求 目标网站:https://fanyi.so.com/# 要求:爬取360翻译数据包,实现翻译功能 所需第三方库 …

2024什么样的大路灯比较好?5大爆款落地灯推荐必看!

大路灯作为一个可以照明,让室内环境光线更加舒适的电器,能够减少用眼时不良光线带来的疲劳感,营造接近自然光的舒适光,受到很多家长的关注! 但现在市面有很多不良商家推出的大路灯虚标参数,实际护眼性能很低…

线性代数:向量空间

目录 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2

vue中使用AraleQRCode生成二维码

vue中使用AraleQRCode生成二维码 问题背景 本文介绍vue中生成二维码的一种方案&#xff0c;使用AraleQRCode来实现。 问题分析 &#xff08;1&#xff09;安装对应的依赖包 npm i arale-qrcode --save &#xff08;2&#xff09;完整代码如下: <template><!-…

解决docker中运行的jar包连不上前端程序

目录 检查端口映射 查看容器的 IP 地址 检查容器网络设置 防火墙和网络策略 前端程序配置 跨域资源共享 (CORS) 日志查看 连接问题通常涉及到网络配置和端口映射。确保你在 Docker 中运行的 JAR 包可以被前端程序访问&#xff0c;可以采取以下步骤来解决问题&#xff1a…

ATCoder Beginnner Contest 341 A~G

A.Print 341&#xff08;模拟&#xff09; 题意&#xff1a; 给定一个正整数 N N N&#xff0c;输出由 N N N个0和 ( N 1 ) (N1) (N1)个1交替组成的字符串。 分析&#xff1a; 按题意模拟即可 代码&#xff1a; #include<bits/stdc.h>using namespace std;int mai…

猫咪不喝水是什么原因?这些方法远离缺水小猫

有经验的铲屎官都知道&#xff0c;家里的猫似乎不太喜欢喝水。只看到一只或两只猫不喝水&#xff0c;那可能是例外情况。但绝大部分的猫都不咋爱喝水&#xff0c;这是为什么呢&#xff1f; 一、猫咪不喝水是什么原因&#xff1f; 如果你已经尝试了各种方法来让猫咪多喝水&…

合并Windows电脑的不同分区(不同的盘)的方法

本文介绍在Windows操作系统的电脑中&#xff0c;将磁盘上的不同分区&#xff08;例如E盘与F盘&#xff09;加以合并的方法。 最近&#xff0c;想着将新电脑的2个分区加以合并&#xff1b;如下图所示&#xff0c;希望将E盘与F盘合并为一个分区。本文就介绍一下实现这一需求的具体…

微服务篇之监控

一、为什么要监控 1.问题定位 假设客户端查询一些东西的时候&#xff0c;需要经过网关&#xff0c;然后服务A调用服务H&#xff0c;服务H调用K&#xff0c;服务K调用MySQL&#xff0c;当查询不出来的时候&#xff0c;我们不能快速定位到底是哪个服务的问题&#xff0c;这就需要…