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

我在Ubuntu 11.10上,我希望通过网络在自动安装的NTFS分区( /dev/sda4 )上共享一个文件夹。 此网络的目的是在计算机之间共享文件,它主要包含Windows计算机。 我在Windows 7和Ubuntu中使用这个/dev/sda4分区。 使用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

 #       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 

我该如何分享这个文件夹?

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

首先,我必须给自己拥有/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分区。

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

sudo nano /etc/fstab

一直向下并输入以下行:

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

(您应该使用之前记下的NTFS分区替换/dev/sda4 )。

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

之后,我可以标记三个复选框,没有任何错误,文件夹将通过网络共享。 因为我不确定重启后是否会保留共享设置,所以取消选中复选框并在/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 

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

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

我该怎么做是:

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

我自己没有测试过,但如果我理解正确分享,它应该可以工作。

只需将ntfs目录挂载为:

 -o uid=current_user,gid=current_usergroup 

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

 id MyUserName