【Linux】文件权限详解

🍁 博主 "开着拖拉机回家"带您 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.rhkb.cn/news/147327.html

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

相关文章

国庆作业6

TCP服务器 #include "head.h" #define PORT 2580 //端口号 #define IP "192.168.31.219" //本机IP int main(int argc, const char *argv[]) {sqlite3* dbNULL;if(sqlite3_open("./my.db",&db)!SQLITE_OK){fprintf(stde…

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

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

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…

【Kafka专题】Kafka快速实战以及基本原理详解

目录 前言课程内容一、Kafka介绍1.1 MQ的作用1.2 为什么用Kafka 二、Kafka快速上手2.1 实验环境2.2 单机服务体验2.3 认识Kafka模型架构2.4 Kafka集群2.5 理解服务端的Topic、Partion和Broker2.6 章节总结&#xff1a;Kafka集群的整体结构 三、Kraft集群&#xff08;拓展&#…

【计算机网络】高级IO之select

文章目录 1. 什么是IO&#xff1f;什么是高效 IO? 2. IO的五种模型五种IO模型的概念理解同步IO与异步IO整体理解 3. 阻塞IO4. 非阻塞IOsetnonblock函数为什么非阻塞IO会读取错误&#xff1f;对错误码的进一步判断检测数据没有就绪时&#xff0c;返回做一些其他事情完整代码myt…

Linux和本地Windows如何互传文件(sz和rz指令)

目录 关于 rzsz 注意事项 安装软件 rz的使用&#xff08;本地主机文件传到Windows中&#xff09; sz的使用(Linux中的文件传到本地Windows主机中) 关于 rzsz 这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件. 安装完毕之后可以通过直接拖拽的方式将文件…

【源码】hamcrest 源码阅读及空对象模式、模板方法模式的应用

文章目录 前言1. 类图概览2. 源码阅读2.1 抽象类 BaseMatcher2.1 接口 Description提炼模式&#xff1a;空对象模式 2. 接口 Description 与 SelfDescribing 配合使用提炼模式 模板方法 后记 前言 hamcrest &#xff0c;一个被多个测试框架依赖的包。听说 hamcrest 的源码质量…

Linux性能优化--性能工具:系统内存

3.0.概述 本章概述了系统级的Linux内存性能工具。本章将讨论这些工具可以测量的内存统计信息&#xff0c;以及如何使用各种工具收集这些统计结果。阅读本章后&#xff0c;你将能够&#xff1a; 理解系统级性能的基本指标&#xff0c;包括内存的使用情况。明白哪些工具可以检索…

解决u盘在我的电脑中重复显示两个

删除注册表&#xff1a; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\DelegateFolders\{F5FB2C77-0E2F-4A16-A381-3E560C68BC83}]

910数据结构(2019年真题)

算法设计题 问题1 有一种排序算法叫做计数排序。这种排序算法对一个待排序的表&#xff08;采用顺序存储&#xff09;进行排序&#xff0c;并将排序结果存放到另一个新的表中。必须注意的是&#xff0c;表中所有待排序的关键字互不相同&#xff0c;计数排序算法针对表中的每个…

视频增强修复工具Topaz Video AI mac中文版安装教程

Topaz Video AI mac是一款使用人工智能技术对视频进行增强和修复的软件。它可以自动降噪、去除锐化、减少压缩失真、提高清晰度等等。Topaz Video AI可以处理各种类型的视频&#xff0c;包括低分辨率视频、老旧影片、手机录制的视频等等。 使用Topaz Video AI非常简单&#xff…

5-1.(OOP)初步分析MCV架构模式

组成&#xff1a;模型&#xff08;model&#xff09;、视图&#xff08;view&#xff09;、控制器&#xff08;controller&#xff09; view&#xff1a;界面、显示数据 model&#xff1a;数据管理、负责在数据库中存取数据以及数据合法性验证 controller&#xff1a;负责转…

Python大数据之PySpark(四)SparkBaseCore

文章目录 SparkBase&Core环境搭建-Spark on YARN扩展阅读-Spark关键概念[了解]PySpark角色分析[了解]PySpark架构后记 SparkBase&Core 学习目标掌握SparkOnYarn搭建掌握RDD的基础创建及相关算子操作了解PySpark的架构及角色 环境搭建-Spark on YARN Yarn 资源调度框…

Linux 下如何调试代码

debug 和 release 在Linux下的默认模式是什么&#xff1f; 是release模式 那你怎么证明他就是release版本? 我们知道如果一个程序可以被调试&#xff0c;那么它一定是debug版本&#xff0c;如果它是release版本&#xff0c;它是没法被调试的&#xff0c;所以说我们可以来调试一…

FPGA project : TFT_LCD

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

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

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

数据挖掘(2)数据预处理

一、数据预处理 1.1概述 数据预处理的重要性 杂乱性&#xff1a;如命名规则。重复性&#xff1a;同一客观事再不完整性&#xff1a;噪声数据&#xff1a;数据中存在错误或异常的现象。 数据预处理的常见方法 数据清洗&#xff1a;去掉数据中的噪声&#xff0c;纠正不一致。数…

HTML的学习 Day02(列表、表格、表单)

文章目录 一、列表列表主要分为以下三种类型&#xff1a;1. 无序列表&#xff08;Unordered List&#xff09;&#xff1a;2. 有序列表&#xff08;Ordered List&#xff09;&#xff1a;将有序列表的数字改为字母或自定义内容li.../li 列表项标签中value属性&#xff0c;制定列…

OpenCV实现视频的追踪(meanshift、Camshift)

目录 1&#xff0c;meanshift 1.1 算法流程 1.2 算法实现 1.3 代码实现 1.4 结果展示 1&#xff0c;meanshift 1.1 算法流程 1.2 算法实现 1.3 代码实现 import numpy as np import cv2 as cv# 读取视频 cap cv.VideoCapture(video.mp4)# 检查视频是否成功打开 if n…

分布式应用程序协调服务 ZooKeeper 详解

目录 1、ZooKeeper简介 2、ZooKeeper的使用场景 3、ZooKeeper设计目的 4、ZooKeeper数据模型 5、ZooKeeper几个重要概念 5.1、ZooKeeper Session 5.2、ZooKeeper Watch 5.3、Consistency Guarantees 6、ZooKeeper的工作原理 6.1、Leader Election 6.2、Leader工作流…