当前位置: 首页 > ds >正文

第四节:权限管理

理论知识

  1. 文件和目录的权限:在 Linux 系统中,文件和目录的权限分为读(r)、写(w)、执行(x)三种。读权限允许用户查看文件内容或目录列表,写权限允许用户修改文件内容或在目录中创建、删除文件,执行权限允许用户运行文件或进入目录。
  2. 权限的表示方法:权限可以用字符法或八进制法表示。字符法用 rwx 表示读、写、执行权限,用 - 表示没有该权限。八进制法用数字 4(读)、2(写)、1(执行)的组合来表示权限,例如 7 表示读、写、执行权限(4 + 2 + 1)。
  3. 文件和目录的所有者、所属组和其他用户:每个文件和目录都有一个所有者和所属组,除了所有者和所属组的用户外,其他用户也可以对文件和目录进行访问。可以分别为所有者、所属组和其他用户设置不同的权限。
  4. 修改文件和目录的权限:使用 chmod 命令可以修改文件和目录的权限。可以使用字符法或八进制法来指定新的权限。
  5. 修改文件和目录的所有者和所属组:使用 chown 命令可以修改文件和目录的所有者,使用 chgrp 命令可以修改文件和目录的所属组。
  6. 特殊权限位:除了基本的读、写、执行权限外,Linux 系统还有一些特殊权限位,如 SUID、SGID 和粘滞位。SUID 权限允许用户以文件所有者的身份执行文件,SGID 权限允许用户以文件所属组的身份执行文件,粘滞位可以防止用户删除其他用户的文件。
  7. 默认权限掩码(umask):umask 是一个用于设置新建文件和目录默认权限的掩码。默认情况下,新建文件的权限是 666 减去 umask,新建目录的权限是 777 减去 umask。
  8. 权限的继承:当创建一个新的文件或目录时,它会继承其父目录的权限和所属组。可以通过设置目录的 SGID 权限来确保新创建的文件和目录继承该目录的所属组。
  9. 权限的递归修改:使用 chmodchown 命令的 -R 选项可以递归地修改目录及其子目录和文件的权限和所有者。
  10. 文件权限的查看:使用 ls -l 命令可以查看文件和目录的权限信息。
  11. 权限的安全影响:合理设置文件和目录的权限可以提高系统的安全性,防止未经授权的访问和数据泄露。
  12. 权限的审计和监控:可以通过查看系统日志和使用审计工具来监控文件和目录的权限变更,及时发现异常行为。

实践案例

  1. 查看文件的权限:使用 ls -l 命令查看 test.txt 文件的权限:
ls -l test.txt
  1. 修改文件的权限(字符法):将 test.txt 文件的所有者添加执行权限:
chmod u+x test.txt
  1. 修改文件的权限(八进制法):将 test.txt 文件的权限修改为 755(所有者具有读、写、执行权限,所属组和其他用户具有读、执行权限):
chmod 755 test.txt
  1. 修改文件的所有者:将 test.txt 文件的所有者改为 testuser
sudo chown testuser test.txt
  1. 修改文件的所属组:将 test.txt 文件的所属组改为 testgroup
sudo chgrp testgroup test.txt
  1. 设置文件的 SUID 权限:将 test.sh 脚本设置为 SUID 权限:
sudo chmod u+s test.sh
  1. 设置文件的 SGID 权限:将 test.sh 脚本设置为 SGID 权限:
sudo chmod g+s test.sh
  1. 设置目录的粘滞位:将 /tmp 目录设置为粘滞位:
sudo chmod +t /tmp
  1. 查看当前的 umask 值:使用 umask 命令查看当前的 umask 值:
umask
  1. 修改 umask 值:临时修改 umask 值为 0022:
umask 0022
  1. 递归修改目录及其子目录和文件的权限:将 /home/testuser 目录及其子目录和文件的权限修改为 755:
sudo chmod -R 755 /home/testuser
  1. 递归修改目录及其子目录和文件的所有者和所属组:将 /home/testuser 目录及其子目录和文件的所有者改为 testuser,所属组改为 testgroup
sudo chown -R testuser:testgroup /home/testuser
http://www.xdnf.cn/news/3240.html

相关文章:

  • Vue3 Echarts 3D圆柱体柱状图实现教程以及封装一个可复用的组件
  • 仿腾信会议——密码MD5
  • 软件设计师-软考知识复习(1)
  • Deepseek应用技巧-批量生成读书金句
  • SAP 归档 自定义字段目录及归档信息结构
  • 〇 开篇序言
  • 写一个 Java 程序,用于将字符串中的指定子串替换为另一个子串
  • 倒排索引(Inverted Index)详解
  • Git常用指令速查
  • MySQL数据库全面详解:从基础到高级应用
  • 如何设计一个会员码表!唯一索引的使用,字段区分度不高如何处理
  • 第十五章:预训练大语言模型
  • 血管造影正常≠心脏没事!无创技术破解心肌缺血漏诊困局
  • FlexNoC-Latency
  • 【爬虫】案例-获取cbh电影
  • centos7 安装python3
  • Vue2+Vue3学习笔记
  • 线程同步与互斥核心要点整理
  • 即时设计笔记
  • C++搞定周岁.虚岁计算
  • 【网络】HTTP报文首部字段
  • 使用 ECharts 在 Vue3 中柱状图的完整配置解析
  • 大数据测试集群环境部署
  • linux 内核 debugfs 使用介绍
  • Python 打包兼容Win7 的Qt 程序
  • 【题解-Acwing】869. 试除法求约数
  • 解决react-native下背景图渲染,统一处理组件BackgroundImage
  • 【Python笔记 05】 if判断、比较运算符与逻辑运算符
  • 《AI大模型应知应会100篇》【精华】第40篇:长文本处理技巧:克服大模型的上下文长度限制
  • 如何防止丝杆支撑座锈蚀?