With the option to edit master.cf will come new opportunities to destroy a configuration.
Below is a first design for a "backup before edit" option. If no command is configured, then no backup will be made. If the backup command fails, then the postconf command will not edit the file. Wietse postconf_backup_command (default: empty) Optional external command that the postconf(1) command executes before it attempts to modify the main.cf or master.cf file. The macro "$file" is replaced by the absolute pathname of the file. Note: the command is subject to $name expansion. Specify "$$" to produce a single "$" character. Example: # This reuses the destination name when multiple edits are made # within the same second. backup_command = cp -p $file $file.saved.`date +%Y%m%d-%H%M%S`