当前位置: 首页 > 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.lryc.cn/news/609444.html

相关文章:

  • SelectDB:新一代实时数仓的核心引擎与应用实战
  • Python day34
  • Druid学习笔记 03、Druid的AstNode类详解与其他产品测试体验
  • 阿里云-通义灵码:解锁云原生智能开发新能力,让云开发更“灵”~
  • 【Linux操作系统】简学深悟启示录:进程初步
  • [spring-cloud: @LoadBalanced @LoadBalancerClient]-源码分析
  • DevOps平台大比拼:Gitee、Jenkins与CircleCI如何选型?
  • 集成电路学习:什么是BLE Mesh低功耗蓝牙网络
  • AI产品经理手册(Ch6-8)AI Product Manager‘s Handbook学习笔记
  • Cursor国产平替重磅开源!离线研发AI助手,拒绝云端受制于人
  • 8位以及32位的MCU如何进行选择?
  • 苹果iOS应用ipa文件安装之前?为什么需要签名?不签名能用么?
  • Memcached 缓存详解及常见问题解决方案
  • 零售消费行业研究系列报告
  • 【C++】2. 类和对象(上)
  • java~final关键字
  • sqli-labs-master/Less-31~Less-40
  • numpy数组拼接 - np.concatenate
  • 张 事实关注增强模型:提升AI准确率新方法
  • 数据结构:反转链表(reverse the linked list)
  • 通用 PDF 文件流 OCR 到文本 API 接口
  • 【unitrix】 7.2 二进制位减法(bit_sub.rs)
  • steam Rust游戏 启动错误,删除sys驱动,亲测有效。
  • 力扣301:删除无效的括号
  • 【量化交易】日内交易有效特征因子
  • 【解决办法】报错Found dtype Long but expected Float
  • 数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter
  • Kubernetes 节点摘除指南
  • 模型预估打分对运筹跟踪的影响
  • SaProt 模型部署与运行教程