我有一个格式化为 ext4 的辅助内置硬盘。如何启用完整权限,以便我、其他用户和 Samba 网络可以从硬盘读取、写入和执行?使用 Ubuntu 19.04。
问题: 目前,在第二个硬盘上,我可以在 Nautilus 文件管理器中访问文档并创建和删除文件。但我无法直接从应用程序编辑文件。
例如,如果我尝试在 Gimp 中编辑照片,我会收到一条错误消息“权限被拒绝”。这适用于所有应用程序。附上照片。
当前状态: 每次我需要使用文件或上传到应用程序(例如 Wordpress 图库)时,我都必须将文件复制到我的主操作系统硬盘并从那里使用它。我当前的 Fstab 设置是:
#The 1.7tb ext4 Seagate Drive
/dev/disk/by-uuid/6ae9faae-3242-4023-9137-8cdf65bc5d96 /mnt/6ae9faae-3242-4023-9137-8cdf65bc5d96 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Casa%20Storage 0 0
我已经阅读了教程、视频和 AskUbuntu 回复,但似乎无法让它发挥作用。
期望的解决方案: 我希望能够像使用主硬盘一样使用辅助内置硬盘,并且拥有完全权限。
第二个好处是让我的家庭网络上的所有用户也能完全访问该驱动器。
最新截图 某些应用程序仍然无法访问驱动器中的文件。虽然 GIMP 是一款无法访问外部驱动器文件的应用程序,但其他程序(如 VLC)无法打开这些文件。我也无法在网络浏览器中上传到 Wordpress 图库。这很神秘,但希望有答案。
答案1
我觉得你的第二块硬盘的挂载点有点奇怪。以下是修复方法。这包括:
- 创建新的挂载点并
- 编辑
/etc/fstab
文件以自动将驱动器安装到新的安装点。
什么挂载点?
简单来说,挂载点是一个空文件夹,驱动器将挂载在该文件夹中。对于永久连接的硬盘驱动器,该系统启动时会自动挂载,我喜欢在系统文件夹的根目录下创建挂载点/
,例如/bigdrive
。其他常见的选择是挂载点/mnt/bigdrive
或/media/bigdrive
。请参阅为什么同时有 /mnt 和 /media?
将硬盘分区安装为子文件夹的传统/mnt/
源自需要手动安装磁带驱动器(当时已连接到系统)的时代。这需要拿起一卷磁带并将其安装在柜子大小的计算机内的挂钩上:
/media/
当现代 Ubuntu 计算机连接外部驱动器(通常是 USB 驱动器)时,通常会自动生成作为子文件夹的挂载点。
创建挂载点
Ctrl按+ Alt+打开终端T并输入:
sudo mkdir /bigdrive
sudo chmod -R 777 /bigdrive
如果您喜欢以图形方式以 root 身份打开 Nautilus。如何以 root 身份启动 Nautilus?
- 导航到
/
并创建一个名为/bigdrive
- 右键单击并选择特性。
- 前往权限标签。
- 确保团体和其他的能创建和删除文件。
- 单击“更改附件文件的权限”按钮,确保它看起来像这样:
编辑/etc/fstab
fstab
在开始编辑之前,让我们复制一份原始文件:
sudo cp /etc/fstab /etc/fstab.old
要编辑/etc/fstab
我使用nano
:
sudo nano /etc/fstab
#
通过在行开头添加一个来注释掉与内部大驱动器相关的现有行,如下所示:
#The 1.7tb ext4 Seagate Drive
#/dev/disk/by-uuid/6ae9faae-3242-4023-9137-8cdf65bc5d96 /mnt/6ae9faae-3242-4023-9137-8cdf65bc5d96 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Casa%20Storage 0 0
添加以下行:
UUID=6ae9faae-3242-4023-9137-8cdf65bc5d96 /bigdrive ext4 defaults 0 0
笔记:每个分区的 UUID 都是唯一的。因此每个人都应该使用正确的 UUID针对自己的硬件。请勿从这里复制。
按Ctrl+O然后按Enter保存文件,按Ctrl+X退出nano
。
测试一下:
以下步骤将从旧挂载点卸载驱动器:
sudo umount /mnt/6ae9faae-3242-4023-9137-8cdf65bc5d96
您可以输入长文件名的前 2 个或 3 个数字和字母,然后在终端中按 Tab 键自动完成名称的其余部分。
然后使用以下设置的新选项将其挂载到新的挂载点/etc/fstab
:
sudo mount -a
如果一切顺利,您应该会找到里面现有的文件和文件夹/bigdrive
。
设置 Samba
根据您的问题,我假设您有其他运行 Windows 的计算机,并且您想要设置 Samba 以便/bigdrive
与运行 Windows 或 Ubuntu 的其他计算机共享。
步骤1/
正常打开 Nautilus 并从+ Other Locations
左侧窗格导航到。右键单击/bigdrive
文件夹图标并选择“属性”,然后单击“本地网络共享”选项卡:
选中“共享此文件夹”复选框。
您可能还想选中另外两个框“允许其他人在此文件夹中创建和删除文件”。这将允许您(桌面 Windows 用户)在此文件夹中创建和删除文件。
“Guest Access”复选框的含义不言而喻。如果您的 Windows 用户 ID 与 Ubuntu 用户 ID 不完全相同,这可能会很有用。
它可能会告诉您共享服务未安装:
单击“安装服务”,并在提示时输入密码,让其安装软件。系统可能会提示您安装更多软件,例如libpam-smbpass
。安装所有软件。它会要求您重新启动服务,然后单击“是”。
第2步。转到权限选项卡并确保它看起来像这样:
单击“更改附件文件的权限”按钮,确保它看起来像这样:
现在您应该能够在/bigdrive
文件夹中编辑在 Ubuntu 中创建的文件。
但是,如果您在 Windows 计算机中创建文件并使用 Samba 将其放入此文件夹中,则当您返回此计算机时可能无法打开该文件。这是因为 Windows 和 Ubuntu 不了解彼此的文件所有权和权限。因此在 Ubuntu 笔记本电脑中,Windows 创建的文件归“Nobody”所有。您必须以管理员身份打开 Nautilus并在笔记本电脑中更改所有权和读写权限。
步骤3.转到另一台计算机上的 Windows 并打开Windows资源管理器,点击旁边的三角形网络在左侧面板上。从下拉列表中,您应该能够选择运行 Ubuntu 的计算机的名称/bigdrive
。
现在,您应该能够在 Windows 资源管理器中看到此 Ubuntu 计算机中的共享文件夹(例如“BigDrive”)。单击“bigdrive”文件夹并查看文件夹中的文件。您应该能够将文件从 Ubuntu 中的公共文件夹复制到 Windows 本地文件夹。
答案的 Samba 部分基于这个答案sftp
如果您的网络仅由 Ubuntu 计算机和现在的 Windows 组成,请阅读有关使用网络文件共享的完整答案。
希望这可以帮助