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

Use*_*234 15 macos bash terminal cocoa

我正在尝试从终端启用帐户共享.我无法弄清楚如何做到这一点.

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

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

在此输入图像描述


我已经拥有的东西:

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

我已经尝试过的:

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

我不需要的:

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

Use*_*234 13

这适用于OS X 10.5,10.6,10.7

首先在终端输入

pwpolicy -u SomeUser -sethashtypes SMB-NT on
Run Code Online (Sandbox Code Playgroud)

SomeUser也可以隐藏,没关系.这与启用该复选框的效果相同,如上图所示.

之后:

dscl . -passwd /Users/SomeUser "UserPassword"
Run Code Online (Sandbox Code Playgroud)

当它要求输入密码时,这会产生与从系统偏好设置启用它相同的效果.这就像填写密码一样.

如果要在该帐户上禁用SMB(SomeUser可以再次隐藏):

pwpolicy -u SomeUser -sethashtypes SMB-NT off
Run Code Online (Sandbox Code Playgroud)

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