Permissão negada durante a montagem do compartilhamento de janelas com cifs-utils

0

Eu quero acessar um compartilhamento do windows da minha máquina ubuntu vbox (tenho todos os proxies configurado corretamente).

O problema é que recebo um erro de permissão negada sem motivos extras ao tentar montar via:

 mount -t cifs "//server/share" /windowsshare/myshare -o username=<activediruname>,password=<pass>,domain=<ADdomain>,ro

Eu recebo este erro:

mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Eu tenho um caractere $ dentro da senha, mas não acho que esse seja o problema, porque eu também tentei definir o PASSWD env var e remover a opção password= e ainda permissão negada.

Todas as ideias, dicas ou informações sobre como depurar as informações ainda serão muito apreciadas.

    
por Ovidiu Buligan 28.03.2015 / 14:43

1 resposta

0

Em geral, se você usar um sinal de dólar sem escape ou não citado na linha de comando, ele estará sujeito à expansão do parâmetro , ou seja, o valor do parâmetro será substituído pelo nome do parâmetro. Vamos supor que sua senha seja foo$bar . Eu uso echo para exibir a linha de comando executada real:

$ echo mount -t cifs ... -o username=user1,password=foo$bar,domain=WIN,ro
mount -t cifs ../../ -o username=user1,password=foo,domain=WIN,ro
$ PASSWD=foo$bar
$ echo $PASSWD
foo

Você pode ver que a parte $bar é substituída por nada, porque neste exemplo não há um conjunto de parâmetros bar . Para evitar isso, use aspas simples ao redor do $ ou todo o termo:

$ echo mount -t cifs ... -o 'username=user1,password=foo$bar,domain=WIN,ro'
mount -t cifs ../../ -o username=user1,password=foo$bar,domain=WIN,ro
$ PASSWD='foo$bar'
$ echo $PASSWD
foo$bar

Portanto, o motivo do erro mount error(13): Permission denied é que o servidor rejeita sua senha, porque o shell substituiu algumas partes dele.

    
por 31.03.2015 / 13:57