AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1040989
Accepted
m.umar
m.umar
Asked: 2018-05-28 12:52:01 +0800 CST2018-05-28 12:52:01 +0800 CST 2018-05-28 12:52:01 +0800 CST

可能由于缺少权限而无法写入 NTFS 数据分区?

  • 772

我在 SSD 上安装了 Ubuntu 18.04,它有一个更大的独立 HDD,有一个包含 Windows 10 的分区和另一个用于存储各种数据的 NTFS 分区。我已经添加了 NTFS 数据分区以在 Ubuntu 中使用磁盘实用程序在启动时挂载,它自动挂载很好,但只有读取权限。我想让这个分区也有来自 Ubuntu 的写访问权限。但我不知道怎么做。(Windows 10 中的快速启动已禁用)

这是我的 fstab 文件(最后一个条目 dev/sdb4 是 NTFS 数据分区):

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda3 during installation
UUID=0e4a3e97-171f-4c96-9260-e2eb217f4302 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda2 during installation
#UUID=1022-A48D  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda1 during installation
UUID=c59f57b3-26c6-4fb1-82ae-29e676a973b1 none            swap    sw              0       0
UUID=1022-A48D  /boot/efi   vfat    defaults    0   1
/dev/sdb4 /mnt/sdb4 auto defaults,x-gvfs-show 0 0

这些是此分区的权限

分区权限

另外请解释如何在 18.04 中将此驱动器添加到收藏夹(显示正在运行的应用程序或您已标记为收藏的应用程序的侧栏)?

fstab permissions mount ntfs 18.04
  • 1 1 个回答
  • 4945 Views

1 个回答

  • Voted
  1. Best Answer
    Thomas Ward
    2018-05-28T13:40:29+08:002018-05-28T13:40:29+08:00

    默认情况下,除非要挂载的分区是 ext2/3/4 分区或可以处理 UNIX 样式权限的分区(例如 Mac HFS/HFS+ 分区),否则驱动器会root:root默认挂载为用户/组所有权。exFAT/FAT/FAT32/NTFS 不支持 UNIX 样式的权限,因此您不能使用这些类型的权限。

    因此,您必须在挂载时将权限设置为您需要的权限。您可以设置很多不同的选项,但我们将从我的其他答案中借用一些关于如何挂载 NTFS 的选项,以便任何用户都可以读取它,但只能针对您的用户进行调整。

    首先,我们需要获取一些信息。您将需要id在终端中运行该命令。这将为我们提供一些我们在构建挂载点时需要的信息,即您的uid和gid. 以下是我自己的笔记本电脑的此类输出示例,尽管您的笔记本电脑可能会有很大不同:

    $ id
    uid=1000(teward) gid=1000(teward) groups=1000(teward),4(adm),6(disk),20(dialout),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),132(sbuild),137(lxd),140(wireshark),998(pgadmin4)
    

    在这个特定实例中相关的是uidandgid值,在我的情况下1000两者都适用。您的可能会有所不同,但我们需要妥善保管这些值。

    接下来,让我们重组您的/etc/fstab生产线。您的系统已经完成auto了对外部磁盘的检测,这很好,但是有一个小问题 - 这依赖于操作系统能够确定磁盘上文件系统的类型。所以我们将其替换为ntfs.

    这使以下内容成为您的/etc/fstab行的开头:

    /dev/sdb4 /mnt/sdb4 ntfs
    

    不过,您现在需要做的关键部分是调整安装选项。 defaults是一个很好的起点,但不是您需要的。理想情况下,您的选项中应该有以下附加选项:

     locale=en_US.utf8,windows_names,umask=7000,uid=UID,gid=GID
    

    请注意,您需要将UIDandGID中的uid=andgid=替换为我们之前从.uidgidid

    因为您可能想知道这些选项的作用,所以让我从我的其他答案中进行一些编辑来提取我的解释:

    • locale=en_US.utf8- 使用 UTF8 强制执行美国英语语言环境
    • windows_names- 强制对分区中的新文件实施 Windows 名称限制。
    • umask=7007- 基本上,逆chmod。定义文件不允许的权限。本质上,我不禁止任何读/写/执行,除了你自己以外的“其他用户”,所以挂载位置上的所有文件都有效地为你的用户获得读、写和执行权限。我不想设置任何特殊位(setuid、setgid、sticky),所以我必须从第一个八位字节中消除它们 - 因为它们的数字总和是“7”,我禁止这些权限,我放一个领先的7。
    • uid=1000, gid=1000- 将分区安装到该文件夹​​中,用户和组拥有 UID(用户 ID)和 GID(组 ID)1000(这是我的用户的用户和组,teward在 Ubuntu 系统上)。

    将这些添加到选项行将允许您的外部设备与文件命名的 Windows 双启动兼容,并强制执行 UTF8。它还将正确设置权限,以便您的用户只能对分区进行读/写。这使您的/etc/fstab线路:

    /dev/sdb4 /mnt/sdb4 auto defaults,x-gvfs-show,locale=en_US.utf8,windows_names,umask=7000,uid=UID,gid=GID 0 0
    

    我们不需要对最后两个零做任何事情,离开那里就可以了。只需确保将GID和UID值更新为实际值即可。

    然后,使用sudo umount /dev/sdb4 && sudo mount /dev/sdb4新选项卸载和重新安装分区。然后,您现在应该对整个磁盘具有读/写权限。

    • 2

相关问题

  • 无法更新雷鸟

  • 当另一个文件系统安装在路径上时是否可以删除文件?

  • Ubuntu 在什么许可证下?可以合法修改和分发吗?

  • 如何避免启动时出现“S to Skip”消息?

  • 文件权限如何工作?文件权限用户和组

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve