[Ubuntu-BR] smbfs

hamacker sirhamacker em gmail.com
Quarta Junho 7 12:38:22 UTC 2006


Tem dois jeitos de fazer isso : nautilus ou a-la-unix.
Para aqueles que usam o nautilus como gerenciador de arquivos onde basta 
digitar (contrl+l para aparecer a barra de digitacao ou deixar 
definitivo em editar->preferencias) smb://servidor/compartilhamento e 
depois coloca-lo nos favoritos do nautilus ou criar um atalho no desktop 
chamando nautilus smb://servidor/compartilhamento. Essa é uma solucao 
bem gnome. Se voce usa o nautilus é um clique no atalho e voce será 
redirecionado para o local da rede, tem-se a opcao de lembrar a senha.

A solucao a-la-unix deve ser mais generica, uma seria a utilizacao do 
fstab que outros já lhe passaram, porém não é uma solução agradável para 
todos porque expoe a senha no fstab ou no script de inicializacao do 
ubuntu. Essa solucao já usei anteriormente e as vezes quando o 
compartilhamento é desligado, seu computador não desliga. É chato a 
beça. Uma outra solucao é criar um script, aprendi que isso é mais 
elegante. vou deixar o meu script e voce adapta as suas necessidades.
[]'s e boa sorte.

< inicio do script >
#!/bin/bash
####################################################
# Login Script Linux para usuarios do Samba Server #
# Desenvolvido por : Gladiston Hamacker Santana    #
# Data : 13/set/2004                               #
####################################################
echo "####################################################"
echo "# Login Script Linux para usuarios do Samba Server #"
echo "# Desenvolvido por : Gladiston Hamacker Santana    #"
echo "# Opcoes :                                         #"
echo "#   on = efetua os mapeamentos de rede             #"
echo "#   off= desmonta os mapeamentos de rede           #"
echo "####################################################"
param=$1;
samba_netlogon="//JUPITER/NETLOGON"
samba_ip="192.168.1.3"
samba_domain="VIDY"

if [ "$param" == "" ] ; then
    param="on"
fi;

# if not unmount option then enter credentials
if [ "$param" != "off" ] ; then
   login=$USER
   echo -n "Digite o login ($login) : "
   read login

   if [ "$login" = "" ] ; then
     login=$USER;
   fi

   #
   # only users in passwd will be accepted to run this script
   #
   grep -q "$login" /etc/passwd;
   if [ $? -ne 0 ] ; then
     echo "Usuario $login não esta cadastrado.";
     exit 2;
   fi
   ### end of verification ###

   stty -echo    # desligando o echo momentaneamente para entrar senha
   echo "Digite a senha : (caracteres nao serao visualizados)"
   echo "(se voce der CTRL+C neste ponto terá que digitar reset no 
prompt para ligar o echo novamente)"
   read password
   stty echo     # religando o echo
   echo  # pula uma linha

options="username=$login,password=$password,dmask=0777,fmask=0777,codepage=cp850"
fi;

# two modes :
# mode 1 - download user.map from netlogon share :
# user.map is like this :
## user map file for joan
## then this file as named joan.map
#//jupiter/caixa_entrada /mnt/net/caixa_entrada
#//jupiter/desenv /mnt/net/desenv
#//jupiter/cat /mnt/net/cat
#
#mapfile=$login.map
#n=0
#n_elem=0
## download user map file
#smbclient -U $login $samba_netlogon -I $samba_ip -d 0 -E -W 
"$samba_domain" -c "get $mapfile"
#for linha in `cat  $mapfile|grep -v "#"`
#do
#  if [ `expr $n % 2` == 0 ] ; then
#   smbpoint[$n_elem]=$linha;
#  else
#   my_point[$n_elem]=$linha;
#   let n_elem=n_elem+1;
#  fi
#  let n=n+1;
#done

#
# or mode 2 - direct on unique script
#
my_point[00]="/media/caixa_entrada"
my_point[01]="/media/desenv"
my_point[02]="/media/cat"
smbpoint[00]="//192.168.1.3/caixa_entrada"
smbpoint[01]="//192.168.1.3/desenv"
smbpoint[02]="//192.168.1.3/cat"

limit=${#my_point[@]}
echo "Numero de ponto de montagens é $limit."
for ((a=0; a < $limit ; a++))
do
   mnt=${my_point[$a]}
   dev=${smbpoint[$a]}
   # create dir, if does not exists
   if test ! -d $mnt  ; then
      echo criando diretorio $mnt
      sudo mkdir -p $mnt >/dev/null
   fi
   # unmount device
   if [ "$param" == "off" ] ; then
      echo unmount drive $mnt
      sudo umount $mnt >/dev/null
   else
      # mount device
      smbcommand="smbmount $dev $mnt -o $options"
      echo "$a) mountando unidade $dev em  $mnt" ;
      sudo $smbcommand
   fi
done
echo pressione [enter] para finalizar...
read

<fim do script>



Tiago Z.C escreveu:
> pessoal, tem como, qdo eu clicar em uma pasta, ou algo do tipo, o comando
> abaixo ser executado sozinho?
> 
> sudo mount -t smbfs -o username=user,password=123 //10.1.1.4/D redeWin/
> 
> ou há alguma outra forma para a montagem do compartilhamento windows ser
> feito de forma automática?
> 
> Obrigado




More information about the ubuntu-br mailing list