Server IP : 195.201.23.43 / Your IP : 13.59.84.174 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/passwd/ |
Upload File : |
#!/usr/bin/perl # change-passwd.pl # Changes a user's password using the Users and Groups module. Also changes # the password in other modules. $no_acl_check++; $ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin"; $ENV{'WEBMIN_VAR'} ||= "/var/webmin"; if ($0 =~ /^(.*\/)[^\/]+$/) { chdir($1); } chop($pwd = `pwd`); $0 = "$pwd/change-passwd.pl"; do './passwd-lib.pl'; if ($ARGV[0] eq "--old" || $ARGV[0] eq "-old") { $askold = 1; shift(@ARGV); } @ARGV == 1 || &errordie("usage: change-passwd.pl [-old] <username>"); if (&foreign_installed("useradmin") != 1) { &errordie("Users and Groups module is not supported on this OS"); } # Find the user, either in local password file or LDAP $user = &find_user($ARGV[0]); $user || &errordie("User $ARGV[0] does not exist"); $| = 1; if ($askold) { # Ask for the old password &foreign_require("useradmin"); print "(current) UNIX password: "; $old = <STDIN>; $old =~ s/\r|\n//g; &useradmin::validate_password($old, $user->{'pass'}) || &errordie("Old password is incorrect"); } # Ask for password print "New password: "; $pass = <STDIN>; $pass =~ s/\r|\n//g; print "Retype new password: "; $again = <STDIN>; $again =~ s/\r|\n//g; $pass eq $again || &errordie("Passwords don't match"); # Check password sanity $err = &useradmin::check_password_restrictions($pass, $ARGV[0], $user); &errordie($err) if ($err); # Do the change! &change_password($user, $pass, 1); # All done exit(0); sub errordie { print STDERR @_,"\n"; exit(1); }Private