在mount_smbfs上获取身份验证错误

时间:2013-01-02 13:06:34

标签: objective-c macos cocoa authentication mount

我正在尝试使用mount_smbfs将文件从MAC复制到Windows。但是,我收到了身份验证错误。它说“服务器拒绝连接:身份验证错误”。我正在写正确的用户名和密码,但问题没有改变。以下是我的代码。

NSTask* task = [[NSTask alloc] init];
[task setLaunchPath:@"/sbin/mount_smbfs"];
[task setArguments:[NSArray arrayWithObjects:@"//user:50000@smb://192.168.2.1/Share",@"/Users/Shared", nil]];
[task launch];

请问如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

this page - 您需要将工作组指定为连接的一部分,否则您始终会收到身份验证错误。

所以连接字符串应为:

//WORKGROUP;user:50000@192.168.2.1/Share

...假设50000是用户user

的密码

请记住,它是您正在使用的URL,因此请确保在将用户名和密码嵌入字符串之前对其进行URL转义,否则可能会被误解。

如果您要连接到未加入域的系统,那么WORKGROUP值几乎是任意的,并且往往会被忽略。对于加入域的系统可能很重要,因为用户名是DOMAIN\username,但是当您连接到非域系统时,在检查用户凭据时会忽略DOMAIN\部分。