Linux系统中管理文件和目录权限的详细说明,部署服务器遇到文件权限的问题,就想着记录一下

Linux 文件权限基础

在Linux中,每个文件和目录都关联着三个类别的权限:

  1. 所有者(Owner):通常是创建文件或目录的用户。
  2. 组(Group):与文件或目录关联的用户组。组成员共享文件的组权限。
  3. 其他用户(Others):不属于文件所有者和组的所有其他用户。

权限类型分为三种:

  • 读取(Read, r:允许查看文件内容或列出目录内容。
  • 写入(Write, w:允许修改文件内容或在目录中创建、删除文件。
  • 执行(Execute, x:允许执行文件(如果是脚本或二进制文件),或者进入目录。

文件权限表示法

权限表示为十个字符的字符串(例如:-rwxr-xr--),其结构如下:

  1. 文件类型:第一个字符表示文件类型。-表示普通文件,d表示目录,l表示符号链接等。
  2. 所有者权限:接下来的三个字符表示所有者权限。
  3. 组权限:接下来的三个字符表示组权限。
  4. 其他用户权限:最后三个字符表示其他用户权限。

例子:-rwxr-xr--

  • -:普通文件
  • rwx:所有者具有读、写、执行权限
  • r-x:组具有读和执行权限
  • r--:其他用户具有读取权限

查看文件权限

使用ls -l命令查看文件或目录的详细信息,包括权限:

ls -l filename

输出示例:

-rwxr-xr-- 1 user group 1234 Jun 24 14:33 filename

修改文件权限 (chmod)

chmod命令用于更改文件或目录的权限,可以使用符号模式或八进制模式。

符号模式(Symbolic Mode)

符号模式通过使用u(所有者)、g(组)、o(其他用户)和a(所有用户)以及+(添加)、-(移除)和=(设置)来修改权限。

例子:

chmod u+rwx,g+rx,o-r filename
  • u+rwx:为所有者添加读、写、执行权限。
  • g+rx:为组添加读和执行权限。
  • o-r:移除其他用户的读取权限。

更多例子:

  • 只允许所有者读写,其他用户不能访问:

    chmod 600 filename
    
  • 允许所有用户读写,禁止执行:

    chmod 666 filename
    
八进制模式(Octal Mode)

八进制模式使用数字表示权限,每个权限类型通过三位八进制数字表示:

  • 读(r)= 4
  • 写(w)= 2
  • 执行(x)= 1

这些值相加确定具体权限。

例子:

chmod 755 filename
  • 7(所有者):读(4)+ 写(2)+ 执行(1)= 7
  • 5(组):读(4)+ 执行(1)= 5
  • 5(其他用户):读(4)+ 执行(1)= 5

修改文件所有者 (chown)

chown命令用于更改文件或目录的所有者和/或组:

chown user:group filename
  • user:新的所有者用户。
  • group:新的组名。

只改变所有者:

chown user filename

只改变组:

chown :group filename

递归地改变目录及其所有子文件和子目录的所有者:

chown -R user:group directoryname

修改文件组 (chgrp)

chgrp命令用于改变文件或目录的组:

chgrp group filename

递归地改变目录及其所有子文件和子目录的组:

chgrp -R group directoryname

特殊权限位

Linux支持三种特殊权限:SUID、SGID和粘滞位。

  1. SUID(Set User ID)

    • 设置SUID位的文件在执行时,进程将以文件所有者的权限运行。
    • 适用于可执行文件。
    chmod u+s filename
    
  2. SGID(Set Group ID)

    • 设置SGID位的文件在执行时,进程将以文件组的权限运行。
    • 对于目录,SGID确保目录中新创建的文件和子目录继承目录的组。
    chmod g+s filename
    
  3. 粘滞位(Sticky Bit)

    • 设置粘滞位的目录,只有文件所有者、目录所有者或超级用户才能删除或重命名其中的文件。
    chmod +t directoryname
    

例子

假设有一个名为example.txt的文件,我们希望:

  • 所有者具有读、写、执行权限。
  • 组成员具有读和执行权限。
  • 其他用户没有任何权限。

可以这样设置:

chmod 750 example.txt

或者使用符号模式:

chmod u=rwx,g=rx,o= example.txt

总结

通过熟练使用这些命令,你可以在Linux系统中有效地管理文件和目录的权限。这对于保护系统安全,控制访问权限,以及确保不同用户和进程的隔离至关重要。这些概念和命令的使用,可以帮助你在实际操作中更好地管理和维护系统。

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

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

相关文章

【linux】socket通信代码解析

目录 一、Linux中Socket编程的基本步骤 1.1 创建Socket 1.2 绑定Socket 2.3 监听Socket(仅服务器端) 2.4 接受连接(仅服务器端) 2.5 连接Socket(仅客户端) 2.6 发送和接收数据 2.7. 关闭Socket 二、Linux中Socket编程具体实现 2.1 TCP服务器 2.2 TCP客户端 2…

生成随机函数f3,利用f3生成f18(python)

一、题目 给定一个完全随机函数f3。能够完全随机产生1~3之间任意一个自然数。现在要构造一个f18,让其能随机产生1~18之间任意一个自然数,要求写出f18的函数,另外要测试是否符合预期,f18要用f3 二、代码 欢迎大家给我更优解&…

mac 安装mysql启动报错 ERROR!The server quit without update PID file

发现问题: mac安装mysql初次启动报错: 一般出现这种问题,大多是文件夹权限,或者以前安装mysql卸载不干净导致。首先需要先确定问题出在哪?根据提示我们可以打开mysql的启动目录,查看启动日志。 问题解决&a…

项目如何整合sentinel

1、添加依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifact…

2.x86游戏实战-跨进程读取血量

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 接下来会写C/C代码&#xff0c;C/C代码不是很难&#xff0c;然后为了快速掌握逆向这个技能&#xff0c;我…

python--pickle函数的用法(超详细)

pickle是Python中的一个标准库&#xff0c;它提供了一种简单的方法来序列化和反序列化Python对象&#xff0c;以便可以将它们保存到文件或通过网络传输。pickle模块可以将Python对象转换为一种可以存储或传输的格式&#xff0c;然后可以通过pickle模块将其恢复为原始对象。 下…

不用再找了,这是大模型实践最全的总结

随着ChatGPT的迅速出圈&#xff0c;加速了大模型时代的变革。对于以Transformer、MOE结构为代表的大模型来说&#xff0c;传统的单机单卡训练模式肯定不能满足上千&#xff08;万&#xff09;亿级参数的模型训练&#xff0c;这时候我们就需要解决内存墙和通信墙等一系列问题&am…

对于mysql 故障的定位和排查

故障表现 他的执行时间超过规定的限制&#xff08;比如1000ms&#xff09;CPU使用率高大量业务失败&#xff0c;数据连接异常执行sql越来越慢&#xff0c;失败越来越多 解决方案 定位 应急 故障恢复 定位 查询慢sql的日志查看mysql 的performance schena&#xff08;里面…

flask-socket的实践

1.长连接和短连接的由来 1&#xff09;TCP在真正的读写操作之前&#xff0c;server与client之间必须建立一个连接&#xff0c; 当读写操作完成后&#xff0c;双方不再需要这个连接时它们可以释放这个连接&#xff0c; 连接的建立通过三次握手&#xff0c;释放则需要四次握手…

用Roofline模型去分析pytorch和Triton算子

用Roofline模型去分析pytorch和Triton算子 1.参考链接2.测试环境3.安装相关依赖4.锁频5.获取理论算力6.创建测试脚本7.运行测试程序生成Roofline图8.NVIDIA Nsight Compute生成Roofline9.效果图A.nn.LinearB.Triton实现 本文演示了如何用Roofline模型去分析pytorch和Triton算子…

如何快速判断IP被墙

IP被墙是指IP部分地区或者运营商无法被正常进行访问的一个情况。 被墙的原因有很多种不一一列举&#xff0c;由于被墙的时间短的为按周按月计算&#xff0c;时间长的则为按年计算&#xff0c;所以一般这种情况下只能选择更换IP。 检查办法&#xff1a; 第一&#xff0c;确认IP…

【银河麒麟】unzip程序卡住,处理机制详解,附代码

1.服务器环境以及配置 【机型】 处理器&#xff1a; HUAWEI,Kunpeng 920 内存&#xff1a; 400G 【内核版本】 4.19.90-23.18.v2101.ky10.aarch64 【OS镜像版本】 银河麒麟高级服务器操作系统V10-SP1-0711-arm 【第三方软件】 docker 2.问题现象描述 一台k8s服务器…

netconf_h3c_ac

# -*- coding:utf-8 -*- import xmltodict from ncclient import managerip=ACip地址, m=manager.connect(host=ip,port=830,username=账号,password=密码,hostkey_verify=False,device_params={name: h3c},allow_agent=False,look_for_keys=False,timeout=30)data_xml = <…

el-dropdown问题

问题&#xff1a;用element组件中的el-dropdown组件之后&#xff0c;发现随便点击屏幕任何地方控制台都会报错&#xff0c;之前使用的element的级联查询 &#xff0c;在加入这个组件之后点击空白地方下拉面板没办法收回去。 element-ui.common.js?ccbf:2432 Uncaught TypeErr…

水上实用救生工具_救生拉杆_鼎跃安全

每年&#xff0c;由于水上事故而失去生命的人数不胜数&#xff0c;水上安全问题也成为公众关注的焦点。如何在关键时刻实施有效的救援&#xff0c;成为保障生命的重要课题。作为水上救援的重要工具&#xff0c;救生拉杆在紧急情况下发挥了无可替代的作用。 救生拉杆&#xff0c…

springboot 缓存框架Cache整合redis组成二级缓存

springboot 缓存框架Cache整合redis组成二级缓存 项目性能优化的解决方案除开硬件外的方案无非就是优化sql&#xff0c;减少sql 的执行时间&#xff0c;合理运用缓存让同样的请求和数据库之间的连接尽量减少&#xff0c;内存的处理速度肯定比直接查询数据库来的要快一些。今天就…

CDP问卷的常见问题

CDP问卷的常见问题可以归纳如下&#xff1a; 哪些企业会收到CDP邀请&#xff1f; 企业会收到来自投资和/或采购机构的邀请&#xff0c;以填写CDP问卷并披露相应的环境管理信息。 未收到邀请的企业可否填报&#xff1f; 未收到邀请的企业可以选择自行填报。他们需发送申请自愿…

多线程(基础)

前言&#x1f440;~ 上一章我们介绍了什么是进程&#xff0c;对于进程就了解那么多即可&#xff0c;我们作为java程序员更关注线程&#xff0c;线程内容比较多&#xff0c;所以我们要分好几部分才能讲完 目录 进程的缺点 多线程&#xff08;重要&#xff09; 进程和线程的区…

鸿蒙开发Ability Kit(程序框架服务):【FA模型切换Stage模型指导】 module的切换

module的切换 从FA模型切换到Stage模型时&#xff0c;开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下&#xff0c;具体差异见下列表格。 表1 FA模型module标签与Stage模型module标签差异对比 FA标签标签说明对应的Stage标签差异说明…

随想录 Day 72 拓扑排序、最短路径 朴素dijkstra

随想录 Day 72 拓扑排序、最短路径 朴素dijkstra 117. 软件构建 117. 软件构建 时间限制&#xff1a;1.000S 空间限制&#xff1a;256MB 题目描述 某个大型软件项目的构建系统拥有 N 个文件&#xff0c;文件编号从 0 到 N - 1&#xff0c;在这些文件中&#xff0c;某些文件依…