Я хочу получить доступ к общей папке Windows с моего компьютера с vbox Ubuntu (все прокси настроены правильно).

Проблема в том, что я получаю ошибку «Отказано в доступе» без каких-либо дополнительных причин при попытке монтировать через:

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

Я получаю эту ошибку:

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

У меня есть символ $ внутри пароля, но я не думаю, что это является проблемой, потому что я также попытался установить PASSWD env var и удалить опцию password= но ошибка разрешения запрещена.

Будем весьма благодарны за любые идеи, подсказки или информацию о том, как отладить информацию дальше.

1 ответ1

0

В общем, если вы используете в командной строке знак доллара без символа или без одинарных кавычек, он подвергается расширению параметра, то есть значение параметра заменяется на имя параметра. Давайте предположим, что ваш пароль - foo$bar . Я использую echo для отображения в фактически выполненной командной строке:

$ 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

Вы можете видеть, что часть $bar заменена ничем, потому что в этом примере нет набора параметров bar . Чтобы предотвратить это, используйте одинарные кавычки вокруг $ или всего термина:

$ 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

Итак, причина mount error(13): Permission denied ошибка « Отказано в доступе» состоит в том, что сервер отклонил ваш пароль, потому что оболочка заменила некоторые его части.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .