与另一个 Ubuntu 用户共享 NTFS 文件夹

与另一个 Ubuntu 用户共享 NTFS 文件夹

Ubuntu 13.10/W7 双启动

我在单独的 NTFS 分区 Data 上有一个很大的照片文件夹 My Pictures,我可以从 Windows 和 Ubuntu 访问它。我想让这个文件夹以只读方式从我妻子的 Ubuntu 用户帐户访问。我尝试使用 Nautilus 更改权限,但它不允许我这样做。网上关于文件夹共享的建议层出不穷,但我找不到任何适用的建议,似乎一切都假设文件夹必须位于主目录中。有没有相对简单的方法来实现这一点?

答案1

1.添加两个用户到同一组。

为了使两个用户能够以相同的权限访问该文件夹,您需要将他们添加到同一个用户组。

  1. 找出您的用户所属的群组。

    实现此目的的最简单方法是将第二个用户添加到您自己的用户组。因此,您必须找出您自己的组。它通常与您的用户名同名。您可以在以您的用户身份登录后在 shell 中键入以下内容来找到它:

    groups
    

    输出应该是这样的:

    <somegroupname> adm cdrom sudo dip plugdev lpadmin sambashare
    

    第一个条目是<somegroupname>您的主要组,默认情况下是用户组。

  2. 将第二个用户添加到组。

    要将第二个用户添加到您的用户组,请在以以下身份登录时输入root

    usermod -a -G <group> <user>
    

    如果没有错误,则不会有输出。

  3. 查找 UID 和 GID您的用户和群组。

    您需要使用 sed 命令来查看挂载分区的所有者用户和所有者组,并根据其 ID 进行识别。输入以下命令来查找用户 ID:

    id -u
    

    以您的用户身份登录。通过执行以下代码查找组 ID:

    id -g
    

    以您的用户身份登录。


2. 确保分区已安装正确的umask满足您的需求。

  1. 确定umask(维基百科有一个非常详细的解释,如果你有兴趣的话)是合适的。

    简而言之,umask 是通常的 unix 的反向掩码文件系统权限,它们基本上分为readwriteexecute,简而言之rwx。它们在文件系统级别上由r=4w=2和的八进制值表示x=1。如果您想要组合权限,只需添加值即可,例如 的值6(看起来像“ rw-”)将允许用户读取和写入文件。

    系统上每个文件或目录都有三组权限,第一组权限与文件所有者用户有关,第二组权限与所有者组有关,第三组权限与所有其他用户有关。如果您输入ls -l,您可以通过如下输出查看文件夹中每个文件的权限:

    -rw-r----- 1 david coworkers 241232 Apr 10 21:17 test.txt
    

    上面一行中的权限将分为第一个-,即引用文件类型的位(即directorylink),rw-r-----这将允许用户david读取和写入文件并允许组中的任何人coworkers读取它,而其他任何人都不允许对该文件进行任何操作。

    考虑到这一点,您会得出结论,您主要想要设置与组有关的 umask 部分,因为您将您的妻子添加到了您的组中,因此可以通过管理组的权限来管理你们两个人的权限。

    正如我所说,umask 是权限的反向掩码 - 这意味着您取数字8并减去要应用的权限值,分别为usergroupothers,即5read。这些是大多数 Linux 发行版为和execute设置的默认权限- 使用此 umask 创建的文件最终以 -permissions 结尾,目录以 结尾。groupothers45

    基本上,您想授予您和妻子对所有文件的完全访问权限,因此我建议使用类似002或 的umask 003

  2. 找出您需要配置/检查的分区。

    您可以执行许多命令来找出需要检查并配置的分区或设备。 或 的输出df应该blkid可以fdisk -l帮助您找到正确的分区或设备。我通常使用

    df -h
    

    输出内容如下

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2       8,0G  6,5G  1,2G  85% /
    /dev/sda3       233G  137G   96G  59% /mnt/data
    

    blkid -t TYPE=ntfs
    

    其结果如下:

    /dev/sda3: UUID="B474E96674E92BB4" TYPE="ntfs"
    
  3. 编辑您的/etc/fstab文件。

    以 root 身份登录后,使用编辑器打开 fstab 文件,如下所示

    vim /etc/fstab
    

    并找到有关 ntfs 分区的行,该行由UUID、设备名称(即/dev/sda3)和/或挂载点(即/mnt/data)标识。将其更改为以下内容(使用您之前收集的信息)

    # <file system>         <mount point>   <type>  <options>                        <dump>  <pass>
    /dev/sda3               /mnt/data       ntfs    uid=1000,gid=1000,umask=0003     0       0
    

    或者

    # <file system>         <mount point>   <type>  <options>                        <dump>  <pass>
    UUID="B474E96674E92BB4" /mnt/data       ntfs    uid=1000,gid=1000,umask=0003     0       0       
    

    通过设备名称或 UUID 来定义分区。

    注意不要删除已经设置的选项,当然,此分区的选项部分中不应有任何重复项。

  4. 重新启动您的电脑。


如果我没记错的话,这将是唯一的选择,因为 unix 权限不会永久保存到 NTFS 结构中,但系统只会在安装时记住它们。因此,使用 和 设置所有者、组和权限可能chown不会长期有帮助,但只会在设备再次卸载之前有帮助 - 最迟会在您下次关闭 PC 时。chgrpchmod


[编辑以确保完整性]

作为我的第一条评论表明,可能一个方法将 unix 权限保存到 ntfs 文件系统,但我无法验证这一点,因为我自己没有尝试过。我个人使用上面描述的方法。

答案2

你可以像这样更改权限

sudo chmod -R 754 /mypictures


chmod 命令设置文件或文件夹的权限。

chmod 命令使用三位数代码作为参数和文件或文件夹位置。

在示例中,

7 – 所有者(当前用户)

5 – 组(由所有者设置)

4 – 其他任何人


基本概念:

执行为 1、写入为 2 且读取为 4。


这些基本权限的总和构成了权限的组合:

0 – 没有权限,此人无法读取、写入或执行

1 – 仅执行

2 – 只写

3 – 仅执行和写入 (1 + 2)

4 – 只读

5 – 执行且只读(1 + 4)

6 – 只写和只读 (2 + 4)

7 – 执行、写入和读取(1 + 2 + 4)

相关内容