shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Parametro


From: Silvio
Subject: Parametro
Date: Mon, 21 Nov 2011 19:14:48 -0000
User-agent: eGroups-EW/0.82

Prezados, bom dia.

Estou tentando fazer um script que ao usuário logar no servidor Samba via 
Windows, abra a tela do Internet Explorer (IE) com a pagina de acesso do Squid 
do dia anterior.
Para isso, a criação do endereço a abrir, fiz o seguinte script que nomeei 
"logsquid":

#Inicio do script... cabecalho de script shell
#!bin/bash
####### Variaveis
oip=`last -i -1 $1 | cut -d" " -f11 | while read a; do file=$(echo $a | tr ' ' 
_); [ ! -f $file ] && echo  "$a"; done`
diasemana=`date --date='1 day ago' | cut -d " " -f1`
mes=`date --date='1 day ago' | cut -d" " -f2`
dia=`date --date='1 day ago' +%d`
ano=`date --date='1 day ago' +%Y`
hora=`date --date='1 day ago' +%X`
##########
http://192.168.4.251/$ano$mes$dia"-"$ano$mes$dia/$oip/$oip.html

Testei o logsquid passando o nome do usuário e me é retornado o seguinte e 
correto:

http://192.168.4.251/2011Sep14-2011Sep14/192.168.4.14/192.168.4.14.html

No Samba em root preexec, executo um Scrip em Perl que monta um arquivo .bat 
para executar na maquina do usuário, de nome login.pl
##########
#!/usr/bin/perl

$server="litoad1";

sub ingroup($)
{
  my $group=shift;
  my $result=0;
  my $lcuser=lc($ARGV[0]);

  open (FD,"</etc/group");
  while (<FD>)
  {
    my $data=$_;
    if ($data =~ /$group/)
    {
      if ($data =~ /$lcuser/)
      {
        $result=1;
        last;
      }
    }
  }
  close FD;
  return $result;
}

# Inicio do login script
system("/usr/litoad1/logar $ARGV[0]");
$veroip=system("/usr/litoad1/logsquid $ARG[0]");

open (LOGON,">/dados/netlogon/.$ARGV[0].bat");

print LOGON "\@ECHO OFF\r\n";
print LOGON "NET TIME \\\\$server /SET /YES\r\n";
print LOGON "NET USE V: \\\\$server\\prgs\r\n";
print LOGON "NET USE X: \\\\$server\\usuarios\r\n";
print LOGON "NET USE Y: \\\\$server\\users\r\n";
print LOGON "NET TIME \\\\$server /set /yes\r\n";
print LOGON "\"C:\\Arquivos de Programas\\Internet Explorer\\iexplore.exe\" 
$veroip \r\n";
print LOGON "\\\\$server\\netlogon\\.logon.bat\r\n";
close LOGON;
##########

Ocorre que quando da geração do .bat, esta sendo criado no lugar do endereço a 
abrir um número como a seguir.

"C:\Arquivos de Programas\Internet Explorer\iexplore.exe" 32512

Se possível, gostaria da ajuda para acertar o recebimento deste retorno do 
logsquid e passar na criação do .usuario.bat .

Certo da colaboração de vocês, desde já antecipo os meus sinceros 
agradecimentos.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]