MacOS – How to unlock a .plist file so that I can change it

macospermissionplisttextedit

I want to edit Info.plist for TextEdit. (Here's why.) I'm running OS 10.7, and I do have Xcode installed. But every time I try to edit the file, it's locked and I can't save my changes.

If I try to save it with Xcode, Xcode asks if I want to unlock it. I say "Unlock", but then an error says The file "Info.plist" could not be unlocked."; it says that this is because I do not own it.

If I open Info.plist using vi in Terminal (vi Info.plist), I can't save changes even using :w!. The error is E212: Can't open file for writing.

How can I make changes to TextEdit's Info.plist file?

Best Answer

Before you do this make sure there are no running instances of TextEdit on your system.

Using The Finder

Select the plist file in the Finder and doing File > Get Info. At the bottom of the file info window you'll see a section called Sharing & Permissions. You want to make sure you're in that list and that you have Read & Write level access to the file.

Finder Info Dialog

Before you can add yourself to the access permissions on the file though, you'll need to unlock it. Click the little lock icon (1) in the lower right hand corner and enter your password. If you're not an administrator on the machine, you won't be able to proceed past this step.

Once you've unlocked the file you can change your permissions to Read & Write. If you're not shown in the list of people who can access the file, click the + button below the list and find yourself in the Users & Groups list that pops up.

The changes are applied to the file as soon as you make them in the File Info window.

You should now be able to open, edit and save those edits to the file.

Using The Command Line

Open a Terminal window.

Change to the place where the plist file is located:

cd ~/Library/Preferences/

Change the ownership and permissions on the file so you can read and write it:

sudo chown $USER aomDSP.plist
sudo chmod u+w aomDSP.plist

You probably don't need sudo on the second call there, but it can't hurt. You'll need administrator access to the machine to do this.