[Ubuntu-BR] montar unidades de rede automaticamente no boot

Andre Cavalcante andrecavalcante em ufam.edu.br
Terça Junho 24 13:26:45 UTC 2008


Cara, esse é um problema que aflige muito porque é complicado de um lado ou
de outro.

Você poderia colocar na fstab. Só que teria que colocar as opções username e
passwd. O que significa que todos os usuários da máquina acessariam com um
mesmo usuário, sem falar que a senha ficaria a mostra para qualquer um que
fizesse caat /etc/fstab. Outra coisa que complica é que a montagem é feita
pelo root e você teria que colocar ainda a opção umask=000 para que os
usuários pudessem ler e escrever na pasta montada.

Por outro lado, você poderia usar users e noauto na fstab e fazer o smbmnt
com suid, mas isso abre uma brecha de segurança no sistema (não sei ao certo
qual seria, mas é o que tá no histórico da lista). Dessa forma você poderia
fazer um script e o usuário digitaria a sua senha de rede através do script,
com ele montando a pasta (mapeada para alguma pasta do home, por exemplo:
/home/usuario/rede/N) onde o usuário já tem as permissões corretas, passando
o username e passwd como opções on-the-fly. Claro ainda teria que por umask
mas aí é mais restrito. Eu uso assim e coloquei um item em menu que chama o
script. O script utiliza dialog para fazer o acesso. Como eu é que sou o
administrador, nem coloquei nada na fstab, simplesmente faço chamo o script
com gksudo, e aí se torna como um outra tarefa administrativa do sistema.

As várias opções para montagem você pode encontrar em man mount.

Se quiser automatizar, chama o script a partir do bash (ei alguém da lista,
isso vai funcionar?) daí quando o usuário logasse ele seria executado
automaticamente.Claro que o usuário teria que digitar a senha da rede
também.

Acho que é por aí. Mas gostaria que o pessoal da lista confirmasse.

André Cavalcante

---------------------

Script para montar:

-----------------------

#!/bin/bash

# testa execucao pelo usuario root
if [ "$USER" != "root" ]; then
    zenity --title "Atenção" --error --text "Este script somente pode ser
utilizado pelo root"
    exit 1
fi

# pega a senha
senha=`zenity --entry --title "Senha" --text "Digite a senha de rede"
--hide-text`
if [ "$senha" == "" ];
    then echo Sem senha; exit
fi

# ajusta as variaveis
servidor="//seu-servidor"
ponto="/home/usuario/rede"
opcoes="workgroup=dominio,username=usuario,password=$senha,uid=usuario,gid=usuario,umask=000,fmask=661,rw,codepage=cp437,iocharset=utf-8"
#voce pode pegar o usuario com outro dialog

# testa para ver se os compartilhamentos ja estao montados
# se ainda nao monta-os novamente
# se sim, ignora a montagem

remoto[0]="Compartilhamento1"
remoto[1]="Compartilhamento2"
remoto[2]="Compartilhamento3"
remoto[3]="Compartilhamento4"

for nome in ${remoto[*]} ; do
    erro=`grep -oF "$ponto/$nome" /etc/mtab`
    if [ "$erro" != "$ponto/$nome" ];
        then smbmount "$servidor/$nome$" "$ponto/$nome" -o $opcoes
        else zenity --info --text "Compartilhamento $servidor/$nome$ já
montado"
    fi
done

zenity --info --text "Compartilhamentos montados"

exit


-------------------

Script para desmontar:

-----------------------

#!/bin/bash

if [ "$USER" != "root" ]; then
    zenity --title "Atenção" --error --text "Este script somente pode ser
utilizado pelo root"
    exit 1
fi

#ajusta as variaveis
ponto="/home/usuario/rede"

#ajusta os compartilhamentos remotos a serem montados
remoto[0]="Compartilhamento1"
remoto[1]="Compartilhamento2"
remoto[2]="Compartilhamento3"
remoto[3]="Compartilhamento4"

#desmonta os compartilhamentos
for nome in ${remoto[*]} ; do
    erro=`grep -oF "$ponto/$nome" /etc/mtab`
    if [ "$erro" == "$ponto/$nome" ];
        then smbumount "$ponto/$nome"
    fi
done

zenity --info --text "Pastas desmontadas"

exit

-------------------

P.S. não esqueça de criar as pastas dentro de /home/usuario/rede com o
usuario como dono.


2008/6/24 Cristiano Machado <adorador.cristiano em gmail.com>:

> Saudações...
>
> Olha oque eu precisa fazer:
>
> Estou numa estação linux e preciso acessar o LOTUS NOTES pelo wine, mas o
> servidor fica num tal disco "N" na rede windows em que o micro se encontra
> ligado.
>
> oque eu faço é o seguinte:
>
> Monto a unidade N com o comando:
>
> mount -t cifs //sede_nts/user /media/n -o username=c046251
>
> o sistema me pede a senha de usuário do ubuntu e em seguida a senha de rede
> do windows.
>
> oque eu gostaria de fazer era que assim que eu inicie o sistema, esta
> unidade já esteja montada.
>
> a pergunta é: Quais os parametros que eu tenho que colocar no fstab para
> que
> isso aconteça.
>
> grato!
>
> --
> Cristiano
> 99917357
>
>



More information about the ubuntu-br mailing list