我的 Macbook Pro 6,2(2010 年中)有一块 1 TB 的硬盘,其中 900 GB 用于 Mac OS X,100 GB 用于 Ubuntu 14.04。我希望能够读取安装了 OS X 的 HFS+ 分区中的文件,以便听音乐、看视频文件等。
我通过登录使用 sudo 权限创建的第二个帐户并运行以下命令更改了我的 Ubuntu 帐户的 UID(其中用户名是我的登录用户名):
sudo usermod -u 501 -g 20 username
sudo chown -R username: /home/username
当我重新登录时,仍然收到“您没有查看‘Macintosh HD’内容所需的权限”的提示。在进行故障排除时,我将主帐户的 UID 和 GID 改回 1000,并创建了一个新用户帐户,并在该帐户上更改了 UID 和 GID。此帐户现在具有 HFS+ 卷的读取权限 - 但当我删除它并对主帐户执行完全相同的操作时,我收到了相同的错误。
是否可以更改我的主帐户的 UID 和 GID,以便我有权读取 HFS+ 卷?
编辑:这是我尝试访问文档时出现的问题的屏幕截图。桌面、下载、Dropbox、Google Drive、库、电影、音乐和图片都出现了同样的错误 - 但其他任何(可见)文件夹都没有出现。还没有尝试进入 /.wine 或任何东西。
编辑:根据 Thomas W. 的建议,我运行了sudo ls -al folder
,其中folder
是放置 Documents 的文件夹。这是输出:
bzodonnell@bzodonnell-MacBookPro:~$ sudo ls -al /media/bzodonnell/MacOS/Users/bzodonnell
total 232
drwxr-xr-x 1 501 dialout 61 May 4 15:57 .
drwxr-xr-x 1 root 80 5 Oct 20 2014 ..
drwxr-xr-x 1 501 dialout 20 Apr 7 13:11 adarkroom
drwxr-xr-x 1 501 dialout 15 Mar 5 09:27 .android
drwxr-xr-x 1 501 dialout 7 Mar 9 18:44 AndroidStudioProjects
-rw-r--r-- 1 501 dialout 638 Feb 17 2014 .anyconnect
drwxr-xr-x 1 501 dialout 90 May 5 11:48 Applications
-rw------- 1 501 dialout 18776 May 5 16:56 .bash_history
-rw-r--r-- 1 501 dialout 334 Oct 29 2014 .bash_profile
-rw-r--r-- 1 501 dialout 167 Jul 10 2014 .bash_profile.pysave
drwxr-xr-x 1 501 dialout 7 Apr 30 13:11 .cache
drwxr-xr-x 1 501 dialout 156 May 2 13:13 Calibre Library
-r-------- 1 501 dialout 7 Apr 4 11:10 .CFUserTextEncoding
drwxr-xr-x 1 501 dialout 4 Mar 6 2014 .com.stirfirestudios.freedomfall.macos
drwxr-xr-x 1 501 dialout 7 Apr 19 14:17 .config
drwx------ 1 501 dialout 3 Sep 8 2010 .cups
drwxr-x--- 1 501 dialout 6 Apr 15 15:12 .denemo-1.2.2
drwx------ 1 501 dialout 14 May 6 17:04 Desktop
drwx------ 1 501 dialout 19 May 5 11:09 Documents
drwx------ 1 501 dialout 207 May 5 15:13 Downloads
drwx------ 1 501 dialout 12 May 7 08:16 .dropbox
drwx------ 1 501 dialout 73 May 7 09:23 Dropbox
-rw-r--r-- 1 501 dialout 22532 May 5 15:17 .DS_Store
drwx------ 1 501 dialout 3 Apr 14 18:01 .emacs.d
drwxr-xr-x 1 501 dialout 45 Apr 15 14:46 .fontconfig
drwxr-xr-x 1 501 dialout 10 Apr 27 19:25 .git
-rw-r--r-- 1 501 dialout 151 Apr 7 13:24 .gitconfig
drwx------ 1 501 dialout 2 Apr 15 14:44 .gnome2
drwx------ 1 501 dialout 43 Jun 18 2014 Google Drive
drwxr-xr-x 1 501 dialout 4 Feb 26 10:59 .gradle
drwxr-xr-x 1 501 dialout 4 Oct 29 2014 .idlerc
drwxr-xr-x 1 501 dialout 8 Apr 15 14:44 .inkscape-etc
-rw------- 1 501 dialout 35 May 3 17:02 .lesshst
drwx------ 1 501 dialout 71 Apr 4 11:10 Library
drwxr-xr-x 1 501 dialout 9 Apr 15 15:12 .lilypond-fonts.cache-2
drwxr-xr-x 1 501 dialout 3 Feb 9 11:18 .local
drwx------ 1 501 dialout 8 May 2 2011 Movies
drwx------ 1 501 dialout 9 Feb 20 10:33 Music
drwxrwxrwx 1 501 dialout 3 Jul 2 2014 .nchsoftware
drwxr-xr-x 1 501 dialout 9 Apr 30 14:09 PCSX2
drwxr-xr-x 1 501 dialout 11 Apr 6 10:18 .pia_manager
-rw-r--r-- 1 501 dialout 130030 May 7 09:54 .pia_manager_crash.log
drwx------ 1 501 dialout 11 Apr 16 07:10 Pictures
drwxr-xr-x 1 501 dialout 6 Jul 10 2013 Public
drwxr-xr-x 1 501 dialout 6 Apr 15 23:39 .qgis2
drwxr-xr-x 1 501 dialout 3 Feb 20 2014 .R
-rw-r--r-- 1 501 dialout 225 Dec 3 2013 .Rapp.history
-rw-r--r-- 1 501 dialout 16419 Feb 9 14:02 .Rhistory
-rw------- 1 501 dialout 1024 May 3 17:25 .rnd
drwxr-xr-x 1 501 dialout 16 Feb 19 17:24 .rstudio-desktop
drwxr-xr-x 1 501 dialout 6 Jul 3 2014 Sites
drwxr-xr-x 1 501 dialout 8 Apr 15 13:45 stencylworks
-rw-r--r-- 1 501 dialout 123 Apr 15 13:52 StencylWorks.prefs
drwxr-xr-x 1 501 dialout 6 Jun 1 2012 .subversion
drwxr-xr-x 1 501 dialout 4 Apr 14 22:31 .thumbnails
drwx------ 1 501 dialout 25 May 6 16:59 .Trash
-rw------- 1 501 dialout 849 Apr 14 18:00 .viminfo
drwxr-xr-x 1 501 dialout 8 May 4 15:59 .wine
drwxr-xr-x 1 501 dialout 10 May 3 19:51 .wine-brothers
drwxr-xr-x 1 501 dialout 9 May 1 09:25 .wine-steam
-rw------- 1 501 dialout 0 Apr 20 18:17 .Xauthority
编辑:这是我输入的内容,以确保目录已正确安装。我在运行上述代码之前输入了这些内容。
bzodonnell@bzodonnell-MacBookPro:~$ sudo umount /dev/sda2
bzodonnell@bzodonnell-MacBookPro:~$ id
uid=1000(bzodonnell) gid=1000(bzodonnell) groups=1000(bzodonnell),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare)
bzodonnell@bzodonnell-MacBookPro:~$ sudo mount -t hfsplus -o uid=1000,gid=1000 /dev/sda2 /media/bzodonnell/MacOS
mount: warning: /media/bzodonnell/MacOS seems to be mounted read-only.
答案1
如果您已经更改了
uid
和gid
,请立即将它们改回来,然后再阅读这个答案的第一部分。除非你真的知道自己在做什么,你永远不应该去改变你的
uid
或gid
只是安装一个驱动器,因为你可能会破坏计算机中的其他权限,并可能失去对 Linux 分区中你自己的主目录的访问权限。
通常,当您安装驱动器时,您会传递参数以提供uid
和gid
作为安装选项,以指定用户/组所有权,以及其他重要的权限掩码参数和其他参数(这通常使用vfat
或分区完成,但它适用于大多数分区类型,特别是那些不遵守 Linux 权限系统的分区类型)。虽然这通常是作为特定分区或媒体的持久选项文件的ntfs
一部分完成的,但如果您愿意,您可以手动为给定命令提供选项。/etc/fstab
mount
使用以下命令进行挂载应该可以完成您需要的操作,而无需修改您自己的用户的 UID 或 GID。这将在 中创建一个 MacOS 文件夹/media/username/
,我们将在其中挂载驱动器分区:
sudo mkdir -R /media/username/MacOS
sudo chown --recursive username:username /media/username
sudo mount -t hfsplus -o uid=USERUID,gid=USERGID /dev/sdx /media/username/MacOS
用实际的分区标识符替换/dev/sdx
,并将所有“用户名”替换为用户名。同样,将USERID
和替换USERGID
为实际值。
为了使其持久地可供用户安装,您应该添加一个 fstab 条目,允许用户安装和卸载驱动器,同时相应地提供uid
和gid
。
(注:uid
和gid
论据来自kernel.org 文档。您必须具有读取分区的先决条件库hfsplus
才能使其工作。)