Чому mac smb підключення не вдається з логіном із cli, але працює з Finder та з обліковим записом гостя?


8

Тож у мене є один mac (Yosemite), який ділиться папкою, прочитаною лише для багатьох користувачів, і гостьовий обліковий запис увімкнено для монтажу / доступу до цієї папки, щоб користувачі могли завантажувати що завгодно. Я підключаюсь до акції як менеджер з іншим mac (Сьєрра). Він працює, коли я запускаю як гостьовий користувач із командного рядка:

mount_smbfs //guest@macbook-pro.local/Files /tmp/files
ls /tmp/files
fileA    fileB

або якщо я підключаюсь із пошуку, як гість:

click MacBook-Pro -> Connect As -> Guest -> Connect
double click Files
ls /Volumes/Files
fileA    fileB

Зараз є один обліковий запис адміністратора на mac (Yosemite). Я хочу приєднати / отримати доступ до цієї папки з привілеєм читання запису, але всі спроби встановити папку з логіном не вдаються, якщо мені потрібне ім'я користувача з командного рядка.

mount_smbfs //admin@macbook-pro.local/Files /tmp/files
Password for MacBook-pro.local:
mount_smbfs: server rejected the connection: Authentication error

Однак якщо я з'єднуюся з Finder:

click MacBook-Pro -> Connect As -> Registered User
Username: admin
Password: password
 -> Connect
double click Files
ls /Volumes/Files
fileA    fileB

У кожному випадку успішного з'єднання я бачу в розділі спільного використання сервера Властивості системи, що коли я натискаю Обмін файлами: Увімкнено -> Параметри ...

Share files and folders using SMB
  Number of users connected: 1

Чи можете ви здогадатися, чому з'єднання відхилено, коли я намагаюся з'єднатись за допомогою smb з командним рядком за допомогою облікового запису, який вимагає автентифікації?

Редагувати

Так, підключення AFP працює в будь-якому випадку, включаючи кліп із обліковим записом, який вимагає пароля. Наприклад:

mount_afp -i afp://admin@macbook-pro.local/Files /tmp/files
Password: 
ls /tmp/files
fileA    fileB

Заради тестування я також намагався знизити правила аутентифікації smb на всякий випадок, але ефекту не було, навіть надсилаючи пароль на простому тексті. Як такий:

sudo nano /etc/nsmb.conf
   [default]
   minauth=none
^c+X
mount_smbfs smb://admin:password@macbook-pro.local/Files /tmp/files
mount_smbfs: server rejected the connection: Authentication error

EDIT2

Ось декілька файлів журналів, якщо хтось може отримати від них будь-яку інформацію про цю проблему. (Вибачте, що публікуєте журнали за межами сайту, але в успішних журналах було занадто багато тексту.)

По-перше, клієнтський журнал підключення до MacBook-Pro.local через SMB через Finder, використовуючи такий потік:

Click MacBook-Pro
Connect As: Registered User
Name: admin
Password: password
Connect

Виробляє такий запис журналу на консолі:

http://paste.ubuntu.com/23308183/

Тепер список усіх папок спільного доступу доступний адміністратору, звичайно. Отже, натиснувши папку Файли, ви отримаєте більше журналу, наприклад:

http://paste.ubuntu.com/23308186/

Файли кріпляться і можуть читати / писати користувачем адміністратора

Для порівняння, ось журнал Console при спробі підключення до ресурсу за допомогою чистого інструменту командного рядка mount_smbfs:

default 09:43:21.257429 -0400   gamed   GKClientProxy: clientForBundleID:
default 09:43:21.257543 -0400   gamed   GKClientProxy: updateIfRecentlyInstalled
default 09:43:21.258623 -0400   gamed   GKClientProxy: clientForBundleID:
default 09:43:21.258751 -0400   gamed   GKClientProxy: updateIfRecentlyInstalled
default 09:43:21.277114 -0400   opendirectoryd  Client: <private>, UID: 0, EUID: 0, GID: 0, EGID: 0
default 09:43:21.277194 -0400   opendirectoryd  <private> completed, delivered 1 result
default 09:43:22.025420 -0400   mount_smbfs subsystem: com.apple.SystemConfiguration, category: SCPreferences, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 2, enable_private_data: 0
default 09:43:22.030767 -0400   mount_smbfs subsystem: com.apple.network, category: , enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 2, enable_private_data: 0
default 09:43:22.069146 -0400   opendirectoryd  Client: <private>, UID: 0, EUID: 0, GID: 0, EGID: 0
default 09:43:22.069231 -0400   opendirectoryd  <private> completed, delivered 1 result
default 09:43:22.069385 -0400   opendirectoryd  Client: <private>, UID: 0, EUID: 0, GID: 0, EGID: 0
default 09:43:22.069479 -0400   opendirectoryd  <private> completed, delivered 1 result
default 09:43:22.072139 -0400   opendirectoryd  Client: <private>, UID: 502, EUID: 502, GID: 20, EGID: 20
default 09:43:22.072212 -0400   opendirectoryd  <private> completed, delivered 1 result
error   09:43:22.146661 -0400   kernel  loginwindow is not entitled
error   09:43:22.146708 -0400   kernel  loginwindow is not entitled
error   09:43:22.146799 -0400   kernel  UserEventAgent is not entitled
error   09:43:22.146882 -0400   kernel  UserEventAgent is not entitled
default 09:43:22.886004 -0400   AppleIDAuthAgent    SERVER Doing account check for "a...n@???????.???". (scheduledAccountCheckDispatcher()/AppleIDAuthd.cpp #545) accountCheckDispatch
default 09:43:22.886074 -0400   AppleIDAuthAgent    Checking account <private>
default 09:43:22.887673 -0400   AppleIDAuthAgent    _AppleIDAuthAccountForAppleID falling back to account aliases

error   09:43:22.891028 -0400   AppleIDAuthAgent    ### Request GS token for '<private>' start failed: -101
default 09:43:22.891078 -0400   AppleIDAuthAgent    ### Authenticate '<private>' failed: <private>
default 09:43:22.891158 -0400   AppleIDAuthAgent    SERVER Didn't succeed with .authenticate, and error is ERROR:"CSIdentityErrorDomain" #-101 kCSIdentityAppleIDInvalidAccountOrPasswordErr {  } so releasing session. (___Z31__AppleIDSessionDoCreateSessionPK10__CFStringS1_PK14__CFDictionaryPS1_PS4_PP9__CFError_block_invoke()/AppleIDXMLServerCommunications.cpp #902) queue.session.
default 09:43:22.891399 -0400   AppleIDAuthAgent    Next time for '<private>': 2016-10-11 13:43:22 +0000 (497886202.891342 + 0.000000), 0.000000 seconds
default 09:43:22.891514 -0400   AppleIDAuthAgent    Next time for '<private>': 2016-10-11 13:43:22 +0000 (497886202.891467 + 0.000000), 0.000000 seconds
default 09:43:22.891560 -0400   AppleIDAuthAgent    Next action time for <private>: <private> (because the account does not have a certificate nor an uploaded csr)
default 09:43:25.393805 -0400   CommCenter  #watchdog #I Callback Watchdog: checkin 119
default 09:43:25.394014 -0400   CommCenter  #watchdog #I Server Watchdog: checkin 119
default 09:43:28.212369 -0400   opendirectoryd  Client: <private>, UID: 502, EUID: 502, GID: 20, EGID: 20
default 09:43:28.212476 -0400   opendirectoryd  <private> failed with error '<private>' (2)
default 09:43:29.061659 -0400   kernel  SmartBattery: finished polling type 4
default 09:43:29.847392 -0400   gamed   GKClientProxy: clientForBundleID:
default 09:43:29.847446 -0400   gamed   GKClientProxy: updateIfRecentlyInstalled
default 09:43:29.847970 -0400   gamed   GKClientProxy: clientForBundleID:
default 09:43:29.847992 -0400   gamed   GKClientProxy: updateIfRecentlyInstalled
default 09:43:29.879093 -0400   opendirectoryd  Client: <private>, UID: 0, EUID: 0, GID: 0, EGID: 0
default 09:43:29.879183 -0400   opendirectoryd  <private> completed, delivered 1 result

РОБОТА

Я виявив, що цей фрагмент AppleScript працює з командного рядка.

osascript -e 'tell application "Finder" to mount volume "smb://admin:password@macbook-pro.local/Files"'

Він запустить вікно підтвердження із заповненим полем пароля. Однак потрібно ввести пароль чітким текстом. Очевидно, це також можна зробити без пароля і вводити його кожен раз.

osascript -e 'tell application "Finder" to mount volume "smb://admin@macbook-pro.local/Files"'

Тому я спробував зберегти пароль. Після відмітки поля, щоб зберегти логін у брелок, та сама команда досягає успіху, не маючи пароль у прозорому тексті, але все ще відображає вікно підтвердження із заповненим полем Пароль і також поставлено галочку "Запам'ятати пароль".

Зберегши пароль, все ще не застосовується до з'єднання mount_smbfs. Спроба встановити не вдалася.

Можливо, ця ідея про сценарій є обхідною задачею, але вона не відповідає на питання, чому самба з'єднується шукачем, але не використовує cli.


Чи можете ви спробувати підключитися через AFP і побачити, чи працює це?
NoahL

Дякуємо за допомогу. Це, безумовно, працює AFP у всіх випадках. Finder, командний рядок та сценарій, будь то гостьовий або потрібний користувачеві пароль.
ndasusers

спробуйте це: на сервері перейдіть до Налаштування системи -> Обмін. У центрі вікна - зелене коло. Поруч із ним написано "Обмін файлами: увімкнено" у середній лівій частині вікна, натисніть "Параметри ...". У спадному меню ввімкніть "обмінюватися файлами та папками за допомогою smb"
NoahL

Дозвольте мені знати, як це відбувається
NoahL

Ще раз дякую вам. Обмін файлами: увімкнено, обмін файлами за допомогою smb вже увімкнено. Щоразу, коли успішне з'єднання надано, користувачі також нумеруються там у цьому вікні.
ndasusers

Відповіді:


-3

GKClientProxy: clientForBundleID: 4


4
Ласкаво просимо до спитання різних і дякую за вашу відповідь! Ми завжди шукаємо рішення та надаємо перевагу відповідям, які містять інформацію, таку як: (1) Як ви вважаєте, що надана вами відповідь вирішує проблему та / або чому вона може бути кращою за інші рішення, (2) Посилання на підтримку інформації та / або продукти, які ви рекомендуєте. Додаткова інформація, така як ця, може допомогти ОП та іншим знайти додаткову інформацію для себе. Див. Як відповісти, щоб отримати поради щодо надання відповідей тут.
Мономет
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.