Usuário comum não consegue realizar a montagem de pasta compartilhada[Resolvido]

Iniciado por tmelo, 06 de Setembro de 2013, 16:03

tópico anterior - próximo tópico

tmelo

     Caros Colegas,

    Inicialmente peço desculpas se o meu problema é básico demais, mas é que estou iniciando no Ubuntu só agora e portanto tenho poucos conhecimentos acumulados.
    É o seguinte: temos um rede privada em que vários usuários trocam arquivos e colaboram com projetos através de uma pasta "comunitária" localizada em um dos computadores (e que no windows é compartilhada publicamente por todos os computadores). Como estamos em processo de migração para o Ubuntu coube-me testar algumas funcionalidades, dentre elas replicar o esquema de compartilhamento desta pasta comum.
    Depois de muito pesquisar conseguir realizar o compartilhamento da pasta comum em cada computar incluindo no fstab a seguinte linha:


    //central/comum/ /home/comum/ smbfs auto,dev,exec,rw,suid,user,users, file_mode=0777,dir_mode=0777,umask=0222,iocharset=utf8,unicode,_netdev,credentials=/usr/share/seguranca/smbcredentials


    Todo ocorre as mil maravilhas, vindo a pasta a ser montada logo no boot sem problemas.
    Entretanto quando, por acaso, alguém liga um computador e o computador "central" não está ligado ainda, a pasta "comum" não é montada (lógico né!); ficando o usuário sem acesso a tal pasta.
    Meu problema é que, depois de ligado o computador "central", estou tendo problemas em montar a referida pasta usando apenas o comando "mount /home/comum/" (o qual colocaria em um script de fácil acesso aos usuários leigos - ou seja, só clicar e mais nada). Informo que na mesma situação e usando os comandos "sudo mount -a" ou "sudo mount /home/comum/" a pasta é montada (mas tais comandos requerem que o usuário saiba a senha do root, o que, obviamente, não faz sentido).
    Quando no terminal digito "mount /home/comum/" surge a seguinte mensagem de erro:


    mount error(1): Operação não permitida
    Refer to the mount.cifs( 8 ) manual page (e.g. man mount.cifs)



    Alguém saberia dizer o que eu estou fazendo de errado, e como solucionar tal problema?


NOOB Saibot

Se o computador é um servidor, ele deve estar sempre ligado. Por isso que máquinas comuns não devem ser usadas como Server, ainda mais de arquivos importantes de uma empresa.
Reiniciar os clientes não resolve? É o padrão do suporte pedir para o usuário reiniciar o computador
para resolver um problema.

tmelo

Citação de: NOOB Saibot online 06 de Setembro de 2013, 21:44
Se o computador é um servidor, ele deve estar sempre ligado. Por isso que máquinas comuns não devem ser usadas como Server, ainda mais de arquivos importantes de uma empresa.
Reiniciar os clientes não resolve? É o padrão do suporte pedir para o usuário reiniciar o computador
para resolver um problema.

A ideia é justamente não precisar reiniciar o computador.
Em síntese, o problema se resume a fazer o usuário comum montar uma pasta já definida no fstab

zekkerj

CitarInformo que na mesma situação e usando os comandos "sudo mount -a" ou "sudo mount /home/comum/" a pasta é montada (mas tais comandos requerem que o usuário saiba a senha do root, o que, obviamente, não faz sentido).

Não, não requerem. O sudo é autenticado com a senha do próprio usuário, desde que ele seja administrador. E você pode ainda configurar o sudo pra não pedir senhas para alguns comandos.

Mas eu tive uma idéia que acho melhor... vc disse que essa pasta tem que estar montada "o tempo todo", certo? E se você criasse um script que testasse se a pasta está montada de 1 em 1min, e caso não esteja, monte-a?

Seria algo tipo assim:


if mount | grep /home/comum ; then
    # ja montado
else
    mount -o remount /home/comum
fi


Esse script está longe de estar completo, mas já dá uma idéia de como vc pode testar o funcionamento. Depois é só programar isso no crontab.

E com mais uma vantagem: do jeito que está hoje, se o servidor for reiniciado, vc pode perder a conexão e não perceber. Com o script, vc recuperar automaticamente a conexão depois de 1min.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

tmelo

Caros Colegas,

Depois de muito pesquisar encontrei um solução bastante interessante para o meu problema, a saber:


1. criei um script simples em "/usr/bin/remonte_comum" contendo apenas
   #!/bin/bash
   sudo mount /home/comum/
2. alterei o arquivo "/etc/sudoers" para permitir o meu usuario executar o arquivo "/usr/bin/remonte_comum" sem senha, incluindo no mesmo a linha final
   usuario ALL=NOPASSWD: /usr/bin/remonte_comum
3. Criei um atalho (gconf-edit) para executar o seguinte comando: "sudo remonte_comum"


E tudo está funcionando perfeitamente!
Tópico resolvido