cifs, smb - Неможливо встановити (відмовлено в дозволі) або перейти до спільної папки


13

Я нещодавно натрапив на цю проблему. Зазвичай я переходжу через загальну папку локальної мережі з машини 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, а моя версія mount.cifs - 6.4

Будь-яка ідея, як змусити один з обох методів працювати?


Оновити відповідь на понфрілус

номер 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 без проблем, але я можу переміститися, щоб дістатися до загальної папки користувача.


Спробуйте підказку №3 понсфрілуса vers=3.0, можливо, також vers=2.0або vers=1.0. Якщо це не працює, можливо, ви можете дозволити серверу підключати більш широкий спектр версій smb. У мене виникла сама ця проблема, оскільки smb3 був встановлений на сервері у міру необхідності. Не вдалося підключитися до linux, поки сервер не знизив потрібну версію samba до 2. Яку ОС працює сервер?
emk2203

2
Я спробував їх усіх. Я все ще отримую "дозвіл відмовлено" з 3.0, 2.1 та 2.0. Поки я отримую "невідому помилку" з 1.0. Я не знаю, як перевірити версію сервера Windows як користувача, оскільки я не маю прямого доступу до неї.
Frankmtl

Не можу вам допомогти у цьому, вибачте. Я мав контроль над сервером, і моя проблема пішла після розслаблення дозволених SMB-версій. Ви можете підключитися до власної частки - неправильна конфігурація Linux; Ви можете підключитися через Windows, щоб поділитися - неправильна конфігурація сервера навряд чи. Це вимагає справжнього гуру самби.
emk2203

Відповіді:


10

Я впевнений, що я зіткнувся з цією самою проблемою сьогодні на 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

Дякуємо за те, що залишили тут цей коментар, це допомогло мені.
делероб

Допомагав і мені. Виявляється, що гора -t cifs страждає від тієї ж проблеми
Термінальність

Це те, що виявилося моєю проблемою. У мене вже був ~/.smbcredentialsфайл. Я з жахом з’ясував, що мій місцевий NAS дуже довго дозволив мені встановити частку з поганим паролем.
Чарлі

Як не дивно, нам потрібно було вказати домен NetBIOS, а не ім'я хоста файлового сервера. Тим не менш, це працює зараз, велике спасибі.
bviktor

9

Я думаю, що у вас неправильний тип безпеки для сервера, помилка 13 означає, що сервер вас не пускає.

Вам потрібно буде вибрати правильний режим безпеки у вашій команді mount, додайте опцію 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

1
Я спробував їх усіх, і я отримую "дозвіл відхилений" або "невідома помилка" залежно від типу сек.
Frankmtl

Враховуючи всі останні проблеми з безпекою щодо SMB, я б радив використовувати його лише тоді, коли існує багато додаткових заходів безпеки, таких як дуже сучасні перевірки вірусів.
Амія

Спробуйте скористатися sec = ntlmssp і переконайтесь, що конфігурація сервера samba шифрує пароль.
Humpity

Врятував мені день. Насправді те, що я зробив, було просто видалити sec = ntlm, а потім воно спрацювало.
chuckedw

Ви дійсно повинні відійти від SMB в ці дні, це майже постійне джерело атак та ескалації приватних осіб.
Амія

4
  1. Спробуйте додати параметр "-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
    
  2. Перевірте за допомогою цих параметрів команду 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
    
  3. Тест із зазначенням опції версії SMB (проти = 2.1), див . Вікі самби . На сторінці чоловіка mount.cifs:

    vers =
    версія протоколу SMB. Дозволені значення:

    • 1.0 - Класичний протокол CIFS / SMBv1. Це за замовчуванням.

    • 2.0 - протокол SMBv2.002. Спочатку це було введено у Windows Vista Service Pack 1 та 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.

  4. Нарешті, спробуйте встановити лише першу спільну частину:

    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
    

Будь-який багатослівний вихід, яким ви можете поділитися, може допомогти.


Дякую за відповідь. Я не знайшов кращого способу відтворення, окрім оновлення питання. ви можете знайти результати цих команд в оновлення
Frankmtl,

@Frankmtl чи можете ви порівняти права папок у файлах docs1 та docs5?
ponsfrilus

Вибачте за пізню відповідь. Якщо ви маєте на увазі дозволи на папки після того, як я монтую їх, вони обоє мають drwxr-xr-x
Frankmtl

Щоб отримати доступ до спільного доступу до сервера Windows 2012 (smb2), потрібно додати ,vers=2.1 після uid = 1000 (також кінець рядка). Я встановив також пакет "cifs-utils".
laugeo

2

Для цієї проблеми при використанні cifs вище 6,0: нова версія cifs замість цього використовує змінну домену, тому файл creadentials виглядає так:

username=<your username>
password=<your password>
domain=<your domain>

Рішення для мене насправді не було пробілів до і після =.
WM

2

Додавання параметра sec=ntlmдо команди mount вирішило мою проблему.

наприклад:

sudo mount -t cifs -o username=administrator,password=123456,sec=ntlm //ip/eeshare /mnt/eeshare/
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.