macos - 如何在 Mac OS X 上从终端启用用户帐户 SMB 共享?

标签 macos cocoa bash terminal

我正在尝试从终端启用帐户共享。我不知道该怎么做。

这将从我当前正在编写的应用程序内部使用。该应用程序创建一个隐藏用户,然后应为该用户启用 SMB 共享。稍后,我需要使用 SMB 通过另一台服务器连接到此共享。

我需要相同的效果系统偏好设置→共享→文件共享→启用任何帐户以使用SMB共享。

enter image description here


我已经拥有的:

  • 我知道如何创建隐藏用户
  • 我已经知道如何创建个人共享文件夹,但不知道如何共享帐户。

我已经尝试过的:

  • 我已经尝试扫描系统以查找最后修改的文件以在 Samba 配置文件中查找一些信息,但没有帮助。

我不需要的:

  • 我不能用 SSH 做到这一点。文件夹需要通过 SMB 共享。

最佳答案

这适用于 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

附言在 Mac OS X Lion 中,他们更改了 SMB (SMBX) 的实现。但请注意,它仍然使用相同的共享点机制来创建共享,并且由目录服务负责。此外,它仍然以相同的方式在帐户上启用 SMB!

关于macos - 如何在 Mac OS X 上从终端启用用户帐户 SMB 共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7824946/

相关文章:

macos - 10.12 Sierra 上的代码设计失败

eclipse - eclipse中是否有刷新项目的键盘快捷键?

azure - Node.js 加载项下载方法在 MacBook 中不起作用

objective-c - 在 Objective-C 中将引用作为函数参数传递

objective-c - 用户清空垃圾时通知?

bash - Bash 中单引号和双引号的区别

iphone - 检查常量是否在运行时在 Obj-C 中定义

objective-c - 由于 if 条件而退出按钮操作

linux - Bash 中的 "Spoof"文件扩展名

arrays - BASH:在部分数组输出周围加双引号?