【Linux】文件权限详解

news2025/1/12 23:44:46

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁

🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁

🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁

感谢点赞和关注 ,每天进步一点点!加油!

目录

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁

一、权限的基本介绍

1.1 Linux文件属性

1.2 Linux组介绍

1.3 rwx权限

1.3.1 rwx作用到文件

1.3.2 rwx作用到目录

1.4 文件及目录权限实际案例

二、修改权限-chmod[change ...]

2.1 第一种方式:+ 、-、= 变更权限

2.2 第二种方式:通过数字变更权限

三、修改文件所有者-chown

四、修改文件所在组-chgrp


一、权限的基本介绍


1.1 Linux文件属性


Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。

执行"ll"命令显示的内容如下:

[root@devops test]# ll
total 4
-rw-r--r-- 1 root root 7 Apr 25 19:12 file.txt
[root@devops test]# 

说明

(1)第0位确定文件类型 ,说明:

  • -: 普通文件
  • d: 目录
  • l: 连接文件
  • c: 字符设备文件[键盘,鼠标]
  • b: 块设备文件[硬盘] ) 。

(2) 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。 R: 读 , w : 写权限 ,x: 执行权限 (-表示没有)。

(3) 第4-6位确定所属组(同用户组的)拥有该文件的权限 。

(4) 第7-9位确定其他用户拥有该文件的权限 。

(5) 1: 如果是文件,表示硬链接的数目, 如果是目录,则表示有多少个子目录 。

(6) root : 文件或者目录所有者。

(7) root : 文件或者目录所在的组。

(8) 7 : 表示文件大小,如果是目录,则统一为 4096 。

(9) Feb 25 09:39 文件最后修改的时间。

1.2 Linux组介绍


在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件 有所有者、所在组、其它组的概念。

1.3 rwx权限


1.3.1 rwx作用到文件

  1. [ r ]代表可读(read):可以读取,查看
  2. [ w ]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
  3. [ x ]代表可执行(execute):可以被执行

1.3.2 rwx作用到目录

  1. [ r ]代表可读(read): 可以读取,ls查看目录内容
  2. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
  3. [ x ]代表可执行(execute): 可以进入该目录

1.4 文件及目录权限实际案例


执行"ls -l "中显示的内容如下:

-rw-r--r-- 1 root root 29 Sep 29 13:02 abc.txt

说明:

  • 第一个字符代表文件类型: 文件 (-),目录(d),链接(l) ,如上是文件
  • 第一组rw- : 文件拥有者的权限是读、写,但不能执行
  • 第二组r-- : 与文件所在组的用户的权限是读, 但不能写和执行
  • 第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行

可用数字表示为: r=4,w=2,x=1 因此rw =4+2=6

  • 1 文件:硬连接数或 目录:子目录数(有两个隐藏目录 .(代表当前目录) ..(代码上级目录),所以你数的个数会少两个 )
  • root : 用户
  • root : 组
  • 29: 文件大小(字节 多一个结束符),如果是文件夹,显示 4096字节 (并不是代表目录下面所有文件的大小,它代表的是目录本身所占空间的大小(目录是一种特殊的文件))
  • Sep 29 13:02 最后修改日期
  • abc.txt : 文件名

二、修改权限-chmod[change ...]


文件类型

属主权限

属组权限

其他用户权限

0

1 2 3

4 5 6

7 8 9

d

R w x

R - x

R - x

目录文件

读 写 执行

读 写 执行

读 写 执行

基本说明:

通过chmod指令,可以修改文件或者目录的权限。

2.1 第一种方式:+ 、-、= 变更权限


u:所有者(user)  g:所有组(group)  o:其他人(other)  a:所有人(u、g、o的总和)(all)  

1) chmod   u=rwx,g=rx,o=x     文件、目录 【表示:给所有者rwx, 给所在组的用户 rx, 给其他人 x】  
2) chmod   o+w                文件、目录 【表示:给其它用户增加w 的权限】  
3) chmod   a-x                文件、目录    【表示:给所有用户 去掉 x权限】

案例演示一

说明:给abc.txt文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

[root@hdp105 test]# ll
total 4
-rw-r--r-- 1 root root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# chmod  u=rwx,g=rx,o=rx  abc.txt 
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt

案例演示二

说明:给abc..txt文件的所有者除去执行的权限,增加组写的权限

[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# chmod u-x,g+w abc.txt 
[root@hdp105 test]# ll
total 4
-rw-rwxr-x 1 root root 29 Sep 29 13:21 abc.txt

2.2 第二种方式:通过数字变更权限


文件类型

属主权限

属组权限

其他用户权限

0

1 2 3

4 5 6

7 8 9

d

R w x

R - x

R - x

目录文件

读 写 执行

读 写 执行

读 写 执行

  • r=4 w=2 x=1
  • rwx=4+2+1=7
chmod u=rwx,g=rx,o=x    文件、目录
相当于 chmod   751  文件、目录  ( 7(rwx)5(rx)1(x)  )

案例演示

要求:将 abc.txt 文件的权限修改成 rwxr-xr-x

rwx = 4+2+1 = 7
r+x = 4+1 = 5
r+x = 4+1 = 5

使用给数字的方式实现:

chmod 755 abc.txt


三、修改文件所有者-chown


基本介绍

chown  newowner  file  改变文件的所有者 
chown  newowner:newgroup  file  改变用户的所有者和所有组 

-R  如果是目录 则使其下所有子文件或目录递归生效

案例演示一

说明:请将 abc.txt 文件的所有者修改成 kangll

[root@hdp105 test]# useradd kangll
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# chown kangll abc.txt 
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# 

案例演示二

要求: 将 /hadoop/kangll/test 目录下所有的文件和目录的所有者修改成kangll

[root@hdp105 test]# ll  /hadoop/kangll/test
total 8
-rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
-rw-r--r-- 1 root   root 29 Sep 29 15:10 bbb.txt
[root@hdp105 test]# 
[root@hdp105 test]# chown -R  kangll  /hadoop/kangll/test
[root@hdp105 test]# 
[root@hdp105 test]# 
[root@hdp105 test]# ll
total 8
-rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
-rw-r--r-- 1 kangll root 29 Sep 29 15:10 bbb.txt

案例演示三

要求: 将test下的所有文件和目录的所有者都改成 kangll,将所在组改成hadoop


四、修改文件所在组-chgrp


基本介绍

chgrp newgroup file  改变文件的所有组

案例演示:

要求:将 abc .txt 文件的所在组修改成 hdfs

[root@hdp105 test]# 
[root@hdp105 test]# chown -R  kangll:hdfs   /hadoop/kangll/test
[root@hdp105 test]# 
[root@hdp105 test]# ll
total 8
-rwxr-xr-x 1 kangll hdfs 29 Sep 29 13:21 abc.txt
-rw-r--r-- 1 kangll hdfs 29 Sep 29 15:10 bbb.txt

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

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

相关文章

【C++】可变参数模板使用,在emplace中应用

🌏博客主页: 主页 🔖系列专栏: C ❤️感谢大家点赞👍收藏⭐评论✍️ 😍期待与大家一起进步! 文章目录 一、可变参数模板1.参数包的展开方式1.递归方式展开2.逗号表达式展开参数包 二、empl…

王杰国庆作业day6

服务器 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <my_head.h> #define PORT 2324 //端口号 #define IP "192.168.10.107" //本机IP int main(int argc, const char *argv[]) {sqlite3* d…

FPGA project : TFT_LCD

实验目标&#xff1a; 驱动TFT_LCD显示十色彩条。 重点掌握的知识&#xff1a; 1&#xff0c;液晶显示器&#xff0c;简称LCD(Liquid Crystal Display)&#xff0c;相对于上一代CRT显示器(阴极射线管显示器)&#xff0c;LCD显示器具有功耗低、体积小、承载的信息量大及不伤眼…

pwnable_hacknote

pwnable_hacknote Arch: i386-32-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE (0x8047000)32位&#xff0c;没开PIE main部分就不贴了&#xff0c;直接贴主要的函数 unsigned int ADD() {int v0; // ebxint i; // [e…

堆栈与堆(Stack vs Heap)有什么区别?

​编写有效的代码需要了解堆栈和堆内存&#xff0c;这使其成为学习编程的重要组成部分。不仅如此&#xff0c;新程序员或职场老手都应该完全熟悉堆栈内存和堆内存之间的区别&#xff0c;以便编写有效且优化的代码。 这篇博文将对这两种内存分配技术进行全面的比较。通过本文的…

【考研复习】union有关的输出问题

文章目录 遇到的问题正确解答拓展参考文章 遇到的问题 首次遇到下面的代码时&#xff0c;感觉应该输出65,323。深入理解union的存储之后发现正确答案是&#xff1a;67,323. union {char c;int i; } u; int main(){u.c A;u.i 0x143;printf("%d,%d\n", u.c, u.i); …

Java 随机数的获得方法(5种)

1. Math.random() 静态方法 产生的随机数是 0 - 1 之间的一个 double&#xff0c;即 0 < random < 1 代码&#xff1a; 结果&#xff1a; 当调用 Math.random() 方法时&#xff0c;自动创建了一个伪随机数生成器&#xff0c;实际上用的是 new java.util.Random()。当接…

C++项目:仿mudou库one thread one loop式并发服务器实现

目录 1.实现目标 2.HTTP服务器 3.Reactor模型 3.1分类 4.功能模块划分: 4.1SERVER模块: 4.2HTTP协议模块: 5.简单的秒级定时任务实现 5.1Linux提供给我们的定时器 5.2时间轮思想&#xff1a; 6.正则库的简单使用 7.通用类型any类型的实现 8.日志宏的实现 9.缓冲区…

使用 PPG(光电容积描记图)估计心率和 SpO2 水平(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

from PIL import Image,文字成图,ImageFont import jieba分词,input优雅python绘制图片

开始的代码 import os from PIL import Image, ImageDraw, ImageFont import jiebadef generate_image_with_white_bg(text, font_path, output_path):# 设置图片大小和背景颜色image_width 800image_height 600bg_color (255, 255, 255) # 白色# 创建图片对象image Imag…

基于MFC和OpenCV实现人脸识别

基于MFC和OpenCV实现人脸识别 文章目录 基于MFC和OpenCV实现人脸识别1. 项目说明1. 创建项目2. 启动窗口3. 登录窗口-添加窗口、从启动窗口跳转4. 启动窗口-美化按钮5. 登录窗口-美化按钮、雪花视频6. 注册窗口-美化按钮、雪花视频、从启动窗口跳转7. 注册窗口-开启摄像头8. 注…

小谈设计模式(15)—观察者模式

小谈设计模式&#xff08;15&#xff09;—观察者模式 专栏介绍专栏地址专栏介绍 观察者模式核心思想主要角色Subject&#xff08;被观察者&#xff09;ConcreteSubject&#xff08;具体被观察者&#xff09;Observer&#xff08;观察者&#xff09;ConcreteObserver&#xff0…

Linux CentOS7 vim多文件与多窗口操作

窗口是可视化的分割区域。Windows中窗口的概念与linux中基本相同。连接xshell就是在Windows中新建一个窗口。而vim打开一个文件默认创建一个窗口。同时&#xff0c;Vim打开一个文件也就会建立一个缓冲区&#xff0c;打开多个文件就会创建多个缓冲区。 本文讨论vim中打开多个文…

STM32CubeMX学习笔记-USB接口使用(CDC虚拟串口)

STM32CubeMX学习笔记-USB接口使用&#xff08;CDC虚拟串口&#xff09; 一、USB简介二、新建工程1. 打开 STM32CubeMX 软件&#xff0c;点击“新建工程”2. 选择 MCU 和封装3. 配置时钟4. 配置调试模式 三、USB3.1 参数配置3.3 配置时钟3.4 USB Device 四、生成代码五、查看端口…

王道考研操作系统——I/O管理

I/O设备的基本概念 键盘&#xff1a;输入设备&#xff08;把设备准备好的数据读入计算机当中&#xff09;&#xff1b; 显示器&#xff1a;输出设备&#xff08;把计算机中准备好的数据写出到设备上&#xff09;&#xff1b; 移动硬盘&#xff1a;既是输入又是输出 中断驱动…

近三年3D点云顶会论文及源码合集,含2023最新

目前2D图像识别技术早已成熟&#xff0c;但2D的图像信息只有XY两个维度&#xff0c;而3D点云能够提供三维世界的信息&#xff0c;因此在自动驾驶、机器人和增强现实等各种领域都得到了广泛的应用。 近年来随着深度学习的发展&#xff0c;作为计算机视觉新兴研究热点的3D点云技…

python利用matplotlib绘图,对于中文和负号不显示,显示方框“口口”完美解决办法!!

文章目录 一、问题展示二、问题分析三、解决办法四、结果展示 一、问题展示 二、问题分析 可以发现对中文&#xff0c;以及负号不显示。 三、解决办法 import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [usimHei] # 显示中文 plt.rcParams[axes.unicode_mi…

Task1:

""" 重置root管理员密码 """ step1: 在shell界面输入重启命令&#xff1b; step2: 重启过程中出现此界面&#xff0c;快速按键盘‘e’, 进入系统内核程序&#xff1b; step3: 在系统系统内核程序内&#xff0c;移动光标至Linux 参数这…

10.0 探索API调试事件原理

本章笔者将通过Windows平台下自带的调试API接口实现对特定进程的动态转存功能&#xff0c;首先简单介绍一下关于调试事件的相关信息&#xff0c;调试事件的建立需要依赖于DEBUG_EVENT这个特有的数据结构&#xff0c;该结构用于向调试器报告调试事件。当一个程序发生异常事件或者…

栈的应用场景(二)

有效的括号匹配 1.题目2.图分析3.代码实现 1.题目 2.图分析 3.代码实现 class Solution {public boolean isValid(String s) {//创建一个栈,来放左括号.Stack<Character> stack new Stack<>();//遍历字符串,左括号放进栈for(int i 0 ; i < s.length(); i){ch…