问题标签 [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.
macos - OSX 上的隐藏帐户
在 OSX 上创建隐藏用户帐户(即不显示在登录窗口或system preferences
>上accounts pane
)的传统方法是使用小于 501 的 UID 创建它。
但是,在 10.8 上,我使用较低 UID 创建的帐户仍显示在系统偏好设置的帐户窗格中。
这个功能有变化吗?
如果是这样,那么其他帐户是如何隐藏的?
bash - 没有密码的Unix用户仍然需要密码
我在 OS X Mavericks 上创建了一个用户dscl . -create /Users/newuser UserShell /bin/sh
——没有设置任何密码。这可以通过使用 dscl 交互式提示读取用户文件来确认。
但是,当我sudo su newuser
尝试su
返回 root 时,bash 提示我输入密码。我需要关闭终端并打开一个新窗口以退出用户会话。
这是为什么?
objective-c - 在 Mac 上使用 Cocoa 对用户进行身份验证
如果我的 MAC 上有以下用户:test1、test2 和 test3
我已登录 test1。我想通过我的应用程序为 test2 启用某些功能。因此,用户 test1 必须通过输入 test2 的凭据来进行身份验证。有可能通过可可吗?
我尝试了 dscl 命令,但没有发现任何有用的东西。
例如:当您在文件库中单击启用用户时,它会在 mac 上显示与其他用户的 tableview。然后当您单击启用时,它会询问用户名和密码并验证其他用户。我正在尝试实现与此类似的东西。
objective-c - 在 OS X 上读取登录用户的域
有没有办法确定登录帐户是 OS X 上的本地帐户还是活动目录帐户?如果是,我们如何检索域名?
macos - 在 OSX 中使用 chown 更改组
尝试将 OSX 上的文件的组更改为root
,但不断收到非法组名错误。环顾四周,所有演示都与我正在使用的匹配。我在这里错过了什么吗?尝试使用 dscl 创建一个组,结果相同
命令:dscl . -create /Groups/root
命令:sudo chown root:root $file
错误:chown: root: illegal group name
python - heisenbug:通过 ssh 在 Mac OS X 上预期和更改密码
在我的组织中,我们有许多运行 OS X Yosemite 的 Mac。每台机器都有一个默认帐户,我们的 IT 团队可以使用该帐户访问机器以提供 IT 帮助。我们希望定期更改此帐户的密码,并且随着组织中 mac 数量的增长,我们希望找到一种方法来自动执行此任务。
我编写了一个 Python 脚本,使用pexpect
该脚本将 SSH 连接到每台机器并执行dscl
以更改登录密码,然后通过 SSH 连接到每台机器以运行security
以更改登录钥匙串密码。
这些方法是存储新旧密码old_password
和new_password
属性的类的一部分:
这些方法都未能针对我的 OS X Yosemite 工作笔记本电脑进行测试。通过 ssh 执行的每个命令都会返回非零退出状态,并且笔记本电脑上的密码不会更改。
...但是,当我在任一方法的顶部插入pdb
断点,然后在调试器中单步执行该方法而不进行任何更改时,退出状态变为 0,并且笔记本电脑上的密码发生更改。
海森堡。
在调用周围插入打印语句pexpect
有时也会导致方法成功。
我已经尝试了pexepect
'sdelaybeforesend
属性,它在sendline
将其有效负载发送到子进程之前添加了一个延迟,认为在调试器中单步执行的时间延迟可能是问题所在,但这并没有解决问题。
有谁知道我接下来可能会看哪里?我的一些同事怀疑这可能是一个tty
问题。有谁知道pdb
可能会如何影响环境并导致这些命令成功,或者 OS X 导致它们失败的原因是什么?
macos - 在某些条件下不执行命令
我正在编写一个应用程序,该应用程序将帮助用户绑定到我们服务器的打开目录(如果不存在)。它将测试命令的输出是否为空,并帮助删除任何旧的打开目录并添加新目录。
如果脚本遇到某些条件,我应该如何将新域名添加到 Open Directory Server 时遇到问题。我究竟做错了什么?有关示例,请参见输出...
样本输出
案例1)不存在服务器(如果我们不展开$?
退出状态,则不返回任何内容。我们应该添加新域名。
案例 2) 旧服务器存在。我们应该删除旧服务器并添加新服务器。
案例 3) 存在旧服务器和新服务器。忽略新服务器并删除旧服务器。
案例 4) 新服务器存在。没做什么。
bash - dscl 命令中断登录
我正在尝试使用这些 dscl 命令更改照片帐户的用户图像:
之后,我清除缓存并像这样杀死 cfprefsd:
我在没有杀死/清除的情况下运行了它,结果相同,即......
运行这些命令后,当我注销时,一个风车出现在黑色背景上,我仍然可以看到我的光标,但随后显示器变黑并且没有光标。
重复此过程,直到完成硬关机。即使重新启动后也无法重新登录,因为我永远无法进入登录屏幕。
我尝试复制 vanilla loginwindow prefs 文件并在登录屏幕出错后替换它。我试图启动到安全模式,但似乎发生了正常启动。当我以详细模式启动时,它会在登录前到达同一点。仅在详细模式下启动时,屏幕会随着登录背景闪烁,但随后会返回循环,这似乎正在执行更多代码(它看起来无关紧要,如 Wi-Fi 设置等)
机器上的信息是无关紧要的,所以我不需要备份或恢复机器作为我的解决方案的一部分。
编辑:
我现在得到的启示是……
什么都不做。运行命令后,我读回了属性,它仍然存在。有任何想法吗?
编辑2:
其他面临此问题的人的解决方案是添加:
删除JPEGPhoto键后,它可以完美运行!
macos - 使用 dscl 在 OS X 中列出非管理员帐户
尝试编写一个 Bash 脚本,将所有非管理员帐户拉入一个数组,然后我可以删除主目录rm -rf /Users/"$USER"
并删除 Sys Pref user dscl . -delete /Users/"$USER"
。
我可以拉所有管理员,dscl . -read /Groups/admin GroupMembership | grep "$USER" | awk '{ print $3 }'
但无法弄清楚拉非管理员的命令。
任何帮助都会很棒!
macos - Mac OS X 为 10.9 到 10.11 创建用户脚本
我想制作一个脚本,它检查 OS X 版本并根据调用的 sysadminctl 或 dscl。如您所见,该脚本正在检查操作系统版本并检查下一个可用的用户 ID。之后,脚本跳转到末尾并给出文件意外结束的错误。这里缺少什么?
谢谢你的帮助!