我在使用 Ubuntu 11.10,我想通过/dev/sda4
网络共享自动挂载的 NTFS 分区 ( ) 上的文件夹。此网络的目的是在计算机之间共享文件,它主要包含 Windows 计算机。我/dev/sda4
在 Windows 7 和 Ubuntu 上都使用此分区。使用 Nautilus,我右键单击目录,然后单击“共享选项”,然后选中三个复选框。但是,当我尝试应用设置时,它显示“无法更改文件夹“foldername”的权限”。
sudo blkid
我把和的输出放在cat /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
我如何共享该文件夹?
答案1
经过一番搜索,我自己找到了解决方案:
首先,我必须授予我对 的所有权/dev/sda4
,并且必须授予group
读取others
和执行权限。我通过更改 中的分区条目来实现这一点/etc/fstab
。
要做到这一点,我必须知道我的uid
和gid
。所以我做的第一件事是在终端中输入以下命令:
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
,以确保用户(我)可以读取、写入和执行(rwx
),而和group
只能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
我保存了文件,然后重新启动。现在可以通过网络访问该文件夹了。
答案2
只需将 ntfs 目录挂载为:
-o uid=current_user,gid=current_usergroup
获取 Exeleration-G 指向的当前用户和当前用户组:
id MyUserName
答案3
我能想到的最简单的解决方案是使用指向 NTFS 分区的符号链接。
我的做法是:
- 在您的 Ubuntu 分区上创建一个可以共享的文件夹。
- 将 Windows 分区上的文件夹链接到此文件夹内:
ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
- 将您创建的父文件夹设置为通过网络共享,根据需要选择任何额外选项(例如,允许访客等)。
- 在权限选项卡中单击“将权限应用于封闭文件”。当然,并不是每个权限都会被应用,但读取权限应该足够了。
我自己还没有测试过这个,但如果我理解正确,它应该能够工作。