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

虚拟机中查看和修改文件权限

在虚拟机中管理文件权限是系统管理的重要部分,无论是在Linux还是Windows虚拟机中。下面我将详细介绍两种主要系统的权限管理方法。

Linux虚拟机中的文件权限管理

查看文件权限

  1. 使用ls命令

    ls -l 文件名

    输出示例:

    -rwxr-xr-- 1 user group 1024 Jun 12 10:00 example.txt

    解释:

    • 第一个字符表示文件类型(-普通文件,d目录)

    • 接下来的9个字符分为3组(所有者/组/其他用户),每组3个权限(读r/写w/执行x)

  2. 查看目录权限

    ls -ld 目录名

修改文件权限

  1. chmod命令(更改权限):

    • 数字模式:

      chmod 755 文件名  # rwxr-xr-x

      数字对应:4(读)+2(写)+1(执行)

    • 符号模式:

      chmod u+x 文件名     # 给所有者添加执行权限
      chmod g-w 文件名     # 删除组写权限
      chmod o=r 文件名     # 设置其他用户只有读权限
      chmod a+x 文件名     # 给所有用户添加执行权限

  2. chown命令(更改所有者):

    chown 新所有者:新组 文件名
    chown user:group 文件名

  3. chgrp命令(更改组):

    chgrp 新组 文件名

特殊权限

  1. SUID(Set User ID):

    chmod u+s 文件  # 或 chmod 4755 文件

  2. SGID(Set Group ID):

    chmod g+s 文件  # 或 chmod 2755 文件

  3. Sticky Bit

    chmod +t 目录   # 或 chmod 1777 目录

Windows虚拟机中的文件权限管理

查看文件权限

  1. 通过文件属性

    • 右键点击文件 → 属性 → 安全选项卡

    • 这里会显示用户/组及其权限

  2. 使用icacls命令

    icacls 文件名

    输出示例:

    example.txt NT AUTHORITY\SYSTEM:(I)(F)BUILTIN\Administrators:(I)(F)DESKTOP-USER\user:(I)(F)

修改文件权限

  1. 通过GUI界面

    • 右键文件 → 属性 → 安全 → 编辑

    • 可以添加/删除用户,设置具体权限

  2. 使用icacls命令

    • 授予权限:

      icacls 文件名 /grant 用户名:权限

      示例:

      icacls example.txt /grant User:(R,W)

    • 撤销权限:

      icacls 文件名 /remove 用户名

    • 继承权限:

      icacls 目录名 /inheritance:e  # 启用继承
      icacls 目录名 /inheritance:d  # 禁用继承

  3. 使用cacls命令(旧版):

    cacls 文件名 /e /p 用户名:权限

虚拟机权限管理注意事项

  1. 共享文件夹权限

    • 在VMware/VirtualBox中,共享文件夹可能有独立的权限设置

    • 需要同时在宿主机和虚拟机中设置适当权限

  2. SELinux/AppArmor(Linux):

    • 这些安全模块可能会覆盖传统权限

    • 使用ls -Z查看SELinux上下文

    • 使用chconrestorecon管理SELinux标签

  3. ACL(访问控制列表)

    • 更细粒度的权限控制

    • 查看ACL:

      getfacl 文件名

    • 设置ACL:

      setfacl -m u:用户名:权限 文件名

  4. umask值

    • 决定新建文件的默认权限

    • 查看当前umask:

      umask

    • 设置umask:

      umask 0022

掌握这些权限管理技巧可以帮助您更好地控制虚拟机中的文件访问,确保系统安全和数据保护。

http://www.dtcms.com/a/315283.html

相关文章:

  • MoonBit Pearls Vol.04:用MoonBit 探索协同式编程
  • Spring Security 认证与授权实现机制
  • 随机森林知识点整理:从原理到实战
  • 课题学习4——将原系统的BERT换为SBERT
  • 【网络运维】Linux:RAID存储技术
  • 单类别目标检测中的 Varifocal Loss 与 mAP 评估:从原理到实践(特别前景和背景类区分)
  • Transformer核心机制:QKV全面解析
  • 图片处理工具类:基于 Thumbnailator 的便捷解决方案
  • Unsloth 大语言模型微调工具介绍
  • 数据结构:反转链表(reverse the linked list)
  • 机器视觉的产品包装帖纸模切应用
  • 深度学习-卷积神经网络CNN-卷积层
  • JMeter的基本使用教程
  • 嵌入式学习之51单片机——串口(UART)
  • STM32F103C8-定时器入门(9)
  • slwl2.0
  • Azure DevOps — Kubernetes 上的自托管代理 — 第 5 部分
  • 05-Chapter02-Example02
  • 微软WSUS替代方案
  • Redis与本地缓存的协同使用及多级缓存策略
  • 【定位设置】Mac指定经纬度定位
  • Spring--04--2--AOP自定义注解,数据过滤处理
  • Easysearch 集成阿里云与 Ollama Embedding API,构建端到端的语义搜索系统
  • Shell第二次作业——循环部分
  • 【科研绘图系列】R语言绘制解释度条形图的热图
  • 中标喜讯 | 安畅检测再下一城!斩获重庆供水调度测试项目
  • 松鼠 AI 25 Java 开发 一面
  • 【慕伏白】Android Studio 配置国内镜像源
  • Vue3核心语法进阶(Hook)
  • selenium4+python—实现基本自动化测试