linux命令详解,文件系统权限相关
文件系统权限相关
linux系统中一切都是文件
查看权限
Is -la /etc/passwd
更改文件所有者
chown root file
修改文件权限
sudo chmod u=rwx,g+rw,o-r file
sudo chmod u+x,gtw,o-r file
chmod 400 <file>
一、Linux系统中一切都是文件
在linux系统中,几乎所有的资源都被抽象为文件,包括硬件设备(如硬盘、网卡等)、进程间通信、网络连接等。这种设计理念使得对各种资源的管理可以通过统一的文件操作方式来进行,大大简化了系统的架构和管理。
二、查看权限
ls -la 文件或目录
ls -la /etc/passwd
ls: 列出文件或目录的信息。-l: 使用长格式列出信息,即为每个文件(或目录)提供详细的权限、链接数、所有者、组、大小和修改日期等信息。-a: 显示所有文件,包括以点(.)开头的隐藏文件。

这个输出表示:
-
-rw-r--r--: 这部分表示文件的权限设置。具体来说:- 第一个字符
-表示这是一个普通文件(如果这里是d,则表示是一个目录)。 - 接下来的9个字符分为三组,每组3个字符,分别表示文件所有者、文件所属组和其他用户对文件的访问权限。
rw-表示文件所有者(root)具有读取和写入权限。r--表示文件所属组(root)具有只读权限。r--表示其他用户也具有只读权限。
- 第一个字符
-
1: 这表示文件的硬链接数。硬链接是指向同一文件的不同文件名。这里的1表示没有其他文件名指向这个文件。 -
root: 这是文件的所有者,即拥有该文件的用户。在这个例子中,文件的所有者是root。 -
root: 这是文件所属的组。在这个例子中,文件所属的组也是root。 -
3171: 这是文件的大小,以字节为单位。这里表示/etc/passwd文件的大小为 3171 字节。 -
2024年 4月15日: 这是文件的最后修改日期。这里表示文件最后一次被修改是在2024年的4月15日。 -
/etc/passwd: 这是文件的完整路径。/etc/passwd是一个重要的系统文件,用于存储用户账户的基本信息。

-
drwxr-xr-x: 这部分表示目录的权限设置。具体来说:- 第一个字符
d表示这是一个目录(如果这里是-,则表示是一个普通文件)。 - 接下来的9个字符分为三组,每组3个字符,分别表示文件所有者、文件所属组和其他用户对目录的访问权限。
rwx表示文件所有者(kali)具有读取、写入和执行权限。r-x表示文件所属组(kali)具有读取和执行权限。r-x表示其他用户也具有读取和执行权限。
- 第一个字符
-
2: 这表示目录的硬链接数。硬链接是指向同一文件的不同文件名。对于目录,这个数字通常表示该目录下的子目录数量加上2(因为每个目录都包含两个特殊条目:.和..)。这里的2表示该目录下只有一个子目录或文件。 -
kali: 这是目录的所有者,即拥有该目录的用户。在这个例子中,目录的所有者是kali。 -
kali: 这是目录所属的组。在这个例子中,目录所属的组也是kali。 -
4096: 这是目录的大小,以字节为单位。这里表示该目录占用的磁盘空间为 4096 字节。实际上,目录的大小通常是一个固定值,因为它主要用于存储目录项的元数据。 -
11月 6日 23:22: 这是目录的最后修改日期和时间。这里表示目录最后一次被修改是在11月6日的23:22。 -
.: 这表示当前目录。在ls -la命令的输出中,.代表当前目录,而..代表父目录。
三、更改文件所有者,chown
用于更改文件或目录的所有者和所属组
chown [选项] 新所有者[:新组] 文件...
选项
-c或--changes:显示更改的文件名。-f或--silent或--quiet:忽略错误信息。-v或--verbose:显示处理的文件名。-R或--recursive:递归地处理目录及其子目录中的文件。--dereference:影响符号链接指向的目标文件,而不是符号链接本身。--no-dereference:仅更改符号链接的属性,而不是其目标文件的属性。--from=当前所有者:当前组:仅当文件的所有者和组匹配指定的当前所有者和组时才进行更改。
更改用户
chown username filename
chown root aaa
- chown是改变文件所有者的命令。
- root是新的所有者用户名,☒里表示将文件的所有者改为“root”用户。
- fiIe是要更改所有者的文件名称。执行这个命令后,文件的所有者将变为“root”用户。

更改文件所属组:
chown :新组 文件
chown :root bbb

同时更改文件所有者和所属组:
chown 新所有者:新组 文件
chown root:root ccc

递归更改
chown -R root:root ../bbb

四、修改文件权限,chmod
chmod 命令在 Linux 和类 Unix 操作系统中用于更改文件或目录的权限。权限可以分为三类:用户(所有者)、组和其他用户(其他人)。每类权限又可以细分为读(r)、写(w)和执行(x)权限。
符合模式
符号模式使用字母和符号来表示权限的变化。基本格式如下:
[who][operator][permissions]
who:指定哪些用户类别的权限要改变。可以是以下一个或多个字母的组合:u:用户(所有者)g:组o:其他用户(其他人)a:所有用户(等同于ugo)
operator:指定如何改变权限。可以是以下一个符号:+:添加权限-:移除权限=:设置权限
permissions:指定具体的权限。可以是以下一个或多个字母的组合:r:读权限w:写权限x:执行权限
符号模式实例
sudo chmod u=rwx,g+rw,o-r file
sudo:以超级用户(root)权限执行命令。这通常用于需要更高权限的操作。chmod:更改文件或目录的权限。u=rwx,g+rw,o-r:这是权限设置的具体部分,分为三个部分:u=rwx:设置用户(所有者)的权限为读(r)、写(w)和执行(x)。g+rw:给组增加读(r)和写(w)权限。o-r:从其他用户(其他人)那里移除读(r)权限。
file:要更改权限的文件名。

sudo chmod u+x,g+w,o-r file
u+x,g+w,o-r:这是权限设置的具体部分,分为三个部分:u+x:给用户(所有者)增加执行权限。g+w:给组增加写权限。o-r:从其他用户(其他人)那里移除读权限。

八进制模式
八进制模式使用数字来表示权限。每个权限类别(用户、组、其他用户)可以用一个八进制数字表示,范围从 0 到 7。每个数字的含义如下:
4:读权限(r)2:写权限(w)1:执行权限(x)
权限的组合可以通过将相应的数字相加得到:0:无权限1:执行权限(x)2:写权限(w)3:写和执行权限(wx)4:读权限(r)5:读和执行权限(rx)6:读和写权限(rw)7:读、写和执行权限(rwx)
八进制模式实例
chmod 400 file
chmod:更改文件或目录的权限。400:权限模式,使用八进制数字表示。file:要更改权限的文件名。- 用户(所有者):
r(读权限) - 组:
-(无权限) - 其他用户(其他人):
-(无权限)

chmod 777 file
权限变为对所有用户都完全开放
- 用户(所有者):
rwx(读、写、执行) - 组:
rwx(读、写、执行) - 其他用户(其他人):
rwx(读、写、执行)

相关文章:
linux命令详解,文件系统权限相关
文件系统权限相关 linux系统中一切都是文件 查看权限 Is -la /etc/passwd更改文件所有者 chown root file修改文件权限 sudo chmod urwx,grw,o-r file sudo chmod ux,gtw,o-r file chmod 400 <file>一、Linux系统中一切都是文件 在linux系统中,几乎所有的…...
2024-11-5 学习人工智能的Day22 openCV(4)
face_recognition 介绍 face_recognition 是一个非常流行的 Python 库,专门用于人脸识别任务。它基于 dlib 库和 HOG(Histogram of Oriented Gradients)特征以及深度学习模型,提供了简单易用的接口来进行人脸检测、面部特征点定位…...
JavaScript 网页设计详解教程
JavaScript 网页设计详解教程 引言 JavaScript 是一种广泛使用的编程语言,主要用于网页开发。它使得网页具有动态交互性,能够响应用户的操作。随着前端开发的不断发展,JavaScript 已成为现代网页设计中不可或缺的一部分。本文将详细介绍 Ja…...
技术复杂性导致估算不准确?5大对策
技术复杂性引发的估算不准确可能导致成本超出预算,不当的资源分配则可能造成人力浪费或关键任务缺乏必要支持,进而影响客户满意度和市场竞争力,增加项目失败的风险。而有效避免因技术复杂性导致的估算不准确问题,可以显著提升项目…...
【JavaEE初阶 — 多线程】死锁的产生原因和解决方法
目录 死锁 1.构成死锁的场景 (1) 一个线程一把锁 问题描述 解决方案(可重入锁) (2) 两个线程两把锁 问题描述 (3)N个线程 M把锁 哲学家就餐问题 2.死锁的四个必要条件 3.如何解决死锁问题 (1)避免出现请求和保持 (2)打破多个线程的循环等待关系 死锁…...
mapper.xml 使用大于号、小于号示例
<mapper namespace"com.example.EmployeeMapper"><!-- 更新employee_absent_resign_statistics表中的pre_work_date --><update id"updatePreWorkDate"><![CDATA[UPDATE employee e1JOIN employee e2ON e2.statistics_date < e1.s…...
深入了解决策树:机器学习中的经典算法
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
Flutter鸿蒙next 的 Sliver 实现自定义滚动效果
Flutter 提供了一些非常强大的滚动组件,如 ListView、GridView 等,它们可以在滑动时自动处理内容的显示和滚动。但当我们需要更复杂的滚动效果时,Sliver 组件便是一个强大的工具。通过自定义 Sliver,我们可以实现高度定制化的滚动…...
杨中科 .Net Core 笔记 DI 依赖注入
提到依赖不得不提到,控制反转(Inversion of Control,IOC)这个概念,简单的来讲就是将控制对象的权限交给框架,不再手动完成。IOC实现方式有2种: 1、服务定位器(ServiceLocator),主动…...
【RocketMQ】无法访问此网站 http://XXX:10080/ ERR_UNSAFE_PORT
安装完rocketmq-dashboard。打开浏览器访问地址。 问题提示: 无法访问此网站 网址为 http://192.168.22.197:10080/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。 ERR_UNSAFE_PORT 无法访问10080端口的网站通常是由于Chrome浏览器的安…...
pipreqs:快速准确生成当前项目的requirements.txt,还有和freeze的对比
大家好,这里是程序员晚枫。 今天给大家推荐一个快速生成requirements.txt的小工具:pipreqs。 什么是requirements.txt? 我们在开发Python项目的时候,需要用到requirements.txt来管理项目中使用的第三方库。 当我们把项目部署到…...
Spark 中的 RDD 分区的设定规则与高阶函数、Lambda 表达式详解
Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…...
redis十大数据类型
文章目录 一、redis字符串(String)set key value同时获取或设置多个键值获取指定区间范围内的值数字增减获取字符串长度和内容追加分布式锁getset(先get再set) 二、redis列表(List)通过索引获取列表中的元素…...
国内AI工具复现GPTs效果详解
国内AI工具复现GPTs效果详解 引言 近年来,随着人工智能技术的飞速发展,大型语言模型(LLM)逐渐成为研究和应用的热点。GPTs(Generative Pre-trained Transformer)系列模型,特别是GPT-4的推出&a…...
【学习笔记】SAP ABAP——OPEN SQL(一)【INTO语句】
【INTO语句】 结构体插入(插入一条语句时) SELECT...INTO [CORRESPONDING FIELDS OF] <wa> FROM <db> WHERE <condition>.内表插入(插入多条语句时) SELECT...INTO|APPENDING [CORRESPONDING FIELDS OF] TABLE <itab>FROM <db> WHERE <con…...
vscode使用之vscode-server离线安装
最近因为想要使用AI工具开始使用vscode,但是在内网使用vscode通过SSH连接虚拟机的centos远程目录却出现了问题,始终连不上,查看原因是centos没有安装vscode-server,网上找各个教程离线安装vscode-code除了浪费时间没有任何收获&am…...
字符编码和字符集
1. 字符编码和字符集 1.1. 字符编码 编码:字符 –>字节解码:字节 –>字符字符编码Character Encoding : 就是一套自然语言的字符与二进制数之间的对应规则。 1.2. 字符集 字符集 Charset:是一个系统支持的所有字符的集合࿰…...
【WRF理论第七期】WPS预处理
【WRF理论第七期】WPS预处理 运行WPS(Running the WPS)步骤1:Define model domains with geogrid步骤2:Extracting meteorological fields from GRIB files with ungrib步骤3:Horizontally interpolating meteorologic…...
Flutter鸿蒙next中的按钮封装:自定义样式与交互
在Flutter应用开发中,按钮是用户界面中不可或缺的组件之一。它不仅用于触发事件,还可以作为视觉元素增强用户体验。Flutter提供了多种按钮组件,如ElevatedButton、TextButton、OutlinedButton等,但有时这些预制的按钮样式无法满足…...
代码随想录算法训练营Day57 | 卡玛网 101.孤岛的总面积、卡玛网 102.沉没孤岛、卡玛网 103. 水流问题、卡玛网 104.建造最大岛屿
目录 卡玛网 101.孤岛的总面积 卡玛网 102.沉没孤岛 卡玛网 103. 水流问题 卡玛网 104.建造最大岛屿 卡玛网 101.孤岛的总面积 题目 101. 孤岛的总面积 思路 代码随想录:101.孤岛的总面积 重点: 首先遍历图的四条边,把其中的陆地及…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
Linux-进程间的通信
1、IPC: Inter Process Communication(进程间通信): 由于每个进程在操作系统中有独立的地址空间,它们不能像线程那样直接访问彼此的内存,所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...
