如何在网络上共享NTFS分区上的文件夹?


16

我使用的是Ubuntu 11.10,我想通过网络共享自动安装的NTFS分区(/dev/sda4)上的文件夹。该网络的目的是在计算机之间共享文件,它主要包含Windows计算机。我/dev/sda4在Windows 7和Ubuntu上都使用此分区。使用Nautilus,我右键单击目录,然后单击“共享选项”,然后标记三个复选框。但是,当我尝试应用设置时,它说“无法更改文件夹“ foldername”的权限”。

我已经把输出sudo blkidcat /etc/fstab下方。

sudo blkid

/dev/sda2: LABEL="Windows" UUID="481319C261268D8D" TYPE="ntfs" 
/dev/sda3: UUID="23dac5e8-aae7-43ac-964c-c8a5a033b0d7" TYPE="ext4" 
/dev/sda4: LABEL="Data" UUID="00F1B269675B86AE" TYPE="ntfs" 
/dev/sda5: UUID="6de8b757-f17e-4e36-935c-a3fd6012c628" TYPE="ext4" 
/dev/sda6: UUID="d504bae2-fad6-4f6a-b489-7719ad0fe3b3" TYPE="swap" 

cat /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda3 during installation
UUID=23dac5e8-aae7-43ac-964c-c8a5a033b0d7 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d504bae2-fad6-4f6a-b489-7719ad0fe3b3 none            swap    sw              0       0
/dev/sda4 /media/Data ntfs defaults,umask=007,gid=46 0 0 

如何共享此文件夹?


当您说“通过网络”时,您的意思是什么类型的计算机?视窗?然后您需要samba,只有Linux?然后建议使用NFS ...给我们更多信息。
布鲁诺·佩雷拉

1
我认为fstab需要更改权限。尝试执行相同的步骤(删除后gid不要忘记重新安装),然后告诉我们是否有帮助。
Andrejs Cainikovs 2011年

我已经更新了问题。gid从中删除/etc/fstab会使最后一行看起来像这样:/dev/sda4 /media/Data ntfs defaults,umask=007 0 0/dev/sda4没有在启动时安装,sudo mount /dev/sda4 /media/Data给我以下输出:Mount is denied because the NTFS volume is already exclusively opened. The volume may be already mounted, or another software may use it which could be identified for example by the help of the 'fuser' command.
Exeleration-G

Answers:


14

经过一番搜索,我自己找到了解决方案:

首先,我必须授予自己对的所有权/dev/sda4,并且必须授予groupothers阅读和执行权限。我是通过更改中的分区条目来实现的/etc/fstab

为此,我必须了解我uidgid。所以我要做的第一件事是在终端中编写以下命令:

id $USER

这将给出如下输出:

UID=1000(myname) GID=1000(myname) groups=1000(myname),4(adm),24(cdrom), ...

所以现在我知道我uid和我gid都是1000

您是否已经知道NTFS分区的名称?如果没有,请在终端中键入以下命令:

sudo blkid

并在纸上写下NTFS分区。

现在,要更改权限,我/etc/fstab使用nano文本编辑器进行了编辑。因此,您必须在终端中键入的下一个命令是:

sudo nano /etc/fstab

一直往下走,输入以下行:

/dev/sda4 /media/Data ntfs defaults,umask=0022,uid=YourUIDHere,gid=YourGIDHere 0 0

(您应该替换/dev/sda4为之前写下的NTFS分区)。

说明:umask=0022将目录的(d)权限权限设置为drwxr-xr-x,以确保用户(me)可以读取,写入和执行(rwx),而groupand (用户)others只能读取和执行(r-x)目录,这正是我想要的。

之后,我可以标记这三个复选框而不会出现任何错误,并且该文件夹将通过网络共享。因为我不确定重启后是否会保留共享设置,所以取消了复选框并添加了一些行/etc/samba/smb.conf。我这样做是这样的:

在终端中,我输入了 sudo nano /etc/samba/smb.conf

我向下滚动到最后一行,并在其中粘贴以下内容:

[MyShare]
    comment = My Share
    path = /media/Data/FolderToBeShared
    browseable = yes
    guest ok = yes
    read only = yes
    create mask = 0755

我保存了文件,然后重新启动。现在可以从网络访问该文件夹。


1
辉煌。作为一个完整的linux / ubuntu新手,我把头撞在墙上2天了,因为如果这是Windows机器,我会在10分钟内完成。
帕特里克

您可以使用所有必须编写的命令来编辑此答案吗?我不确定我理解“授予我所有权/dev/sda4”的意思。
Enrique Moreno Tent 2014年

当然可以,但是之后,请告诉我有关说明是否对您有用的最新信息。我不再使用NTFS分区,所以无法自己检查。
Exeleration-G 2014年

0

我能想到的最简单的解决方案是对NTFS分区使用符号链接。

我要怎么做是:

  • 在您的Ubuntu分区上创建一个可以共享的文件夹。
  • 将Windows分区上的文件夹链接到该文件夹​​内:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • 将您创建的父文件夹设置为可通过网络共享,并根据需要选择任何其他选项(例如,允许访客等)。
  • 单击“权限”选项卡中的“将权限应用于附件文件”。当然,并非每个权限都会被应用,但是读取访问权限就足够了。

我自己没有对此进行测试,但是如果我理解正确的共享,它应该可以工作。


那样ln -s吧,对吧?立即尝试。
Exeleration-G 2011年

@ Exeleration-G:对错,很抱歉
RolandiXor

1
不过,这对我来说并不奏效。
Exeleration-G 2011年

0

只需将ntfs目录挂载为:

-o uid=current_user,gid=current_usergroup

获取Exeleration-G指向的当前用户和当前用户组:

id MyUserName
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.