【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.hqwc.cn/news/128551.html

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

相关文章

vue-6

一、声明式导航-导航链接 1.需求 实现导航高亮效果 如果使用a标签进行跳转的话,需要给当前跳转的导航加样式,同时要移除上一个a标签的样式,太麻烦!!! 2.解决方案 vue-router 提供了一个全局组件 router…

我的创业之路:我为什么选择 Angular 作为前端的开发框架?

我是一名后端开发人员,在上班时我的主要精力集中在搜索和推荐系统的开发和设计工作上,我比较熟悉的语言包括java、golang和python。对于前端技术中typescript、dom、webpack等流行的框架和工具也懂一些。目前,已成为一名自由职业者&#xff0…

Allegro如何用Pad Designer 设计焊盘

跟其它PCB的设计软件不一样。Allegro制作封装,第一步要先制作焊盘。 本文以圆形钻孔0.5mm,外盘0.8mm的C05D08焊盘为例一步步讲解如何制作焊盘。 1、首先打开Pad Designer,选择File→New,新建一个焊盘。 然后跳出下面的对话框,在框内输入封装名称,选择好要保存的焊盘路径…

母婴店怎么在微信小程序卖东西

随着互联网的发展,微信小程序已经成为一种新型的电商模式,它无需下载安装,使用方便,不占用手机内存,让购物变得更加简单便捷。母婴店也可以通过微信小程序来销售产品,拓宽销售渠道,增加销售额。…

HDMI简介

VGA接口 VGA传输红绿蓝模拟信号和同步信号。因传输的模拟信号,易受干扰,因此,在高分辨率下字体容易虚,信号线长的话,图像有拖尾现象。目前一些显示器已经不带VGA接口,取而代之的是HDMI和DP接口。 如下图所示…

Vs - Qt - 下拉窗口示例

下列代码定义了一个窗口&#xff0c;窗口采用竖直布局&#xff1a;一个按钮及一个label。按下按钮时候&#xff0c;窗口扩张&#xff0c;显示label控件。再次按下按钮时&#xff0c;窗口收缩&#xff0c;隐藏label控件。 详细代码如下&#xff1a; #include <QApplication&g…

微信小程序 table表格 固定表头和首列 右侧表格可以左右滚动

(一) 1.左侧一列固定不动 2.右侧表格内容可以左右滚动 3.单元格内容平均分配 4.每一行行高可以由内容撑开 通过 js 设置左侧一列行高与右侧表格内容行高保持一致 1.1 效果图 1.2 tabble.wxml <view classtable><!-- 左侧固定 --><view classtable_left_colum…

深入了解 RabbitMQ:高性能消息中间件

一、什么是消息队列 消息队列(Message Queue)是在消息的传输过程中保存消息的容器、 消息指的是两个应用间传递的数据。数据的类型有很多种形式 二、应用场景 主要有三个作用异步处理 场景说明: 用户注册后&#xff0c;需要发注册邮件和注册短信,传统的做法串行的应用解耦 场…

【juc】future并行执行并获取返回值

目录 一、截图示例二、代码示例2.1 接口示例2.2 调用示例 一、截图示例 二、代码示例 2.1 接口示例 package com.learning.controller;import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.…

stm32之freeRTOS驱动小车

该文章记录将stm32之智能小车总结移植到freeRTOS上&#xff0c;期间也遇到了好些问题&#xff0c;这里做下记录。也是对freeRTOS的一个应用实践。 一、freeRTOS工程的创建 工程是利用CubeMX进行创建的&#xff0c;挺简单的&#xff0c;有空再试下手动移植freeRTOS。 启用软件定…

LLMs 生成式人工智能项目生命周期备忘单Generative AI Project Lifecycle Cheat Sheet

到目前为止&#xff0c;在本课程中&#xff0c;从选择模型到微调模型&#xff0c;再到将其与人类偏好对齐&#xff0c;这一切都将在您部署应用程序之前发生。为了帮助您规划生成式AI项目生命周期的各个阶段&#xff0c;这个速查表提供了每个工作阶段所需的时间和精力的一些指示…

关于 “高可用集群” 的 从业经验漫谈

关于高可用集群 PART 1 高可用的概念 高可用&#xff08;High Availability&#xff09;是高可用集群&#xff08;High Availability Cluster&#xff09;的简称&#xff0c;至少由2台服务器组成&#xff0c;一般指的是应用服务对客户端的持续可用。高可用集群可以借助多种技术…