adduser: unable to lock password file
pessoal,
estive fazendo um script para adicionar utilizadores de sistema em PHP.
Tenho a seguite configuração (não estou rodando o Apache como root):
#/etc/sudoers
# User privilege specification
root ALL=(ALL) ALL
apache ALL = (ALL) NOPASSWD: /usr/sbin/adduser
no script php para registo:
system("/usr/bin/sudo -u apache /usr/sbin/adduser ".$email." -p ".$passwd." -s /bin/false",$rf);
quando tento registar um utilizador com este script não consigo... e no error_log do Apache aparece a seguinte linha:
adduser: unable to lock password file
estive vendo várias coisas no google sobre o assunto mas não consegui solução... isto é sem duvida um problema de permissões (digo eu...)
Agradecia qualquer tipo de ajuda :wink:
(este script tem o objectivo de adicionar utilizadores ao sistema para usar o e-mail.)
Re: adduser: unable to lock password file
Citação:
Postado originalmente por hardcode
pessoal,
estive fazendo um script para adicionar utilizadores de sistema em PHP.
Tenho a seguite configuração (não estou rodando o Apache como root):
#/etc/sudoers
# User privilege specification
root ALL=(ALL) ALL
apache ALL = (ALL) NOPASSWD: /usr/sbin/adduser
no script php para registo:
system("/usr/bin/sudo -u apache /usr/sbin/adduser ".$email." -p ".$passwd." -s /bin/false",$rf);
quando tento registar um utilizador com este script não consigo... e no error_log do Apache aparece a seguinte linha:
adduser: unable to lock password file
estive vendo várias coisas no google sobre o assunto mas não consegui solução... isto é sem duvida um problema de permissões (digo eu...)
Agradecia qualquer tipo de ajuda :wink:
(este script tem o objectivo de adicionar utilizadores ao sistema para usar o e-mail.)
Blz,
Cheque as permissões do arquivo onde ele está criando esse usuário, provavelmente /etc/passwd /etc/shadow /etc/groups
Fiz um script parecido mas em shell mesmo e funcionou legal, inclusive ele ativa ou desativa a conta para usar o squid.
Dê uma olhada:
#!/bin/bash
# Variáveis de Ambiente
BASE=/etc/passwd
BASENOMES=/bkp/alunos/base.dat
clear
echo
echo " ***************************OPÇOES DE CONTROLE******** "
echo
echo " [1] - Cadastrar usuário novo "
echo " [2] - Cadastrar nova senha de usuário "
echo " [3] - Cadastrar usuários na base "
echo " [4] - Consultar usuários existentes na base "
echo " [5] - Controle de contas "
echo " [0] - Sair "
echo
echo -n " Entre com a opção desejada: "
read OPCAO
if [ $OPCAO -eq 1 ]; then
clear
echo "************************CADASTRO DE USUÁRIO*******"
echo
echo -n " Entre com o RA/RE do usuário: "
read NOME
useradd -g acessonet -s /bin/false $NOME
passwd $NOME
echo
echo " Operação realizada com sucesso !!! "
echo
fi
###############################################
if [ $OPCAO -eq 2 ]; then
clear
echo "*********************CADASTRO DE SENHAS DE USUÁRIOS**"
echo
echo -n " Entre com o RA/RE do usuário a ser alterado: "
read NOME
passwd $NOME
echo
echo " Senha alterada com sucesso !!! "
echo
fi
###############################################
if [ $OPCAO -eq 3 ]; then
clear
echo "********************CADASTRO DE USUÁRIOS NA BASE******"
echo
echo " FORMATO DO CADASTRO: 000000000000:nomenomenome:11111111 "
echo
echo -n " Entre com o RA - NOME - CPF do usuário: "
read NOME
echo $NOME >> $BASENOMES
echo
echo " Base atualizada com sucesso !!! "
echo
fi
###############################################
if [ $OPCAO -eq 4 ]; then
clear
echo "************************PESQUISA DE USUÁRIOS*****"
echo
echo -n " Entre com o RA/RE/NOME ou CPF a ser localizado: "
read NOME
echo
grep -i $NOME $BASE
echo
fi
###############################################
if [ $OPCAO -eq 5 ]; then
clear
echo "*********ATIVAR/DESATIVAR USUÁRIOS NA BASE************"
echo
echo " O que deseja fazer ? "
echo
echo " [1] - Bloquear a conta "
echo " [2] - Desbloquear a conta "
echo " [3] - Verificar Status "
echo " [4] - Excluir conta "
echo
echo -n " Entre com a opção: "
read FUNCAO
if [ $FUNCAO -eq 1 ]; then
echo -n " Entre com a conta a Bloquear: "
read NOME
passwd -l $NOME
echo " Conta bloqueada com sucesso !!! "
fi
if [ $FUNCAO -eq 2 ]; then
echo -n " Entre com a conta a Desbloquear: "
read NOME
passwd -u $NOME
echo " Conta desbloqueada com sucesso !!! "
fi
if [ $FUNCAO -eq 3 ]; then
echo -n " Entre com a conta para Status: "
read NOME
passwd -S $NOME
fi
if [ $FUNCAO -eq 4 ]; then
echo -n " Entre com a conta a excluir: "
echo
read NOME
userdel -r $NOME
echo " Conta excluída com sucesso !!! "
fi
fi
###############################################
adduser: unable to lock password file
cara valeu... tentei modificar as permissões e continua dando o mesmo erro. No error_log do apache diz adduser: unable to lock password file ...
Eu estive vendo e tenho um processo passwd correndo... ja tentei dar um skill nele mas ele sempre volta a correr...
estou ficando desesperado...
valeu
PS: em ultimo caso rodo o apache com o utilizador root... o q acham???