zoukankan      html  css  js  c++  java
  • 光盘和U盘

    一次偶然的机会,发现了在Linux(虚拟机)中挂载U盘和光盘,对被挂载目录的权限和时间影响是不同的

    一:准备条件

    1.当前的硬件

    • 1台装了VMware Workstation虚拟机软件的电脑
    • 虚拟机软件中装了Linux虚拟机
    • 1个空U盘(因为一会儿需要格式化)

    2.Linux虚拟机

    • 需要有可挂载的镜像
    • 支持NTFS格式U盘

    3.设置

    # 安装 wget (如已安装 请忽略)
    yum install wget
    
    
    # 更改yum源为阿里云
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    
    
    # 更新yum
    yum update
    
    
    # 安装 ntfs-3g (用于识别NTFS格式的外界设备)
    yum install ntfs-3g
    

    4.U盘相关设置

    ① 将U盘格式化成NTFS格式

    ② 在U盘中创建1个文件(为了之后能识别这个设备)

    ③ 在虚拟机右下角找到这个图标

    ④ 点击 - 连接

    ⑤ 确保光盘和u盘的图标都亮起来了

    二:测试

    测试对比的是光盘和U盘依次挂载到/mnt目录下,对该目录权限、修改时间的影响

    1.在不挂载光盘镜像和U盘的情况下,查看/mnt目录的信息

    [root@localhost ~]# ls -dl /mnt
    drwxr-xr-x. 2 root root 6 Nov 15 15:44 /mnt
    
    • 属主:rwx
    • 属组:rx
    • 其他用户:rx
    • 修改时间:Nov 15 15:44

    2.在挂载光盘镜像的情况下,查看/mnt目录的信息

    # 将光盘镜像挂载到/mnt
    [root@localhost ~]# mount /dev/cdrom /mnt
    mount: /dev/sr0 is write-protected, mounting read-only
    
    
    # 查看/mnt目录的信息
    [root@localhost ~]# ls -dl /mnt
    dr-xr-xr-x. 8 root root 2048 Dec  9  2015 /mnt
    
    • 属主:rx
    • 属组:rx
    • 其他用户:rx
    • 修改时间:Dec 9 2015

    3.在挂载U盘的情况下,查看/mnt目录的信息

    ① 一般情况下,U盘会挂载在/dev目录下,名称为sdb*,但是该目录下文件较多,我们可以用管道命令来过滤

    # 过滤出 /dev目录下 带有sdb 的内容
    [root@localhost ~]# ls -l /dev | grep 'sdb'
    brw-rw----. 1 root disk      8,  16 Nov 26 21:20 sdb
    brw-rw----. 1 root disk      8,  17 Nov 26 21:21 sdb1
    

    ② 但是U盘只有1个,却出来了2个设备(只有1个是可用的),只能一个一个挂载过去了

    # 取消/mnt目录的挂载(取消之前的光盘镜像的挂载)
    [root@localhost ~]# umount /mnt
    
    # 挂载sdb 失败!
    [root@localhost ~]# mount /dev/sdb /mnt
    mount: /dev/sdb is write-protected, mounting read-only
    mount: wrong fs type, bad option, bad superblock on /dev/sdb,
           missing codepage or helper program, or other error
    
           In some cases useful info is found in syslog - try
           dmesg | tail or so.
           
           
    # 挂载sdb1 成功!(没有提示,就是最好的提示)
    [root@localhost ~]# mount /dev/sdb1 /mnt
    

    ③ 挂载成功后,验证挂载的U盘内容

    # 验证成功!(时间和文件都和原来U盘里的一样)
    [root@localhost ~]# ll /mnt
    total 4200
    -rwxrwxrwx. 1 root root 4296716 Aug 30  2019 BG.jpg
    -rwxrwxrwx. 1 root root       0 Nov 26 21:23 Darker.md
    drwxrwxrwx. 1 root root       0 Nov 26 21:20 System Volume Information
    

    ④ 查看/mnt目录的信息

    [root@localhost mnt]# ls -dl /mnt
    drwxrwxrwx. 1 root root 4096 Nov 26 21:23 /mnt
    
    • 属主:rwx
    • 属组:rwx
    • 其他用户:rwx
    • 修改时间:Nov 26 21:23

    4.结论

    修改的时间

    状态 最后修改时间
    原始状态 系统安装完成的时间 / 内容变动过的时间
    挂载光盘镜像 光盘镜像被制造的时间
    挂载U盘 U盘的最后修改时间

    属主

    状态 读取 写入 执行
    原始状态 1 1 1
    挂载光盘镜像 1 1
    挂载U盘 1 1 1

    属组

    状态 读取 写入 执行
    原始状态 1 1
    挂载光盘镜像 1 1
    挂载U盘 1 1 1

    其他用户

    状态 读取 写入 执行
    原始状态 1 1
    挂载光盘镜像 1 1
    挂载U盘 1 1 1

    最明显的区别

    • 在挂载了光盘镜像后,所有用户(包括root用户)对挂载的目录都失去了写的权限
    • 在挂载了U盘之后,所有用户都有了 读、写、执行 的权限
    • 在挂载了设备之后,修改时间也会随着设备的最后修改时间而变化
  • 相关阅读:
    菜鸟合作伙伴日志接入规范之C#实现
    使用JS在textarea在光标处插入内容
    ASP.NET MVC API 接口验证
    CSS3 grayscale滤镜+SVG使图片变黑白实例页面
    .NET MVC 获取 当前请求的 控制器/视图/区域 的名字
    asp.net 后台获取flv视频地址进行播放【转】
    实现输出h264直播流的rtmp服务器 flash直播服务器【转】
    如何实现一个c/s模式的flv视频点播系统
    视频流服务器配置[windows平台][转]
    小计
  • 原文地址:https://www.cnblogs.com/xuexianqi/p/14157061.html
Copyright © 2011-2022 走看看