Linux

Where Are NetworkManager Profiles Stored?

System location for NetworkManager keyfile connection profiles on Linux.

Last updated

NetworkManager stores persistent connection profiles as keyfiles with .nmconnection suffixes. The admin writable location is under /etc.

Files contain secrets in plain text in some setups and must remain root only. Same named files in other directories override or shadow each other by priority rules.

Where NetworkManager stores this, by platform

Linux
/etc/NetworkManager/system-connections

Primary persistent profile directory, files named [connection-id].nmconnection in INI style. Requires root to read and edit. Set permissions to 600 root:root or NetworkManager may ignore the file. Changes need nmcli connection reload followed by connection up. Also check /run/NetworkManager/system-connections for volatile profiles and /usr/lib/NetworkManager/system-connections for packaged defaults.

Frequently asked questions

Why is my profile ignored after manual edit?

Common causes are wrong permissions, a missing .nmconnection suffix, or invalid INI syntax. Fix ownership to root:root, set 600, validate with nmcli connection reload and journalctl -u NetworkManager.

Do I edit files directly or use nmcli?

Use nmcli, nmtui, or the API for normal changes because NetworkManager rewrites keyfiles on update. Direct edits are valid for automation, but reload the profile afterward and keep a backup.

Notice an outdated path? Let us know.