我有一台 Mac OS X 10.6 Snow Leopard Server Open Directory Master,其中有一个用户从一个组(他们所属的唯一组)获取了“移动和应用程序”管理的首选项。工作站也运行着 Mac OS X 10.6 Snow Leopard,当用户登录并尝试运行我们明确允许他们运行的主要应用程序(通过组的首选项)时,系统会显示“您无权使用应用程序‘Blah’”。
现在,该应用程序已添加到组的始终允许的应用程序列表中,未经签名(因此应用程序版本或文件内容的细微差异不应禁止它)。它甚至位于允许应用程序的文件夹列表中的 /Applications 子目录中。
我在将此用户登录到新工作站时遇到了这个问题,以下方法通常有效:
- 注销他们
- 从工作站上的移动主文件夹中删除以下文件:
/Library/Managed\ Preferences/
、、和。~/.FileSync
~/Library/Preferences/com.apple.finder.plist
~/Library/Preferences/com.apple.MCX.plist
- 从服务器上的网络主文件夹中删除以下文件:
~/.FileSync
、~/Library/Preferences/com.apple.finder.plist
和~/Library/Preferences/com.apple.MCX.plist
。 - 让它们重新登录工作站。
然而,这不再能解决问题。
他们的 Home Sync 首选项(在组中)设置为同步~
,但不同步以下文件(手动、登录时和注销时...这里没有后台同步):
~/.SymAVQSFile
~/NAVMac800QSFile
~/Library
~/.FileSync
~/.account
他们的“首选项”同步首选项已设置(也在组中)以同步~/Library
& ~/Documents/Microsoft User Data
,但不同步以下文件(也手动、在登录时和注销时...没有后台同步):
~/.SymAVQSFile
~/.Trash
~/.Trashes
~/Documents/Microsoft User Data/Entourage Temp
~/Library/Application Support/SyncServices
~/Library/Application Support/MobileSync
~/Library/Caches
~/Library/Calendars/Calendar Cache
~/Library/Logs
~/Library/Mail/AvailableFeeds
~/Library/Mail/Envelope Index
~/Library/Preferences/Macromedia/
~/Library/Printers
~/Library/PubSub/Database
~/Library/PubSub/Downloads
~/Library/PubSub/Feeds
~/Library/Safari/Icons.db
~/Library/Safari/HistoryIndex.sk
~/Library/iTunes/iPhone Software Updates
IMAP-*
Exchange-*
EWS-*
Mac-*
~/Library/Preferences/ByHost
~/Library/Preferences/com.apple.dock.plist
~/Library/Preferences/com.apple.sitebarlists.plist
~/Library/Application Support/4D
~/Library/Preferences/com.apple.MCX.plist
~/.FileSync
~/.account
即使~/Library/Preferences/com.apple.MCX.plist
在“首选项同步”期间阻止同步,它似乎仍会频繁出现在服务器上的网络主页中。
除了包含应用程序管理偏好设置的文件之外,是否还有其他文件~/Library/Preferences/com.apple.MCX.plist
可能导致此应用程序显示为不允许?关于如何~/Library/Preferences/com.apple.MCX.plist
保持服务器上网络主文件夹的同步备份,您有什么想法吗?
更新:我以为今天早上我找到了解决方法,但它似乎也只是暂时的。基本上,查看时/Library/Managed\ Preferences/[shortname]/com.apple.applicationaccess.new.plist
我发现它没有相关应用程序的条目,但/Library/Managed\ Preferences/[shortname]/complete.plist
实际上有。当然,我删除了com.apple.applicationaccess.new.plist
,再次登录,它在一个工作站上工作了……它在其他工作站上失败了,在注销并重新登录几次之后,它再次在所有工作站上失败了,即使在进一步删除之后也是如此com.apple.applicationaccess.new.plist
。奇怪的是,com.apple.applicationaccess.new.plist
&complete.plist
做两者都包含当前相关应用程序的条目,但仍然说这是不允许的。
进一步更新:好的,所以我现在有一个可重现的解决方法,似乎每次重新启动工作站后都需要这样做:
- 以用户身份登录(您会发现无法启动相关的应用程序)。
- 快速用户切换到工作站上的本地管理员帐户(我们每台机器上都有一个)。
- 从该本地管理员帐户运行
sudo mcxrefresh -n 'shortname'
(注销并以相关用户身份重新登录不是工作)。 - 快速用户切换回用户(您仍然不被允许运行该应用程序)。
- 注销用户并重新登录(您现在可以运行相关应用程序了。)
- 快速用户切换回本地管理员帐户,注销,然后以相关用户的身份重新登录。
如果你完全按照描述操作,它将继续工作,通过注销并重新登录,但不是通过重启。如果在重启后,您尝试以本地管理员帐户登录、运行sudo mcxrefresh -n 'shortname'
、注销,然后以相关用户身份登录,则不管用。
又一次更新我们没有任何我们 Open Directory 中的计算机组,因此它不应该从那里获得任何冲突的设置。我在sudo mcxquery -format xml -user shortname -group groupname
执行上述过程之前和之后运行了运行,以允许运行相关应用程序,结果是相同的(将结果保存到文件中并diff
......我不仅仅是在这里猜测)。
进一步,退半步:什么时候Mac OS X 10.6.5 服务器更新发布后,我们将 Open Directory Master 升级到了它,因为更改包括以下管理首选项修复,我希望这些修复可以解决这个问题:
- 解决了当用户登录空闲的工作站时无法应用管理偏好设置的问题。
- 修复了可能阻止管理员绕过工作站上的客户端管理设置的问题。
这似乎稍微改善了情况。现在有问题的应用程序通常启动时没有错误。如果启动时出现“您无权使用该应用程序”错误,注销用户并重新登录似乎可以解决问题。
这就是说,此后我们不得不将几个应用程序添加到用户~/Applications/
目录中,但这些应用程序仍然无法启动。工作站运行的是 Mac OS X 10.6.4,OD Master(工作站绑定到它)运行的是 Mac OS 10.6.5 Server(尽管有两个 OD Replicas 仍在运行 10.6.4 Server),我们使用 Workgroup Manager 10.6.3(包含在 Server Admin Tools 10.6.5 升级中)来添加应用程序(与往常一样未签名)。这次,/var/log/system.log
当我尝试从 启动其中一个允许的应用程序时,我遇到了以下问题~/Applications
:
Dec 22 17:36:24 hostname parentalcontrolsd[43221]: -[ActivityTracker checkApp:csFlags:] [954:username] -- *** Incoming app appears to be masquerading as white listed app and failed signature validation: /Users/username/Applications/FileMaker Pro 5.5/FileMaker Pro.app/Contents/MacOS/FileMaker Pro. Note: This may be a valid app of a different version than what was whitelisted (on a different volume?)
Dec 22 17:36:24 hostname [0x0-0xa42a42].com.filemaker.filemakerpro[43304]: launch of /Users/username/Applications/FileMaker Pro 5.5/FileMaker Pro.app/Contents/MacOS/FileMaker Pro was blocked
Dec 22 17:36:24 hostname com.apple.launchd.peruser.1340[6375] ([0x0-0xa42a42].com.filemaker.filemakerpro[43304]): Exited with exit code: 255
Dec 22 17:36:24 hostname parentalcontrolsd[43221]: -[ActivityTracker(Private) _removeAppFromWhiteList:] [1362:username] -- *** Couldn't find local user record
运行sudo mcxquery -format xml -user username -group groupname
包括 FileMaker Pro 5.5 的以下条目(并且似乎包括用户应用程序白名单和组应用程序白名单的完整集成):
<dict>
<key>bundleID</key>
<string>com.filemaker.filemakerpro</string>
<key>displayName</key>
<string>FileMaker Pro</string>
</dict>
请注意,缺少<key>appID</key><data> ... </data>
似乎指定已签名的应用程序。虽然白名单目录似乎也在结果中正确列出,但它们实际上也不允许运行应用程序。
这是怎么回事?!我还应该去哪里找?