6

'defaults write com.google.Chrome PasswordManagerEnabled' has no effect. Neither the contents of
/Library/Managed Preferences/com.google.Chrome.plist nor that of
/Library/Managed Preferences/<username>/com.google.Chrome.plist change.
And the corresponding Chrome feature "Offer to save passwords" also stays greyed out / disabled.

I also tried to apply defaults directly to the files

/Library/Managed Preferences/com.google.Chrome.plist and
/Library/Managed Preferences/<username>/com.google.Chrome.plist

using the command

sudo defaults write /Library/Managed Preferences/com.google.Chrome.plist PasswordManagerEnabled -bool true,

also without success. Applying the command to the same plist file in the /Library/Preferences/ folder changed the value, but did not activate the password manager in Chrome.

How can I fix this? Or: where else are these settings configured? Or generally, how to I change Managed Preferences?

UPDATE:

I succeeded to edit the plist files under /Library/Managed Preferences/ using Plist Edit Pro. But that was cumbersome, since I needed to change file and folder permissions first (and restrict them again later). Also the changes get overwritten after reboot, so still looking for a nice solution to change Managed Preferences.

2 Answers 2

1

So, to elaborate a little more, the following steps need to be taken:

  1. Copy /Library/Managed Preferences/com.google.Chrome.plist to a user-visible directory (e.g. ~/Downloads)
  2. Download Plist Edit Pro, open the file, set PasswordManagerEnabled to YES and save the file
  3. Copy ~/Downloads/com.google.Chrome.plist back to /Library/Managed Preferences
  4. Change the owner of the file sudo chown root:wheel com.google.Chrome.plist
  5. Re-read the preference cache defaults read com.google.Chrome
  6. Restart Chrome, check that chrome://policy now lists your change correctly (alternatively hit "Reload policies" until it does
  7. Profit!
0

Chrome policies can be configured using configuration profiles on macOS. Using configuration profiles also mark the policies as 'mandatory' in chrome://policy, meaning they override policies set by an organization at the Google account level. You can find more details at Google's support page, but I've included a example MCX configuration that's already been formatted as a .mobileconfig file, so it can be simply saved to a file, tweaked to your needs, and installed through Settings without needing any external tools. You can find a list of policies here.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>PayloadContent</key>
            <dict>
                <key>com.google.Chrome</key>
                <dict>
                    <key>Forced</key>
                    <array>
                        <dict>
                            <key>mcx_preference_settings</key>
                            <dict>
                                <key>PasswordManagerEnabled</key>
                                <true/>
                            </dict>
                        </dict>
                    </array>
                </dict>
            </dict>
            <key>PayloadEnabled</key>
            <true/>
            <key>PayloadIdentifier</key>
            <string>MCXToProfile.7e2bec75-299e-44ff-b405-628007abffff.alacarte.customsettings.bdac4880-d25f-4cdd-8472-05473f005e7e</string>
            <key>PayloadType</key>
            <string>com.apple.ManagedClient.preferences</string>
            <key>PayloadUUID</key>
            <string>bdac4880-d25f-4cdd-8472-05473f005e7e</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string>Included custom settings:
com.google.Chrome
</string>
    <key>PayloadDisplayName</key>
    <string>Chrome Policies</string>
    <key>PayloadIdentifier</key>
    <string>com.google.Chrome</string>
    <key>PayloadOrganization</key>
    <string></string>
    <key>PayloadRemovalDisallowed</key>
    <false/>
    <key>PayloadScope</key>
    <string>Users</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>7e2bec75-299e-44ff-b405-628007abffff</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .