问题标签 [dscl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
694 浏览

permissions - 使用 MAMP 站点的正确组/权限

我正在 OS10 Leopard上使用 MAMP 构建网站。我希望能够将可公开访问的上传目录设置为 0775 而不是 0777。我在 MAMP 的“权限”面板中尝试了一堆组合。我可以让网站在“www”组下运行,0775 非常适合上传,但是我无法通过我的文件系统用户“ben”编辑或删除上传的文件。我尝试将自己添加到“www”组,但到目前为止没有运气:

对此的任何帮助或指导将不胜感激。我相信我可以使用 775 在我的实时服务器上运行它,但我希望在本地进行类似的设置。

谢谢。

0 投票
3 回答
19989 浏览

macos - 在 OS X 上以管理员权限运行脚本

我已经尽力在 Stack Overflow 和互联网上找到许多脚本问题的解决方案,但我似乎找不到我需要的解决方案。

我想要做的是创建一个更自动化且点击次数更少的解决方案,以删除系统上所有移动缓存的用户帐户。我一直在登录并手动进入用户帐户并通过单击“-”按钮一次删除一个用户,然后单击“立即删除”以获取用户数据。这行得通,但很耗时,而且我有更好的事情要做。所以我知道必须有一种方法可以用脚本来做到这一点。

我遇到了这段代码:

如果我在终端中运行它,我会收到权限错误。所以我想我需要用 sudo 运行它。所以我开始研究创建 AppleScripts 来运行脚本,但我似乎找不到正确的方法来做到这一点。

有任何想法吗?顺便说一句,我是在 Mac 上编写脚本的新手,所以请评论你的代码以便我知道发生了什么,所以我不会在不知道它会做什么的情况下运行一些脚本代码。:)

谢谢

0 投票
10 回答
109102 浏览

xcode - 在 Xcode / Mac OS 中授权非管理员开发人员

我使用标准用户帐户在 Mac OS 上执行日常任务。自从升级到 Snow Leopard 后,当从 Xcode 中运行程序时,我被要求执行以下操作:

“在‘​​开发者工具’组中输入用户名和密码,以允许开发者工具访问进行更改”

虽然我知道管理员用户名/密码,但这很烦人(尽管每次登录只需要一次)。

开发者工具访问请求来自应用程序 gdb-i386-apple-darwin 的“system.privilege.taskport.debug”权限。

解决这个问题的最佳方法是什么?

0 投票
1 回答
435 浏览

cocoa - 系统偏好设置 > 帐户的 uids / 名称列表

如何获取带有 uid 和名称的数组?

我可以从 0 迭代到 99999 并执行getpwnam(). 但是,大多数机器的帐户少于 5 个,因此不是最佳选择。我不知道什么框架对此负责,因此我不知道要搜索什么。

有没有更优的方案可以遍历账户?

编辑:就在我发布后,我发现getpwent()了遍历帐户。

但是,这并不表示帐户是否是系统偏好帐户。

那么如何获得系统偏好帐户呢?


编辑:我找到了与此等效的命令行dscl命令。

0 投票
1 回答
348 浏览

ssh - dscl 在重新连接的屏幕内部不起作用

我在 Mac OS X 10.5.8 上。我不确定这到底是什么时候开始发生的,但我发现当我重新连接到从 ssh 会话开始的屏幕会话时,任何依赖 dscl(目录服务)或底层 getent 的东西都会失败。

如果我在终端的那台机器上启动会话,一切正常。只有远程启动的屏幕会话在重新连接时才会出现问题。

同样失败:

我已经重新启动、调试和谷歌搜索了大约 6 个小时,但没有运气。

这真的很痛苦,因为它会影响很多应用程序(ssh、git、rake 等)。

我很好奇这是否会影响其他人,或者是否有人知道如何解决它。

0 投票
1 回答
319 浏览

ldap - Novell IDM Apple 开放目录 LDAP 驱动程序

我一直在寻找有关如何为 Apple Open Directory 设置 IDM 驱动程序的信息或示例。我发现的文章没有提供太多细节,也几乎没有实际的技术内容。

我正在使用 LDAP 驱动程序,可以在 OD 端连接和创建用户。但是,我遇到的问题是如何设置和同步密码。由于 LDAP 驱动程序似乎无法正确设置加密密码,因此我打算在驱动程序创建用户后使用 dscl 设置密码。由于这一步必须在订阅者通道上提交 XDS 之后发生,我可以创建一个后续事件来触发 dscl 命令还是可以使用发布者通道返回的状态消息?

使用 IDM 将 eDir 同步到 Apple Open Directory 似乎不是什么新鲜事。我有点惊讶的是,Designer 面板中没有现有的驱动程序配置,或者论坛中至少没有一些更详细的示例或讨论。

0 投票
0 回答
4548 浏览

macos - 将本地帐户迁移到移动帐户错误 Mac OS X Lion

我需要将 Mac OS X 上的用户从本地帐户迁移到 AD Mobile 帐户。在执行 MCX 之前,我在 10.6 和 10.7 中执行此操作没有问题。

我有一个脚本删除了本地帐户 dscl 条目并将用户主文件夹设置为适当的权限。用户只需要登录并更新他们的钥匙串密码。

但是,在我开始在我的实验室 Mac 上强制执行 MCS 设置后,我第一次尝试使用网络凭据登录时遇到错误:“无法创建移动帐户创建移动帐户时出现问题”

我在 system.log 中找到了这个:

2 月 7 日 08:22:01 atosmcsmbp17M99 SecurityAgent[7696]:为 luser 设置的用户信息上下文值 2 月 7 日 08:22:01 atosmcsmbp17M99 SecurityAgent[7696]:登录窗口登录继续进行 2 月 7 日 08:22:01 atosmcsmbp17M99 ManagedClient[7695]: MCXCCacheGraph(localhost, dsRecTypeStandard:Computers):记录“localhost”(dsRecTypeStandard:Computers) 干扰计算机缓存。删除此记录以恢复缓存。2 月 7 日 08:22:01 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:01.826 ManagedClient[7695:1803] MCXCCacheGraph(localhost, dsRecTypeStandard:Computers): 记录 "localhost" (dsRecTypeStandard:计算机)干扰计算机缓存。删除此记录以恢复缓存。2 月 7 日 08:22:01 atosmcsmbp17M99 ManagedClient[7695]:MCX.getComputerInfoFromStartup:) 2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.596 ManagedClient[7695:1803] MCXCCacheMCXRecordAndGraph(): [localNode createRecordWithRecordType:dsRecTypeStandard:Users name:"luser" ] == 4102(无法创建记录,因为已经存在同名的记录。)2 月 7 日 08:22:04 atosmcsmbp17M99 ManagedClient[7695]:MCXCCreateMobileAccount():创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2 月 7 日 08:22:04 atosmcsmbp17M99 ManagedClient[7695]:MCXCDeleteAccount():尝试删除用户 ID = 0 Feb 7 08:22:04 atosmcsmbp17M99 ManagedClient[7695]:MCX.createMobileUserAccount:MCXCCreateMobileUserAccount(luser,/Users/luser) == 4102(无法创建记录,因为已经存在同名的记录。) 2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCCreateMobileAccount():创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]:2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCDeleteAccount():尝试删除用户 ID = 0 Feb 7 08:22: 04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.663 ManagedClient[7695:1803] MCX.createMobileUserAccount: MCXCCreateMobileUserAccount( luser, /Users/luser ) == 4102 (无法创建记录,因为一个已经存在同名。)创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]:2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCDeleteAccount():尝试删除用户 ID = 0 Feb 7 08:22: 04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.663 ManagedClient[7695:1803] MCX.createMobileUserAccount: MCXCCreateMobileUserAccount( luser, /Users/luser ) == 4102 (无法创建记录,因为一个已经存在同名。)创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2 月 7 日 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]:2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCDeleteAccount():尝试删除用户 ID = 0 Feb 7 08:22: 04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.663 ManagedClient[7695:1803] MCX.createMobileUserAccount: MCXCCreateMobileUserAccount( luser, /Users/luser ) == 4102 (无法创建记录,因为一个已经存在同名。)

我有一个可以通过 ssh 访问的管理员帐户,因此我尝试使用以下命令手动创建移动帐户:/System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -vn luser /Users/luser

但是我得到了同样的错误:

bash-3.2# /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -vn luser -h /Users/luser createmobileaccount 于 2011 年 12 月 8 日 21:19:30 详细输出。用户名 = "luser" 主路径 = "/Users/luser" 用户密码 = "(null)" 提示输入密码 = FALSE 加密新主页 = FALSE 创建为外部帐户 = TRUE 主页同步新帐户 = FALSE 2 月 7 日 08:38 :25 atosmcsmbp17M99.local createmobileaccount[9427] :3891612:(connectAndCheck)不允许不受信任的应用程序在登录前连接或启动Window Server。2012-02-07 08:38:26.713 createmobileaccount[9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_SUSPEND, &(uid=64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:2mobile. 9427:1203] MCXCCacheMCXRecordAndGraph(): [localNode createRecordWithRecordType:dsRecTypeStandard:Users name:"jgriss"] == 4102(无法创建记录,因为已经存在同名记录。)2012-02-07 08:38:26.783 createmobileaccount[ 9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_RESUME, &(uid=64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCCreateMobileAccount() . 错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 ] == 4102(无法创建记录,因为已经存在同名记录。) 2012-02-07 08:38:26.783 createmobileaccount[9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_RESUME, &(uid= 64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCCreateMobileAccount(): 创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 ] == 4102(无法创建记录,因为已经存在同名记录。) 2012-02-07 08:38:26.783 createmobileaccount[9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_RESUME, &(uid= 64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCCreateMobileAccount(): 创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 1203] MCXCCreateMobileAccount():创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 1203] MCXCCreateMobileAccount():创建帐户失败。错误 = 4102(MCXCCacheMCXRecordAndGraph 失败)。清理手机账户记录。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): 试图删除用户 ID = 0 *无法创建移动帐户:4102(无法创建记录,因为已存在同名记录。)

补救措施:

我验证了本地帐户 DSCL 条目已删除

我已尝试按照 Apple 知识库中的说明刷新 MCS 设置:http: //support.apple.com/kb/HT3540

我还尝试删除 MCX 管理设置。rm -Rf "/库/托管首选项"

从系统首选项创建 luser,然后再次删除用户(保持主文件夹不变)确实允许在下次登录时正确创建移动帐户。但是,我需要能够编写此过程的脚本。

我觉得我错过了一些明显的东西,任何建议将不胜感激。

谢谢!

0 投票
1 回答
514 浏览

applescript - applescript中当前用户图片路径的奇怪属性结果

当我运行时:

在applescript中,除了图片路径外,一切看起来都很好。引用的路径不是我所看到的用户图片。

我可能在这里遗漏了一些东西,但我不知道是什么。引用路径中的图片是否有其他用途,而不是我在系统偏好设置中设置为我的用户图片的图片?

谢谢!

0 投票
6 回答
5996 浏览

regex - 从专有名称中解析通用名称的正则表达式

我正在尝试仅从OSX 终端bash环境中的命令返回的以下 DN解析(使用sed) ...First LastDSCL

CN=First Last,OU=PCS,OU=guests,DC=domain,DC=edu

我已经尝试了该站点的多个正则表达式以及其他与我想要的问题非常接近的问题......主要是这个问题......我已经尽我所能尝试遵循建议(我不一定认为自己是新手。 ..但绝对是正则表达式的新手..)

DSCL返回一个 DN 列表,我只想First Last打印到一个文本文件。我尝试过使用sed,但似乎无法获得正确的功能。我愿意接受其他命令来解析输出。每行都以 和 开头,然后CN=有一个逗号。LastOU=

非常感谢您的帮助!

0 投票
1 回答
544 浏览

objective-c - 在 Objective-C 中启动 dscutil

我将如何dscl在 Objective-C 中使用并获得其输出?我想像在终端中一样传递的命令是:

我知道如何使用 -xml 等参数启动 system_profiler,但我不知道如何在实际工作的地方传递这么长的字符串。

我知道 system_profiler 是 /usr/sbin/system_profiler,但是 dscl 呢?