Как включить общий доступ к SMB для учетной записи пользователя с терминала в Mac OS X?
Я пытаюсь включить Общий доступ к аккаунту из терминала. Я не могу понять, как это сделать.
Это будет использоваться из приложения, которое я сейчас программирую. Приложение создает скрытого пользователя, затем следует включить совместное использование SMB для этого пользователя. Позже мне нужно подключиться к этому ресурсу через другой сервер с помощью SMB.
Мне нужен тот же эффект, что и в системных настройках → Обмен файлами → Общий доступ к файлам → включить любую учетную запись для совместного использования с помощью SMB.
![enter image description here]()
Что у меня уже есть:
- Я знаю, как создать скрытого пользователя
- Я уже знаю, как создавать отдельные общие папки, но не использовать общий доступ к учетной записи.
Что я уже пробовал:
- Я уже пытался отсканировать систему для последних измененных файлов, чтобы найти некоторую информацию в конфигурационных файлах Samba, но это не помогло.
Что мне не нужно:
- Я не могу сделать это с помощью SSH. Папки должны использоваться совместно с SMB.
Ответы
Ответ 1
ЭТО РАБОТЫ ДЛЯ OS X 10.5, 10.6, 10.7
Сначала введите это в терминал
pwpolicy -u SomeUser -sethashtypes SMB-NT on
SomeUser
также может быть скрыт, это не имеет значения. Это дает такой же эффект, как включение этого флажка, как показано на рисунке выше.
После этого:
dscl . -passwd /Users/SomeUser "UserPassword"
Это дает тот же эффект, что и включение его из системных настроек, когда он запрашивает пароль. Это то же самое, что и заполнение этого пароля.
Если вы хотите отключить SMB в этой учетной записи (SomeUser
можно снова скрыть):
pwpolicy -u SomeUser -sethashtypes SMB-NT off
P.S. В Mac OS X Lion они изменили свою реализацию для SMB (SMBX). Но имейте в виду, что он по-прежнему использует один и тот же механизм Share Points для создания общего ресурса, и за это отвечает Directory Service. Также он по-прежнему работает таким же образом, что и SMB на счету!
Ответ 2
Я пробовал ответить выше в 10.7, и я был рад видеть, что после включения SMB-NT настройка появилась эффективно на экране "Параметры совместного доступа".
Проблема заключается в том, что если этот пользователь включен с помощью этого метода, я не смог подключиться к Windows. Поэтому мне пришлось попробовать другое эзотерическое решение, которое я нашел раньше, и я не хотел попробовать:
- О смене файла /var/db/dslocal/nodes/Default/users/.plist, переупорядочивающего значения массива authentication_authority.
Вот полное объяснение:
https://discussions.apple.com/thread/3211072?start=0&tstart=0
После внесения этих изменений пользовательский smb-параметр снова отключился (возможно, потому, что я использовал старый файл .plist), но я смог эффективно включить его и подключиться к Windows!
Ответ 3
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server.plist EnabledServices -array disk
Это может быть другой способ.
И чтобы отключить его снова, - выгрузите его.
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.smbd.plist