Hmm, não tenho certeza se isso vai ajudar ou não. Basicamente, sim, você pode 'pedido' do nome de usuário e senha, e comparar com o que existe no sistema. Você pode alterar arquivos propriedade de raiz? Provavelmente. Mais difícil do que eu quero pensar.
A menos que você está fazendo isto para seu próprio interesse (ou a sua empresa não permite 3o partido software) pode sugerir um software:
Cfengine
Se esse não é o que você está procurando, então talvez
Webmin
Eu tenho certeza que outros terão outro software que usam e preferem. Tenho visto de ambos, mas não usá-los.
O seguinte pode levar a introdução de uma senha e verificá-lo contra a info na sombra arquivo através do envio de uma userid no primeiro parâmetro ea senha no segundo.
Código:
#!/usr/bin/perl
#
# Grab the user's old password from /etc/shadow and compare to sent
# old password from web page - send back error if not the same
#
# HOG 04/25/02 Another wonderful product from the warped mind of me
# ====================================================================
# Set up variables ------------
$user = "$ARGV[0]";
$oldpass = "$ARGV[1]";
$datenow = "`date '+%h %d %T'`";
#
$userinfo = `/usr/bin/grep $user /etc/shadow`;
($user1, $passwd1, $passextra) = split(/:/, $userinfo, 3);
$salt = substr($passwd1,0,2);
#
# Put testing junk here (print variables)
#
if (crypt($oldpass, $salt) ne $passwd1) {
# =========== FAILED - write to messages file - return error =========
system("/usr/bin/echo \"$datenow progserver chgpwd: ERROR changing $user
password on check\" >> /var/adm/messages");
die "";
}