cifs, smb - Не удается подключить (разрешение запрещено) или перемещаться по общей папке
Я недавно столкнулся с этой проблемой. Я обычно перемещаюсь через локальную сетевую общую папку с машины Linux через smb (то есть из менеджера файлов, используя smb:). Теперь, когда я пытаюсь получить доступ к ярлыку или вводу учетных данных снова, я получаю диалоговое окно с запросом пользователя, домена и пароля.
Поэтому я попытался смонтировать местоположение вручную с помощью cisf-utils, выполнив:
sudo mount -t cifs //fileshare1/docs1/user/My\ Documents/shared/Francesco/ /home/frank/used_shared/ -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000
я получил mount error(13): Permission denied
,
Я определенно уверен, что у моего пользователя есть разрешение на эту папку, потому что я могу получить к нему доступ с компьютера Windows.
Также, если я попытаюсь смонтировать мою личную папку в этом месте через:
sudo mount -t cifs //fileshare1/docs5/francesco.azzarello/ /home/frank/mnt_folder -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000
Я могу получить к нему доступ без проблем.
Для справки я использую ядро 4.2.0-36-generic, а моя версия mount.cifs - 6.4
Любая идея о том, как заставить один из обоих методов работать?
Обновить Rgarding ponsfrilus ответ
номер 1: подробный вариант возвращает:
_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,uid=1000,gid=1000,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_
Номер 2 в основном то же самое:
_ mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_
И ничего не изменилось с версией =2.1:
_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,vers=2.1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_
Что касается номера 4, я могу смонтировать docs1 без проблем, но я могу перемещаться, чтобы попасть в общую папку пользователя.
5 ответов
Я почти уверен, что столкнулся с этой же проблемой сегодня на Ubuntu 16.10. Я несколько раз перепробовал все предложения в этой теме, я мог смонтировать один и тот же общий ресурс с помощью Windows Server 2016 и просмотреть его с помощью smbclient (smbclient -U brainstrust //WINBOX01/shared
). Я даже попробовал внешний файл учетных данных.
Я наткнулся на исправление - хотя я создал локального пользователя для общего ресурса на коробке Windows, он также был присоединен к домену. В основном настройка домена на локальный компьютер -o domain=WINBOX01
исправил мою проблему мгновенно, поэтому оставил здесь комментарий в надежде, что это кому-нибудь пригодится.
Полная минимальная команда, которую я использовал, была:
sudo mount.cifs -v //WINBOX01/shared /home/geoff/winbox01 --verbose -o user=brainstrust,password=topsecret,domain=WINBOX01
Я думаю, что у вас неправильный тип безопасности для сервера, ошибка 13 означает, что сервер не пускает вас.
Вам нужно будет выбрать правильный режим безопасности в вашей команде монтирования и добавить параметр sec через -o следующим образом:
sec=
Security mode. Allowed values are:
· none - attempt to connection as a null user (no name)
· krb5 - Use Kerberos version 5 authentication
· krb5i - Use Kerberos authentication and forcibly enable packet
signing
· ntlm - Use NTLM password hashing
· ntlmi - Use NTLM password hashing and force packet signing
· ntlmv2 - Use NTLMv2 password hashing
· ntlmv2i - Use NTLMv2 password hashing and force packet signing
· ntlmssp - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message
· ntlmsspi - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message, and force packet signing
Попробуйте добавить опцию "-v", чтобы получить подробный вывод:
sudo mount -v -t cifs //fileshare1/docs1/user/My\ Documents/shared/Francesco/ /home/frank/mnt_folder -o \ username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000
Протестируйте с этими опциями команду mount
iocharset = utf8, rw, file_mode = 0777, dir_mode = 0777:
sudo mount -v -t cifs //fileshare1/docs1/user/My\ Documents/shared/Francesco/ /home/frank/mnt_folder -o username=my_user,password=my_pass,domain=my_domain,\ iocharset=utf8,rw,file_mode=0777,dir_mode=0777
Тест с указанием опции версии SMB (версия =2.1), см. Вики samba. Со страницы руководства mount.cifs:
уегз =
Версия протокола SMB. Допустимые значения:1.0 - Классический протокол CIFS/SMBv1. Это по умолчанию.
2.0 - протокол SMBv2.002. Первоначально это было представлено в Windows Vista с пакетом обновления 1 (SP1) и Windows Server 2008. Обратите внимание, что первоначальная версия Windows Vista говорила на несколько ином диалекте (2.000), который не поддерживается.
2.1 - Протокол SMBv2.1, который был представлен в Microsoft Windows 7 и Windows Server 2008R2.
3.0 - протокол SMBv3.0, который был представлен в Microsoft Windows 8 и Windows Server 2012.
Наконец, попробуйте смонтировать только первый общий ресурс:
sudo mount -v -t cifs //fileshare1/docs1/ /home/frank/mnt_folder \ -o username=my_user,password=my_pass,domain=my_domain,\ iocharset=utf8,rw,file_mode=0777,dir_mode=0777
Любой подробный вывод, которым вы можете поделиться, может помочь.
Для этой проблемы при использовании cifs выше 6.0: новая версия cifs использует вместо этого переменную домена, поэтому файл creadentials выглядит следующим образом:
username=<your username>
password=<your password>
domain=<your domain>
Добавление опции sec=ntlm
чтобы команда mount решила мою проблему.
например:
sudo mount -t cifs -o username=administrator,password=123456,sec=ntlm //ip/eeshare /mnt/eeshare/