Samba 网络共享 NTFS 驱动器和本地驱动器的 root 权限

Samba 网络共享 NTFS 驱动器和本地驱动器的 root 权限

我现在能够在网络上与 Windows 计算机共享我的内部第二个 NTFS 驱动器(sdb1、2 和 3),但即使启用了 Samba 读/写,Windows 网络计算机也只能以“只读”方式打开文件,而无法将文件保存到 samba 共享驱动器/文件夹。

我尝试通过文件夹和/或文件属性在 Ubuntu 中设置权限,甚至通过 Nautilus 以 root 身份登录,但所有 samba 共享文件夹和文件都设置为所有者 = root,可访问,并且不允许我将它们更改为读/写,它只是重置为 root,可访问,换句话说,我无法更改权限。

我在旧的 Dell Dimension 2400 上运行 Ubuntu 11.04 Gnome。

此外,为了能够将任何文件从 Ubuntu 驱动器复制或移动到 sdb1、2 或 3 驱动器,我必须使用 gksu nautilus。因此,这也阻止我将 .ISO 文件复制到我的“Multisys”拇指驱动器。

答案1

通常在这些情况下,权限是在挂载时设置的,因为 NTFS 无法存储 unix 权限,因此请使用如下方法:

mount /dev/sdb1 /media/mydisk -o uid=youruser,gid=users

如果你将这两个选项添加到 mountfmask=664,dmask=775中,那么用户组将能够有效地写入该文件系统。/etc/fstab如果您想在启动时安装磁盘,也可以使用,格式略有不同,但选项相同。请记住,与使用 EXT3/4、XFS 等相比,在这种特定情况下使用 NTFS 确实存在限制。

更多信息请见此处man mount.ntfs-3g

答案2

sudo apt-get install samba smbfs ntfs-3g ntfsprogs

系统:SMB/CIFS 协议提供与 Microsoft Windows、OS X 和其他 Unix 系统的跨平台文件共享支持。

ntfs-3g:此软件包提供了与旧“smbfs”文件系统类型兼容的包装实用程序:smbmount、smbumount 和 mount.smbfs。

NTFS-3G 使用 FUSE(用户空间文件系统)为 Microsoft Windows 使用的 NTFS 文件系统提供支持。它可以:

  • 创建、删除、重命名或移动文件、目录、硬链接和流;
  • 读写文件,包括流、稀疏文件和透明压缩文件;
  • 处理特殊文件,如符号链接、设备和 FIFO;
  • 提供文件所有权和权限的标准管理,包括 POSIX ACL。

该软件包还包含以前在 ntfsprogs 软件包中提供的工具。

ntfsprogs:Linux-NTFS 项目(http://www.linux-ntfs.org/) 旨在为 Linux 操作系统带来对 NTFS 文件系统的全面支持。

这是一组工具,专门针对对 Linux 内核中的 NTFS 支持感兴趣并使用它的人。 其中包括以下实用程序:

  • ntfsfix - 修复常见的文件系统错误并强制 Windows 检查 NTFS。
  • mkntfs—用 NTFS 文件系统格式化分区,可选择启动。
  • ntfsinfo——显示有关 NTFS 分区或其中某个文件或目录的一些信息。
  • ntfslabel——显示或设置 NTFS 分区的卷标。
  • ntfsresize — 调整 NTFS 分区的大小而不丢失数据。
  • ntfsundelete — 从 NTFS 分区恢复已删除的文件。
  • ntfscluster - 定位 NTFS 分区上任何给定扇区或簇的所有者。
  • ntfscat — 连接文件并将其打印在标准输出上(无需安装分区)。
  • ntfsls—列出 NTFS 文件系统上的目录内容(无需挂载)。
  • ntfscp—覆盖 NTFS 分区上的文件。
  • ntfsclone - 有效地克隆 NTFS 文件系统或其一部分。
  • ntfsmount — 使用 libntfs 和 FUSE 从用户空间挂载 NTFS 分区。
  • ntfsdecrypt - 解密 NTFS 加密文件(不包括)。
  • ntfscmp — 比较两个 NTFS 卷并找出差异。

在 /etc/fstab 中:

/dev/sdb1 /mnt/share ntfs-3g defaults,users,locale=en_US.UTF-8 0 0
  • /dev/sdb1 = ntfs 驱动器
  • /mnt/share = 挂载点

相关内容