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

Linus的权限问题

1-定义

在Linux系统中,权限管理是确保系统安全性和资源访问控制的重要机制。Linux采用基于用户(User)、用户组(Group)和其他用户(Others)的权限模型,通过设置不同的权限来控制对文件和目录的访问。

2、Linux权限的基本概念

1.用户(User)

  • 文件或目录的所有者。通常是创建文件或目录的用户。

2.用户组(Group)

  • 文件或目录所属的用户组。多个用户可以属于同一个用户组,从而共享对某些资源的访问权限。

3.其他用户(Others): 

  • 既不是文件或目录的所有者,也不属于文件或目录所属用户组的用户。

3、权限类型

1.读权限(Read, r)

  • 允许用户读取文件内容或列出目录中的内容。

2.写权限(Write, w)

  • 允许用户修改文件内容或向目录中添加、删除文件。

3.执行权限(Execute, x)

  • 允许用户执行文件(如脚本或程序)或进入目录。

4、权限表示方法

1.符号表示法

  • 使用字符 rwx 分别表示读、写、执行权限。
  • 使用字符 - 表示没有相应权限。
  • 权限分为三组,分别对应用户、用户组和其他用户。

例如:

  • 第一个字符 - 表示这是一个文件(如果是 d 则表示目录)。
  • 接下来的三个字符 rwx 表示所有者有读、写、执行权限。
  • 中间的三个字符 r-x 表示用户组有读、执行权限,没有写权限。
  • 最后的三个字符 r-- 表示其他用户只有读权限。

.

2.数字表示法

  • 使用八进制数表示权限,每组权限对应一个数字。
  • 读权限(r)= 4
  • 写权限(w)= 2
  • 执行权限(x)= 1
765

 

  • 第一位 7 = 4 + 2 + 1,表示所有者有读、写、执行权限。
  • 第二位 6 = 4 + 2,表示用户组有读、写权限。
  • 第三位 5 = 4 + 1,表示其他用户有读、执行权限。

四、常见权限问题及解决方法

1. 权限不足(Permission Denied) 
  • 问题:用户尝试执行某个操作(如读取、写入、执行文件或目录)时,提示“权限不足”。

 

这里其他成员只有读的权限,如果写的话:
 

—解决方法 :

修改权限:使用 chmod 命令修改权限。

chmod u+x filename # 给所有者添加执行权限
chmod 755 filename  # 设置权限为 765

更改所有者或用户组:使用 chown 或 chgrp 命令更改文件或目录的所有者或用户组 。

chown user:group filename
chgrp group filename
2. 文件或目录权限过于宽松
  • 问题:文件或目录的权限设置过于宽松,可能导致安全风险。
  • 解决方法
    • 收紧权限:根据需要调整权限,避免不必要的写权限或执行权限。
chmod 644 filename  # 设置为所有者可读写,其他用户只读
chmod 750 directory  # 设置为所有者可读写执行,用户组可读执行,其他用户无权限

 

3. 隐藏权限(Setuid, Setgid, Sticky Bit)
  • 问题:某些文件或目录设置了隐藏权限,如 setuidsetgidsticky bit,可能导致权限问题。

解决方法

  • 查看隐藏权限:使用 ls -l 命令查看文件或目录的权限,注意特殊权限位.
  • 修改隐藏权限
  • setuid:使用 chmod u+s 或 chmod 4xxx 设置。
  • setgid:使用 chmod g+s 或 chmod 2xxx 设置。
  • sticky bit:使用 chmod +t 或 chmod 1xxx 设置。

 

ls -l /usr/bin/passwd
chmod u+s filename
chmod g+s directory
chmod +t directory

 

截图和命令我是基于kali Linux来写的若有不对还请指正。 

        http://www.xdnf.cn/news/1322.html

        相关文章:

      1. 强化学习和微调 区别如下
      2. PostgreSQL认证培训推荐机构
      3. 动态提示词(小模型)、RAG和提示词系统
      4. LLMs可在2位精度下保持高准确率
      5. C语言高频面试题——sizeof和strlen的区别
      6. Unity设计模式实战:用单例和观察者模式优化你的游戏架构 (Day 36)
      7. 初次尝试Ghidra
      8. C++进阶--二叉搜索树
      9. NGINX如何处理并发请求?你会如何调整NGINX的配置以优化性能?
      10. 【Ultralytics 使用yolo12 读取tiff 数据异常解决】
      11. el-table表格既出现横向滚动条,又出现纵向滚动条?
      12. 跨团队协作时流程不统一,如何协调
      13. 部署Megatron - LM,快速上手使用
      14. 15.电感特性在EMC设计中的运用
      15. (undone) 吴恩达版提示词工程 3. 迭代 (建议用到的时候再根据目录针对看)
      16. 数据结构与算法(十三):图的应用-最短路径-Dijkstra/Floyd
      17. 强化学习笔记(四)——SARSA、Q-learning
      18. 【vue】当vant中picker选择器的值为对象数组的解决方法
      19. Cline 之Plan和Act模式
      20. [Java · 铢积寸累] 数据结构 — 数组类型 - 概念引入
      21. 进阶算法 第一课:贪心
      22. 《门》凡是过往,皆为序曲。我们的爱,和最初一样
      23. Qt Creator 创建 Qt Quick Application一些问题
      24. 题解:P11185 奖牌排序
      25. 麒麟V10安装MySQL8.4
      26. 如何应对政策变化导致的项目风险
      27. windows server2019 内网离线安装mysql5.7方式;windows server2019安装软件提示丢失msvcp100.dll问题处理
      28. Java集成Zxing和OpenCV实现二维码生成与识别工具类
      29. zRenamer:一款刚新鲜出炉的免费文件更改工具
      30. MySQL基本查询与数据操作全面解析