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"><
深入了解决策树:机器学习中的经典算法
✅作者简介: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.孤岛的总面积 重点: 首先遍历图的四条边,把其中的陆地及…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...
大数据驱动企业决策智能化的路径与实践
📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:数据驱动的企业竞争力重构 在这个瞬息万变的商业时代,“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...