My MacBook Pro needed repair so I backed it up using Time Machine and erased my data before bringing it to an Apple Store.
Meanwhile, I purchased a temporary MacBook Air to keep working. I then used SuperDuper! to create a bootable backup from which I could quickly restore my data on my MacBook Pro when it came back from repair which I did (wanted to do a clean install for a while vs TM restore).
For context, I could access my Time Machine backups on the MacBook Air, but now I can’t access some folders on my MacBook Pro (they have red circles with a white dash in them).
My current username is sunknudsen
with uid 502
. It used to be 501
before the clean install (same username).
whoami
sunknudsen
id -u
502
ls -l /Volumes/G-DRIVE\ USB/Backups.backupdb/Sun’s\ MacBook\ Pro/2019-07-15-144502/Macintosh\ HD/Users/sunknudsen
total 16
drwxr-xr-x@ 3 501 staff 102 21 Jun 15:41 Creative Cloud Files
drwx------+ 26 501 staff 884 6 Jun 08:59 Documents
drwx------+ 89 501 staff 3026 10 Jul 14:00 Library
drwx------+ 8 501 staff 272 30 Apr 2017 Movies
drwx------+ 8 501 staff 272 7 Feb 21:55 Music
drwx------+ 26 501 staff 884 12 Jun 15:00 Pictures
drwxr-xr-x@ 4 501 staff 136 3 Jul 2015 Public
drwxr-xr-x@ 21 501 staff 714 11 Jul 10:45 Sites
drwxr-xr-x@ 5 501 staff 170 21 Dec 2018 Software
drwx------+ 7 501 staff 238 10 Jul 11:31 VirtualBox VMs
-rw-r--r--@ 15 501 staff 3134 24 Jan 11:06 sunknudsen.asc
So the folders in question have the wrong uid… how can I change their owner to 502
?
Tried chown -R sunknudsen:wheel
but getting "Operation not permitted".
Using macOS Mojave. Thanks!
Best Answer
Ok, this might break Time Machine so only follow these steps if you don’t plan on inheriting the backup on the new computer (my MacBook Pro in the above use case).
Step 1. Navigate to a folder with broken file permissions in a terminal as root (let’s call the folder
Things
).Step 2. Press enter. (If the
cd
command fails, you probably need to enableFull Disk Access
for your terminal, I use iTerm).Step 3. Once in the folder with broken file permissions (confirm you are in the right folder by running
pwd
), run the following command.sudo find . -user 501
will find all files owned by user with uid501
in the current folder.-exec sudo chmod -h -N {} \;
is the secret sauce. It will remove access-control list (ACL) rules which prevent us from running a familiarchown -R `whoami` .
command to change file ownership.-exec sudo chown -h `whoami` {} \;
will change the ownership of the files found byfind
to the user who is running the command.-exec sudo chmod -h +a "group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown" {} \;
will restore the default Time Machine ACL rules (which is optional).You should now have access to the
Things
folder!