首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装-r (只读)安装读写

安装-r (只读)安装读写
EN

Unix & Linux用户
提问于 2020-01-14 01:46:54
回答 2查看 2.3K关注 0票数 2

Update:事实证明,这是由于libmount中的一个错误造成的,该错误现在已修复在上游。https://github.com/karelzak/util-linux/issues/1235

Original问题如下

当我运行mount -r /media/sdd1时,设备被挂载为读-写,没有警告或签名-r选项失败。

代码语言:javascript
复制
$ egrep sdd1 /etc/fstab
/dev/sdd1   /media/sdd1 auto    user,noauto,exec,nodev  0   0
$ umount /media/sdd1
umount: /media/sdd1: not mounted
$ mount -r /media/sdd1
$ touch /media/sdd1/file.tmp
$ umount /media/sdd1
$ mount -r /media/sdd1
$ ls /media/sdd1/file.tmp
/media/sdd1/file.tmp
$ rm -f /media/sdd1/file.tmp
$ umount /media/sdd1
$ mount -r /media/sdd1
$ ls /media/sdd1/file.tmp
ls: cannot access '/media/sdd1/file.tmp': No such file or directory

这具有潜在的破坏性,例如,如果我忘记了不应该写入文件系统。我尝试过的文件系统类型是FAT16,如果这很重要的话。

除了删除mount标志以强迫自己始终使用sudo之外,我还能做些什么来让-r尊重这个标志吗?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2021-01-21 21:20:50

以普通用户的身份运行mount不允许指定自定义挂载选项(运行mount -r相当于添加ro挂载选项),在本例中删除所有自定义挂载选项,并且只使用来自fstab的默认选项+选项。

运行sudo mount -r /mnt/test时的结果:

代码语言:javascript
复制
/dev/sdb /mnt/test vfat ro,nosuid,nodev,noexec,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

与普通用户一样,您可以看到忽略了ro选项:

代码语言:javascript
复制
/dev/sdb /mnt/test vfat rw,nosuid,nodev,noexec,relatime,uid=1000,gid=1000,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

不可能改变这一点,所以您要么需要在ro中指定fstab选项,要么需要将mount命令作为根用户运行。

mountfstab中,“非特权”挂载通常是非常严格的,这是有意义的--您不想让非根用户更改fstab中指定的选项。在这种情况下,它可能是“安全的”,因为当您从rw切换到ro时,您正在“降低”您的特权,但是它仍然在改变一些您不允许更改的内容。

票数 3
EN

Unix & Linux用户

发布于 2021-01-21 08:21:02

当您双引导系统时会发生这种情况,其中一个操作系统是Windows。Windows OS没有正确卸载磁盘,因为Windows OS中有帮助windows更快启动的配置。

First解决方案:可以引导到windows,然后遵循以下步骤:(对于Windows 10)

  • 右键单击任务栏上的Windows按钮,然后单击“电源选项”。
  • 从窗口的右侧窗格单击“附加电源设置”。
  • 从控制面板的左窗格中单击“选择电源按钮的操作”。
  • 单击“更改当前不可用的设置”。
  • 如果提示,接受UAC对话框,然后取消选中“打开快速启动”。
  • 保存更改并引导到linux发行版中。

现在,自动安装将具有读写访问的驱动器.

Second解决方案:解决此问题的第二个方法是在终端中使用以下命令:

代码语言:javascript
复制
sudo apt-get install ntfs-3g -y
sudo ntfsfix /dev/drive-name

执行上述命令后,请再次重装。

Third解决方案:这个可以工作,但是每次引导到您的linux发行版时都需要这样做。

帕维里奇的解决方案

票数 -2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/561957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档