Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../.././../../../sbin/ldapservercfg
Real path: /usr/sbin/ldapservercfg
Zurück
#!/usr/bin/python3.11 -Es import solaris.no_site_packages # # Copyright (c) 2016, 2022, Oracle and/or its affiliates. # """ ldapservercfg - The Name Service tool for LDAP server configuration """ import errno import locale import optparse import os import sys import traceback from dscfg import create_server_object import dscfg.dscfgutils as uti from dscfg.dscfgutils import _, DSCFG_SUCCESS, DSCFG_FAIL, DSCFG_ERROR_EXIT def error_server_type(): """Invalid or missing server-type.""" LOGGER.info(_('Invalid or missing server-type argument, ' 'should be one of openldap or oud.')) sys.exit(DSCFG_FAIL) def ldapservercfg_usage(): """Defines parameters and options of the command ldapservercfg.""" LOGGER.info(_(""" Usage: ldapservercfg [-vq] [-d debug-level] server-type ldapservercfg [-vq] [-d debug-level|-a] server-type """)) sys.exit(DSCFG_FAIL) class ConfigOptionParser(optparse.OptionParser): """Config option parser.""" def exit(self, status=0, msg=None): if msg: sys.stderr.write(msg) sys.exit(DSCFG_ERROR_EXIT) def print_usage(self, file=None): ldapservercfg_usage() def error(self, msg): s = _('no such option: ') if msg.find(s) >= 0: msg = _('Invalid option: %s') % msg.replace(s, '') LOGGER.info(msg) self.print_usage() def ldap_cfg(opts): """ Function: import Description: Configure LDAP server given a server type. Parameters: server-type - Name representing a ldap service component Returns: 0 - Success 1 - Failure 3 - No Configuration """ op = ConfigOptionParser() op.add_option('-v', action='store_true', dest='verbose', default=False, help=optparse.SUPPRESS_HELP) op.add_option('-q', action='store_true', dest='quiet', default=False, help=optparse.SUPPRESS_HELP) op.add_option('-d', action='store', type='int', dest='debug_level', default=False, help=optparse.SUPPRESS_HELP) op.add_option('-a', action='store_true', dest='use_defaults', default=False, help=optparse.SUPPRESS_HELP) (opt, args) = op.parse_args(opts) if len(args) != 1: error_server_type() if opt.debug_level and (opt.debug_level < 0 or opt.debug_level > 2): LOGGER.info(_("Unsuppoted debug-level, should be 0, 1 or 2.")) return DSCFG_FAIL server_type = args[0] if opt.use_defaults and server_type.lower() == 'oud': LOGGER.info(_("Option -a doesn't support OUD server, " "it only supports OpenLDAP server currently.")) return DSCFG_FAIL obj = create_server_object(server_type.lower()) if not obj: msg = _("Unsupported server-type '%s', " "should be openldap or oud") % server_type LOGGER.info(msg) return DSCFG_FAIL try: ret = obj.configure_server(opt.use_defaults, opt.verbose, opt.quiet, uti.d2llvl(opt.debug_level)) return ret except: etype, value = sys.exc_info()[:2] if etype == SystemExit: err = int(str(value)) if err == 0: return DSCFG_SUCCESS elif err == 65: return DSCFG_FAIL if opt.debug_level > 0: traceback.print_exc() return DSCFG_FAIL def parse_cli(cli_opts_args): """Parse command line interface arguments.""" if len(cli_opts_args) == 0: ldapservercfg_usage() rc = 0 if cli_opts_args[0] in ['-h', '--h', '-help', '--help', '?', '-?', 'help']: ldapservercfg_usage() else: rc = ldap_cfg(cli_opts_args) return rc def main(): """main function.""" uti.bind_textdomain() os.environ['PATH'] = '/usr/bin:/usr/sbin' global LOGGER LOGGER = uti.Logger() if not uti.check_dns(): LOGGER.warning(_("\nWARNING: The DNS doesn't work properly on this " "host, following setup may not work correctly.\n")) return parse_cli(sys.argv[1:]) if __name__ == "__main__": uti.set_locale(locale.LC_ALL, "") try: sys.exit(main()) except KeyboardInterrupt: print("") sys.exit(DSCFG_FAIL) except IOError as err: if err.errno == errno.EPIPE: pass except SystemExit: raise except: traceback.print_exc() sys.exit(DSCFG_FAIL)