sss_obfuscate revision 37ea8e70fa13ff9ba563300fb15de0e5e6185d68
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster parser.set_description("sss_obfuscate converts a given password into \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster human-unreadable format and places it into \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster appropriate domain section of the SSSD config \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster file. The password can be passed in by stdin, \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster specified on the command-line or entered \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster parser.add_option("-s", "--stdin", action="store_true",
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster help="The domain to use the password in (mandatory)",
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster help="Set input file to FILE (default: Use system "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster pprompt = lambda: (getpass.getpass("Enter password: "),
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # Work around bug in Python 2.6
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # Work around bug in Python 2.6
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster print('\nUnexpected end-of-file. Password change aborted',
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # Obfuscate the password
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster obfpwd = obfobj.encrypt(password, obfobj.AES_256)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # Save the obfuscated password into the domain
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster print("Cannot read internal configuration files.")
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster domain.set_option('ldap_default_authtok_type', 'obfuscated_password')
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster domain.set_option('ldap_default_authtok', obfpwd)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster print("The domain %s does not seem to support the required options"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # File could not be written
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster print("Could not write to config file. Check that you have the "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "appropriate permissions to edit this file.", file=sys.stderr)