X7ROOT File Manager
Current Path:
/usr/libexec/webmin/ldap-client
usr
/
libexec
/
webmin
/
ldap-client
/
📁
..
📄
CHANGELOG
(1.1 KB)
📄
atboot.cgi
(483 B)
📄
browser.cgi
(2.29 KB)
📄
check.cgi
(2.93 KB)
📄
config-ALL-linux
(79 B)
📄
config-AlmaLinux-6.0-ALL
(66 B)
📄
config-CentOS-Linux-6.0-ALL
(66 B)
📄
config-CentOS-Stream-Linux-8.0-ALL
(66 B)
📄
config-Oracle-Linux-8.0-ALL
(66 B)
📄
config-Redhat-Enterprise-Linux-6.0-ALL
(66 B)
📄
config-Rocky-Linux-6.0-ALL
(66 B)
📄
config-Scientific-Linux-6.0-ALL
(66 B)
📄
config-debian-linux-3.1
(100 B)
📄
config-debian-linux-4.0-5.9
(65 B)
📄
config-debian-linux-6.0-6.9
(128 B)
📄
config-debian-linux-7.0-ALL
(65 B)
📄
config-pardus-linux
(74 B)
📄
config-redhat-linux-13.0-ALL
(89 B)
📄
config.info
(556 B)
📄
config.info.ca
(732 B)
📄
config.info.de
(593 B)
📄
config.info.nl
(473 B)
📄
config.info.no
(528 B)
📄
config.info.pt_BR
(599 B)
📄
cpan_modules.pl
(82 B)
📄
edit_base.cgi
(2.47 KB)
📄
edit_pam.cgi
(1.36 KB)
📄
edit_server.cgi
(3.27 KB)
📄
edit_switch.cgi
(1.74 KB)
📄
fixpam.cgi
(364 B)
📁
help
📁
images
📄
index.cgi
(2.36 KB)
📄
install_check.pl
(334 B)
📁
lang
📄
ldap-client-lib.pl
(11.53 KB)
📄
list_switches.cgi
(772 B)
📄
log_parser.pl
(461 B)
📄
module.info
(158 B)
📄
module.info.af
(0 B)
📄
module.info.af.auto
(96 B)
📄
module.info.ar
(0 B)
📄
module.info.ar.auto
(122 B)
📄
module.info.be
(0 B)
📄
module.info.be.auto
(144 B)
📄
module.info.bg
(0 B)
📄
module.info.bg.auto
(161 B)
📄
module.info.ca
(97 B)
📄
module.info.cs
(0 B)
📄
module.info.cs.auto
(105 B)
📄
module.info.da
(0 B)
📄
module.info.da.auto
(97 B)
📄
module.info.de
(99 B)
📄
module.info.el
(0 B)
📄
module.info.el.auto
(148 B)
📄
module.info.es
(0 B)
📄
module.info.es.auto
(99 B)
📄
module.info.eu
(0 B)
📄
module.info.eu.auto
(106 B)
📄
module.info.fa
(0 B)
📄
module.info.fa.auto
(159 B)
📄
module.info.fi
(0 B)
📄
module.info.fi.auto
(110 B)
📄
module.info.fr
(0 B)
📄
module.info.fr.auto
(120 B)
📄
module.info.he
(0 B)
📄
module.info.he.auto
(126 B)
📄
module.info.hr
(0 B)
📄
module.info.hr.auto
(99 B)
📄
module.info.hu
(0 B)
📄
module.info.hu.auto
(117 B)
📄
module.info.it
(0 B)
📄
module.info.it.auto
(95 B)
📄
module.info.ja
(0 B)
📄
module.info.ja.auto
(144 B)
📄
module.info.ko
(0 B)
📄
module.info.ko.auto
(128 B)
📄
module.info.lt
(0 B)
📄
module.info.lt.auto
(108 B)
📄
module.info.lv
(0 B)
📄
module.info.lv.auto
(99 B)
📄
module.info.ms
(103 B)
📄
module.info.mt
(0 B)
📄
module.info.mt.auto
(107 B)
📄
module.info.nl
(20 B)
📄
module.info.nl.auto
(83 B)
📄
module.info.no
(20 B)
📄
module.info.no.auto
(80 B)
📄
module.info.pl
(0 B)
📄
module.info.pl.auto
(95 B)
📄
module.info.pt
(0 B)
📄
module.info.pt.auto
(101 B)
📄
module.info.pt_BR
(24 B)
📄
module.info.pt_BR.auto
(83 B)
📄
module.info.ro
(0 B)
📄
module.info.ro.auto
(105 B)
📄
module.info.ru
(0 B)
📄
module.info.ru.auto
(170 B)
📄
module.info.sk
(0 B)
📄
module.info.sk.auto
(108 B)
📄
module.info.sl
(0 B)
📄
module.info.sl.auto
(102 B)
📄
module.info.sv
(0 B)
📄
module.info.sv.auto
(104 B)
📄
module.info.th
(0 B)
📄
module.info.th.auto
(204 B)
📄
module.info.tr
(0 B)
📄
module.info.tr.auto
(123 B)
📄
module.info.uk
(0 B)
📄
module.info.uk.auto
(146 B)
📄
module.info.ur
(0 B)
📄
module.info.ur.auto
(189 B)
📄
module.info.vi
(0 B)
📄
module.info.vi.auto
(145 B)
📄
module.info.zh
(0 B)
📄
module.info.zh.auto
(84 B)
📄
module.info.zh_TW
(0 B)
📄
module.info.zh_TW.auto
(90 B)
📄
popup_browser.cgi
(2.73 KB)
📄
restart.cgi
(329 B)
📄
save_base.cgi
(1.86 KB)
📄
save_pam.cgi
(1.31 KB)
📄
save_server.cgi
(3.53 KB)
📄
save_switch.cgi
(932 B)
📄
start.cgi
(282 B)
📄
stop.cgi
(254 B)
📄
switch-lib.pl
(3.08 KB)
Editing: check.cgi
#!/usr/bin/perl # Check the user's LDAP settings require './ldap-client-lib.pl'; require './switch-lib.pl'; &ui_print_unbuffered_header(undef, $text{'check_title'}, ""); # Get the user base print $text{'check_base'},"<br>\n"; $conf = &get_config(); @bases = &find_value("base", $conf); @scopes = &find_value("scope", $conf); if (&get_ldap_client() eq "nss") { # Older LDAP config uses directives like nss_base_passwd, with # the scope and filter separated by ? $user_base = &find_svalue("nss_base_passwd", $conf) || &find_svalue("base", $conf); } else { # Newer LDAP versions have a base starting with 'user', but fall back # to the one with no DB ($user_base) = map { /^\S+\s+(\S+=*)/; $1 } grep { /^passwd\s/ } @bases; if (!$user_base) { ($user_base) = grep { /^\S+=.*$/ } @bases; } } if (!$user_base) { &print_problem(&text('check_ebase')); goto END; } else { print &text('check_based', "<tt>$user_base</tt>"),"<p>\n"; } # Attempt to connect to LDAP server print $text{'check_connect'},"<br>\n"; $ldap = &ldap_connect(1); if (!ref($ldap)) { &print_problem(&text('check_econnect', $ldap)); goto END; } else { local $ldaphost; eval { $ldaphost = $ldap->host(); }; $ldaphost ||= &get_ldap_host(); print &text('check_connected', $ldaphost),"<p>\n"; } # Work out the scope if (&get_ldap_client() eq "nss") { $scope = &find_svalue("scope", $conf); } else { ($scope) = grep { /^\S+$/ } @scopes; } if ($user_base =~ s/\?([^\?]*)(\?([^\?]*))?$//) { $scope = $1; } $scope ||= "one"; # Look for some users print $text{'check_search'},"<br>\n"; $rv = $ldap->search(base => $user_base, filter => '(objectClass=posixAccount)', scope => $scope); if ($rv->code) { # Search failed! &print_problem(&text('check_esearch', $rv->error)); goto END; } if (!$rv->count) { &print_problem(&text('check_eusers', "<tt>$user_base</tt>")); goto END; } else { print &text('check_found', $rv->count),"<p>\n"; } # Check NSS configuration for users print $text{'check_nss'},"<br>\n"; $nss = &get_nsswitch_config(); ($passwd) = grep { $_->{'name'} eq 'passwd' } @$nss; ($ldapsrc) = grep { $_->{'src'} eq 'ldap' || $_->{'src'} eq 'sss' } @{$passwd->{'srcs'}}; if (!$ldapsrc) { &print_problem($text{'check_enss'}); goto END; } else { print $text{'check_nssok'},"<p>\n"; } # Make sure one of the users is a valid Unix user $first = $rv->entry(0); print &text('check_match', "<tt>".$first->get_value("uid")."</tt>"),"<br>\n"; $uid = getpwnam($first->get_value("uid")); if (!$uid) { # Sometimes this fails due to nsswitch.conf caching .. so try forking # a separate command $uid = &backquote_command( "id -a ".$first->get_value("uid")." 2>/dev/null"); } if (!$uid) { &print_problem($text{'check_ematch'}); goto END; } else { print $text{'check_matched'},"<p>\n"; print "<b>$text{'check_done'}</b><p>\n"; } END: &ui_print_footer("", $text{'index_return'}); sub print_problem { print "<font color=#ff0000>",@_,"</font><p>\n"; }
Upload File
Create Folder