Linux基础命令篇:Linux文件权限与访问控制基础

news/2024/6/20 20:19:05/文章来源:https://blog.csdn.net/qq_39241682/article/details/137255336

Linux文件权限与访问控制基础
下面将详细介绍Linux文件权限管理,帮助有需要的ikun理解和应用这些概念。从基本的权限概念开始,然后介绍如何查看和修改权限。最后,我们整点高级的东西,如访问控制列表(ACL)。
在这里插入图片描述

1. 文件权限基础

在Linux中,每个文件和目录都有一组权限,用于控制不同用户对其的访问。权限分为三类:

  • 读(r):允许用户读取文件内容或列出目录中的文件
  • 写(w):允许用户编辑文件内容或在目录中创建、删除文件
  • 执行(x):允许用户运行文件(如果它是一个可执行程序)或进入目录
    权限按照三个主要用户类别分组:
  • 文件所有者(u,user)
  • 文件所属组(g,group)
  • 其他用户(o,others)

2. 查看文件权限

要查看文件或目录的权限,可以使用ls -l命令。例如,对于名为example.txt的文件,运行:
先创建一个example.txt文件,再查看文件
在这里插入图片描述

从左到右,输出的第一个字段表示文件类型和权限(-rw-r–r–)。忽略第一个字符(表示文件类型),剩下的9个字符分为3组,每组3个字符,分别表示所有者、组和其他用户的权限。
在本例中,所有者具有读写权限(rw-),组和其他用户只具有读取权限(r–)。数字1表示文件的硬链接数,user和group分别表示所有者和所属组。接下来是文件大小(25字节),修改日期和文件名。

3. 修改文件权限

要修改文件或目录的权限,可以使用chmod命令。chmod有两种模式:符号模式和数字模式。

3.1 符号模式

符号模式使用字母表示要修改的用户类别(u、g、o、a(表示全部))和要执行的操作(+、-、=)。例如,要向所有用户授予example.txt的写入权限,可以运行:
chmod a+w example.txt
在这里插入图片描述

要删除其他用户的写权限,可以运行:
chmod o-w example.txt
在这里插入图片描述

3.2 数字模式

数字模式使用3位八进制数表示权限。每位数字表示一个用户类别的权限,从左到右分别是所有者、组和其他用户。将每个权限映射到一个数值:r为4,w为2,x为1。每个用户类别的权限是这些值的和。
例如,要设置example.txt的权限,以便所有者具有读写权限(rw-),组具有只读权限(r–),其他用户没有权限(—),可以运行:
删除上面创建的example.txt文件,创建新的example.txt文件
在这里插入图片描述
在这里插入图片描述
给example.txt文件640权限,默认是644,chmod 640 example.txt
在这里插入图片描述
再给example.txt文件777权限
在这里插入图片描述
在这里,6(4+2)表示所有者的读写权限,4表示组的读取权限,0表示其他用户没有权限。

4. 访问控制列表(ACL)

访问控制列表(ACL)是一种更灵活的权限管理方式。要启用ACL,需要在文件系统挂载时启用ACL选项。之后,可以使用getfacl和setfacl命令查看和设置ACL。
例如,要允许名为user2的用户读取ikun.txt,可以运行:
setfacl -m u:user2:r ikun.txt
首先创建user2用户
在这里插入图片描述
再创建一个文件用于练习,touch ikun.txt
在这里插入图片描述
设置允许名为user2的用户读取ikun.txt
在这里插入图片描述
要查看example.txt的ACL,可以运行:
getfacl ikun.txt
在这里插入图片描述
这显示了ikun.txt的默认权限和特定用户(user2)的ACL。要删除特定的ACL条目,可以使用-x选项,例如:
setfacl -x u:user2 ikun.txt
在这里插入图片描述

5. 总结

在本教程中,我们介绍了Linux文件权限管理的基本概念,如何查看和修改文件权限,以及访问控制列表(ACL)的高级主题。通过了解和应用这些概念,初学者可以更好地管理Linux系统上的文件访问权限,确保数据的安全和完整性。
希望这些信息对您有所帮助!如果有不对的地方请不吝赐教,欢迎在评论区留言,发表你的看法。

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

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

相关文章

[Leetcode笔记] 动态规划相关

前言 写题目写到了一些和动态规划相关的内容,所以在这里记录一下 LCR 089 题解思路 总的来说,就是用一个数组去存储当前的最优解,然后从0开始一路向上顺推过去,求得最后一位的最优解。 class Solution { public:int rob(vect…

207基于matlab Simulink的无人机模型模拟飞机飞行过程

基于matlab Simulink的无人机模型模拟飞机飞行过程,具有GUI界面,可自行设置四旋翼飞行器结构参数,设有模拟仿真飞机动画。程序运行步骤:1,将Copy_4_of_quadrotorsflyerGU.mdlI文件拖入matlab命令窗口;2&…

算法——矩阵,被围绕的区域

. - 力扣(LeetCode) 最开始也是考虑使用dfs,对于矩阵中的每个点,如果能到达边界的O,则跳过继续dfs。否则如果上下左右四个方向都无法到达边界的O,则说明当前的无法到达,在一个set中记录他的行数…

1.5编写一个程序,输入梯形的上底,下底和高,输出梯形的面积。

1、编写一个程序,输入梯形的上底,下底和高,输出梯形的面积。 package com.kangning.web.controller.system;import java.util.Scanner;/*** 编写一个程序,输入梯形的上底,下底和高,输出梯形的面积。*/ public class CountArea {public static void main(String[] args) …

【操作系统】想要更好的学习计算机,操作系统的知识必不可少!!!

操作系统的概念 导言一、日常生活中的操作系统二、计算机系统层次结构三、操作系统的定义3.1 控制和管理计算机资源3.2 组织、调度计算机的工作与资源的分配3.3 给用户和其他软件提供方便接口与环境3.4 总结 四、操作系统的目标和功能4.1 作为管理者4.1.1 处理机管理4.1.2 存储…

【A-006】基于SSH的新闻发布系统(含论文)

【A-006】基于SSH的新闻发布系统(含论文) 开发环境: Jdk7(8)Tomcat7(8)MySQLIntelliJ IDEA(Eclipse) 数据库: MySQL 技术: SpringStruts2HiberanteJSPJquery 适用于: 课程设计,毕业设计&…

算法系列--递归,回溯,剪枝的综合应用(1)

💕"对相爱的人来说,对方的心意,才是最好的房子。"💕 作者:Lvzi 文章主要内容:算法系列–递归,回溯,剪枝的综合应用(1) 大家好,今天为大家带来的是算法系列--递归,回溯,剪枝的综合应用(1) 1.全排…

Higress 基于自定义插件访问 Redis

作者:钰诚 简介 基于 wasm 机制,Higress 提供了优秀的可扩展性,用户可以基于 Go/C/Rust 编写 wasm 插件,自定义请求处理逻辑,满足用户的个性化需求,目前插件已经支持 redis 调用,使得用户能够…

蓝桥杯-岛屿个数

solution 数1的块数题&#xff0c;加了内岛不计入的小限制&#xff0c;以及输入数据间没有空格&#xff0c;不是矩阵形式的整数输入。 判断是否是子岛屿&#xff1a;如果该岛屿有边缘部分或者可以通过外海走到边缘部分说明不是子岛屿 #include<iostream> #include<…

Django创建多app应用

目录 1. 引言 2. 多app创建的两种方式 2.1 多个app结构 2.2 单个apps多个app 3. 最后 1. 引言 在平常业务开发中&#xff0c;我们遇到的功能可能会有很多&#xff0c;单个app的应用可能无法满足我们 这个时候&#xff0c;我们就需要多app应用&#xff0c;例如&#xff1a…

基于SSM+Jsp+Mysql的固定资产管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

在线考试系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读300套最新项目持续更新中..... 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含ja…

Linux 系统 安装redis

Linux 系统 安装redis 下载redis安装包&#xff0c;并上传到服务器指定安装目录 一、解压安装包并安装 1、 tar xzf redis-4.0.9.tar.gz 2、先通过gcc -v是否有安装gcc&#xff0c;如果没有安装 统一安装Gcc rpm -Uvh *.rpm --nodeps --force 3、cd /usr/local/red…

前端之HTML——网页的骨架!!

目录 一、HTML介绍 二、HTML标签 &#xff08;一&#xff09;基础标签 &#xff08;二&#xff09;其他标签 2.1 6个常用标签 2.2 8个文本标签 2.3 6个列表标签 2.4 4个表格标签 2.5 4个媒体标签 2.6 1个嵌入标签 2.7 …

HBuilder uniapp发行h5遇到报错:此应用 DCloud appid 为 __UNI__95950AD ,您不是这个应用的项目成员。

uniapp打包遇到不是项目成员问题&#xff0c;如下截图&#xff1a; 解决方法如下&#xff1a; 打开项目的mainfest.json文件&#xff0c;在AppID位置点击重新获取&#xff0c;获取后重新点发行打包即可 另遇到HBuilder账号认证问题&#xff0c;如公司wifi打不开认证地址&#…

一文入门Ubuntu22

目录 1.安装Ubuntu22 2.常用目录 3.常用指令 1.sudo 超级用户权限运行命令 2.ls 罗列当前文件信息 3.文件目录相关&#xff1a; 1.cd改变工作路径&#xff1a; 2.pwd 3.创建目录和文件&#xff1a; 4.which 5.ps 6.kill 7.ping 4.用户相关 5.ssh与scp 6.服务相关…

【氮化镓】GaN器件中关态应力诱导的损伤定位

概括总结&#xff1a; 这项研究通过低频1/f噪声测量方法&#xff0c;探究了在关态&#xff08;OFF-state&#xff09;应力作用下&#xff0c;AlGaN/GaN高电子迁移率晶体管&#xff08;HEMTs&#xff09;中由应力引起的损伤的定位。研究中结合了电致发光&#xff08;EL&#xf…

谈谈MVCC机制

在MySQL中&#xff0c;MVCC&#xff08;多版本并发控制&#xff09;是InnoDB存储引擎使用的并发控制机制。它提供对数据的并发访问&#xff0c;并确保多用户环境中数据的一致性和隔离性。 InnoDB通过“Undo log”存储每条记录的多个版本&#xff0c;提供历史记录供读取&#x…

Spring Boot项目启动速度优化

1、配置自动配置排除列表&#xff0c;减少启动自动配置扫描&#xff0c;配置项spring.autoconfigure.exclude 2、启动类添加索引注解Indexed&#xff0c;去除启动过程中 Components 的扫描步骤&#xff0c;直接从索引文件读取。 import org.springframework.stereotype.lndexe…

自定义 Unity Scene 的界面工具

介绍 文档中会进行SceneView的自定义扩展&#xff0c;实现显示常驻GUI和添加自定义叠加层&#xff08;Custom Overlay&#xff09;。 最近项目开发用回了原生的Unity UI相关内容。对于之前常用的FairyGUI来说&#xff0c;原生的UGUI对于UI同学来讲有些不太方便。再加上这次会…