在ubuntu下使用以下命令挂载移动硬盘
sudo mount /dev/sdb1 /mnt
在拷贝数据到/mnt下时,会提示没有权限,尝试修改挂载权限:
sudo mount -o remount,rw /mnt
发现依旧提示没有权限,而且使用chown 命令更改文件或目录的所有者时遇到 "Operation not permitted" 错误。通过 df -T
命令查看文件系统的类型:
df -T /mnt
注意到文件系统是exFAT格式,焕然大悟。这是因为某些文件系统不支持 Unix 风格的权限和所有权,如 NFS、CIFS、FAT32、exFAT 等。
在这种情况下你可能需要将文件移动到一个支持这些特性的文件系统上,使用 uid
和 gid
选项来指定挂载时的用户和组。例如,假设你的用户名是 luozhipeng
,你可以使用以下命令重新挂载:
sudo umount /mnt sudo mount -t exfat -o rw,uid=$(id -u luozhipeng),gid=$(id -g luozhipeng),fmask=0111,dmask=0000 /dev/sdb1 /mnt
这里的 uid 和 gid 选项指定了挂载后的文件和目录的所有者和组。fmask 和 dmask 选项分别设置了文件和目录的权限掩码,0111 和 0000 表示文件和目录都是可读、可写、可执行的。
你也可以使用 umask 选项来控制文件和目录的默认权限。例如:
sudo umount /mnt sudo mount -t exfat -o rw,uid=$(id -u luozhipeng),gid=$(id -g luozhipeng),umask=0000 /dev/sdb1 /mnt
这里的 umask=0000 表示文件和目录的默认权限是 777(即所有用户都可以读、写、执行)。
也可以不指定umask:
sudo mount -t exfat -o rw,uid=$(id -u luozhipeng),gid=$(id -g luozhipeng) /dev/sdb1 /mnt
最后检查挂载结果
ls -l /mnt
你应该会看到文件和目录的所有者和组已经被设置为你指定的用户和组。
注意事项
数据安全性:使用 umask=0000 或类似的宽松权限设置可能会带来安全风险,特别是当多个用户共享同一系统时。请根据实际情况调整权限设置。
持久化配置:如果你希望每次启动时都自动使用这些挂载选项,可以编辑 /etc/fstab 文件,添加或修改相应的条目。例如:
/dev/sdb1 /mnt exfat defaults,rw,uid=1000,gid=1000,umask=0000 0 0
这里的 1000 是 luozhipeng 用户和组的 ID,你可以使用 id 命令来确认这些值。