Publicada por mauricio.marques em 27/06/2007 - 17:04h:
* mauricio.marques usa Outra

Olá Pessoal, recentemente configurei um servidor rodando SAMBA como PDC, porém estou com problemas em relação ao login dos usuários.

Como impedir o login simultâneo?

Estou utilizando o perfil móvel e se um usuário logar em duas máquinas uma fica desprotegida.

Gostaria de ao efetuar login na segunda máquina a sessão da primeira fosse finalizada.

Adicionei o seguinte parametro no /etc/samba/smb.conf

[netlogon]
preexec = /home/netlogon/unicologin.sh %u %m %I %g %d

Conteúdo do Script
#!/bin/bash
usuario=$1
host=$2
ip=$3

qtd=`smbstatus -p | grep -w $usuario | wc -l`
if [ $qtd -gt 1 ]
then
tchau=`net rpc shutdown -t 15 -r -U administrador%senha -W $host -I
$ip`
fi

Dei permissão de 755 no script

Restartei o Samba e não funcionou.

Não sei ao certo o porque da variável tchau, eliminei a variavel executando apenas o comando

sudo net rpc shutdown -t 15 -r -U administrador%senha -W -I 192.168.1.15

A máquina 15 foi restartada corretamente.

Porém o script não é executado automaticamente ao efetuar login.

Tentei utilizar outro conteudo do script.

smb.conf
preexec = /home/netlogon/unicologin.sh %U
preexec close = yes

Conteúdo do Script.
#!/bin/sh
NC=`sudo smbstatus -b | grep $1 | wc -l`
if [ $NC -gt 1 ]; then
EC=1
else
EC=0
fi
exit $EC

Porém também não obtive sucesso.

Alguém ja obteve sucesso em relação a isso? Ou conhece algum link que trate deste assunto?



  
 
Resposta de adrianoturbo em 27/06/2007 - 17:18h:
* adrianoturbo usa Debian
* adrianoturbo tem conceito: 8.7
 


Tem um artigo aqui que te ajudará .

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=59

Boa sorte!

 
Resposta de mauricio.marques em 27/06/2007 - 18:01h:
* mauricio.marques usa Outra
* mauricio.marques tem conceito: nenhum voto.
 


Olá Adriano, o Link que vc me passou se trata dfo conf do smb.conf como PDC, isso eu ja fiz e esta funcionando corretamente, minha dúvida é sobre como impedir que o memo usuario efetue o login ao mesmo tempo em máquinas diferentes, ao efetuar em uma automaticamente finalize a outra.

 
Resposta de ricardoolonca em 27/06/2007 - 21:57h:
* ricardoolonca usa Debian
* ricardoolonca tem conceito: nenhum voto.
 


Com qual usuário o teu servidor samba está rodando? Caso seja com o root, então elimine o "sudo" do comando. Caso não seja o root, então verifique se o usuário do servidor samba faz parte do grupo sudouser.

Você também pode fazer o seguinte teste: no teu script, rode alguns comando com a saida para algum arquivo e veja se ele consegue fazer isso. Por exemplo

#!/bin/bash
whoami>>/tmp/saida.txt

 
Resposta de mauricio.marques em 28/06/2007 - 15:43h:
* mauricio.marques usa Outra
* mauricio.marques tem conceito: nenhum voto.
 


Meu servidor estava rodando como usuário comum o usuário mauricio fazia parte do grupo admins.

Editei /etc/sudoers

Adicionei apos a diretiva defaults o parametro rootpw ficando

Defaults   !lecture,tty_tickets,!fqdn,rootpw

Comentei a linha
#%admin ALL=(ALL) ALL
para remover o sudo do grupo admin

Mesmo com o sudo desabilitado o script não é executado.

porém se eu executar como root o comando

/usr/bin/net rpc shutdown -r -t 0 -I 192.168.1.15 -U usuario%senha

a máquina 15 é reiniciada

Se eu abro duas sessões do mesmo usuário e executo separadamente o script

qtd=`smbstatus -p | grep -w mauricio | wc -l`
if [ $qtd -gt 1 ]
then
echo "Duas sessões abertas"
fi

ele me resulta a frase 2 sessões abertas, ou seja o script está funcionando.

Tem alguma outra idéia?.





 
Resposta de ricardoolonca em 20/07/2007 - 16:24h:
* ricardoolonca usa Debian
* ricardoolonca tem conceito: nenhum voto.
 


Provavelmente o usuário, ao se logar na estação, não tem permissão para efetuar o shutdown

 
Resposta de mauricio.marques em 23/07/2007 - 11:31h:
* mauricio.marques usa Outra
* mauricio.marques tem conceito: nenhum voto.
 


Ok, como posso habilitar este comando ao usuário, pois não estou utilizando sudo?

 
Resposta de ricardoolonca em 26/07/2007 - 22:03h:
* ricardoolonca usa Debian
* ricardoolonca tem conceito: nenhum voto.
 


Esse comando é executado na estação Windows. O usuário deve ter direitos administrativos na estação, ou pelo menos direitos para restartar a máquina.

  


ATENÇÃO: Antes de contribuir com uma resposta, leia o artigo Qualidade de respostas e certifique-se de que esteja realmente contribuindo com a comunidade. Muitas vezes o ímpeto de contribuir nos leva a atrapalhar ao invés de ajudar.

Contribuir com resposta



CAPTCHA
[ Recarregar imagem ]

Digite o código acima:

  
* Nota: só é possível enviar respostas usuário que possui conta e esteja logado com ela, caso contrário sua mensagem será perdida.



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts