我有一个外部驱动器,使用我的 Ubuntu 12.10 系统将另一个外部驱动器上的数据备份到该驱动器上。现在看来驱动器上的文件夹和文件权限存在问题,因为我无法从另一个系统(即通过 Verbatim MediaShare Wireless 设备及其应用程序访问我的 iPad)访问文件。
有些文件夹根本不显示其内容(但幸运的是文件在那里,因为当我将驱动器插入我的 Ubuntu 系统时它们就会显示出来),其他文件无法打开。
只有在外部驱动器上备份了日期后才会发生这种情况。备份的另一个外部驱动器上的相同数据可以毫无问题地访问。我的逻辑结论是,问题出在所有权和权限设置上,我必须强调我的知识有限。
我想让所有人都能访问我的外部驱动器及其上的数据(插入驱动器的人),这样我就可以在 iPad 上访问它。实际上,我也愿意接受让所有人都能访问驱动器的想法,即某些文件夹所有人都可以访问并具有读/写权限,而其他文件夹只有读取权限或根本没有可访问性。这就是我想要做的,我也愿意听取您对安全问题的建议(即让设置更安全,只要我在连接到 iPad 时可以访问驱动器并具有读/写权限)。我假设要做我想做的事情,我至少需要所有人都能访问以及读取权限。
答案1
首先,使用 chmod -R 777(我看到每个类似问题都提到过)会使主文件夹内的每个文档都可执行,我怀疑您是否需要(或想要)这样做。您需要的是更改权限,以便其他人对存储驱动器具有读写访问权限。这也可以通过 chmod 实现。
例如,以下文件仅对所有者具有读写权限,对组具有只读访问权限,这意味着我无法读取或编辑:
-rw-r----- 1 nobody users 4 Jul 24 20:26 file
chmod 有四位数字,可以组合以获得不同的结果:
4 - 阅读
2 - 写入
1-执行
0 - 无
还有三位数字可以改变不同事物的文件权限:
第一位数字 - 所有者
第二位数字 - 组
第三位数字 - 其他所有人
为了使任何人都可以读取相关文件,同时仍保留所有者和组的原始权限,我可以执行以下操作:
sudo chmod 646 file
这使得文件所有者 (2+4) 可读写,组 (4) 可只读,其他任何人 (2+4) 可读写。现在我可以查看和编辑它,ls -l 现在显示以下内容:
-rw-r--rw- 1 nobody users 4 Jul 24 20:26 file
如果将其应用于整个存储驱动器,则必须安装它,如下所示:
sudo mount /dev/sdX /path/to/mountpoint
将 /dev/sdX 替换为您的外部存储驱动器,将 /path/to/mountpoint 替换为您要安装驱动器的位置(我通常在 /mnt 中为此创建一个目录)。您还可以使用以下命令检查哪个存储驱动器是外部驱动器:
sudo fdisk -l
这样你就不会chmod错误的。然后运行
sudo chmod -R 646 /path/to/mountpoint
这将递归更改已安装存储驱动器上每个文件和文件夹的权限,允许所有者进行读/写访问、允许组进行只读访问以及允许其他所有人进行读/写访问。
简而言之,chmod -R 646 将使存储驱动器上的所有文件夹和文件可由任何 PC 和/或操作系统上的任何人访问、读取和编辑,同时保留文件所有者和组的默认权限。
答案2
简单的方法是:
- 使用以下命令从终端启动 nautilus
sudo nautilus
- 导航到您希望所有人都可以访问的驱动器上的根文件夹
- 右键单击该文件夹并从下拉列表底部选择“属性”。
- 在打开的窗口中,单击权限选项卡,然后确保所有设置如下将 simon 替换为您的组名