驱动器所有权和权限 - 我如何使其所有人都可以访问?

Ede*_*ico 5 permissions ipad external-hdd ios ownership

我有一个外部驱动器,我使用 Ubuntu 12.10 系统从另一个外部驱动器备份数据。现在似乎驱动器上的文件夹和文件权限存在问题,因为我无法从另一个系统(即我的 iPad 通过 Verbatim MediaShare Wireless 设备及其应用程序)访问文件。

有些文件夹根本不显示它们的内容(但幸好文件在那里,因为当我将驱动器插入我的 Ubuntu 系统时它们会显示出来),其他文件无法打开。

这仅在备份外部驱动器上的日期后发生。备份它的另一个外部驱动器上的相同数据可以毫无问题地访问。我的合乎逻辑的结论是,我必须强调我的知识有限,问题在于所有权和权限设置。

我想让我的外部驱动器及其上的数据可供所有人(插入它的人)访问,以便我可以在 iPad 上访问它。实际上,我也愿意让所有人都可以访问驱动器,其中某些文件夹可供所有人使用读/写权限,而其他文件夹仅具有读权限或根本无法访问。这就是我想要做的,我也愿意接受您关于安全问题的建议(即,使设置更安全,只要我在连接到 iPad 时可以访问和读/写驱动器)。我假设要做我想做的事情,我至少需要所有人都可以使用的可访问性以及读取权限。

小智 3

首先,使用 chmod -R 777(我在每个类似问题上都提到过)将使主文件夹中的每个文档都可执行,我怀疑您需要(或想要)它。您需要的是更改其他人对存储驱动器的读写访问权限。这也可以通过 chmod 来实现。

例如,以下文件仅对所有者具有读写权限,对组具有只读访问权限,这意味着我无法读取或编辑:

-rw-r-----  1 nobody users      4 Jul 24 20:26 file
Run Code Online (Sandbox Code Playgroud)

chmod 有四位数字,可以将它们组合起来以获得不同的结果:

4 - 阅读

2 - 写

1 - 执行

0 - 什么都没有

并且有三个数字可以更改不同事物的文件权限:

第一个数字 - 所有者

第二位数字 - 组

第三位数字 - 其他人

为了使任何人都可以读取有问题的文件,同时仍然保留所有者和组的原始权限,我可以执行以下命令:

sudo chmod 646 file
Run Code Online (Sandbox Code Playgroud)

这使得文件对所有者 (2+4) 是读写的,对组 (4) 是只读的,对其他任何人 (2+4) 是读写的。现在我可以查看和编辑它,并且 ls -l 现在显示以下内容:

-rw-r--rw-  1 nobody users      4 Jul 24 20:26 file
Run Code Online (Sandbox Code Playgroud)

如果将其应用于整个存储驱动器,您必须安装它,如下所示:

sudo mount /dev/sdX /path/to/mountpoint
Run Code Online (Sandbox Code Playgroud)

将 /dev/sdX 替换为您的外部存储驱动器,将 /path/to/mountpoint 替换为您想要安装驱动器的位置(我通常为此在 /mnt 中创建一个目录)。您还可以使用以下命令检查哪个存储驱动器是外部驱动器:

sudo fdisk -l
Run Code Online (Sandbox Code Playgroud)

所以你不要 chmod 错误的。然后运行

sudo chmod -R 646 /path/to/mountpoint
Run Code Online (Sandbox Code Playgroud)

这将递归地更改已安装存储驱动器上每个文件和文件夹的权限,允许对所有者进行读/写访问、对组进行只读访问以及对其他人进行读/写访问。

简而言之,chmod -R 646 将使存储驱动器上的所有文件夹和文件可供任何 PC 和/或操作系统上的任何人访问、读取和编辑,同时保留文件所有者和组的默认权限。


Sim*_*mon 1

最简单的方法是:

  1. 从终端启动 nautilussudo nautilus
  2. 导航到您希望所有人都可以访问的驱动器上的根文件夹
  3. 右键单击该文件夹,然后从下拉列表底部选择“属性”。
  4. 在打开的窗口中,单击权限选项卡,然后确保所有设置如下,将simon 替换为您的组名

在此输入图像描述