#!/usr/bin/env python3 # Operator accounts have been deprecated due to a security issue. Those accounts # will be converted to regular admin accounts. import sys from vyos.configtree import ConfigTree if (len(sys.argv) < 1): print("Must specify file name!") sys.exit(1) file_name = sys.argv[1] with open(file_name, 'r') as f: config_file = f.read() config = ConfigTree(config_file) base_level = ['system', 'login', 'user'] if not config.exists(base_level): # Nothing to do, which shouldn't happen anyway # only if you wipe the config and reboot. sys.exit(0) else: for user in config.list_nodes(base_level): if config.exists(base_level + [user, 'level']): if config.return_value(base_level + [user, 'level']) == 'operator': config.set(base_level + [user, 'level'], value="admin", replace=True) try: open(file_name,'w').write(config.to_string()) except OSError as e: print("Failed to save the modified config: {}".format(e)) sys.exit(1)