我想在Mac上更换我的umask。在Yosemite之前,我使用了文件/etc/launchd-user.conf
文件并添加了命令umask 0077
。
目标是在任何每个GUI程序中保存文件时获得适当的文件权限,例如Finder,Notes& Firefox浏览器。要在/etc/profile
或~/.profile
中添加umask,请不要解决问题。
在优胜美地,文件/etc/launchd.conf
和/etc/launchd-user.conf
不再执行。 man launchctl
说:
不再查询/etc/launchd.conf文件,以便子命令在早期启动时运行;出于安全考虑,已删除此功能。
我尝试使用LaunchAgents的不同示例。我能够设置环境变量(例如ENVIRONMENT_RC
),但永远不会设置umask。
的/ etc /环境
#!/bin/sh
umask 0077
launchctl setenv ENVIRONMENT_RC "yes" # Debugging
/Library/LaunchAgents/environment.user.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>environment.user</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>/etc/environment</string>
</array>
<key>KeepAlive</key>
<false/>
<key>RunAtLoad</key>
<true/>
<key>WatchPaths</key>
<array>
<string>/etc/environment</string>
</array>
</dict>
</plist>
在OS X Yosemite中设置umask的想法吗?
谢谢,
雷托
答案 0 :(得分:7)
OS X Yosemite 10.10.3中有最终解决方案:
而不是/etc/launchctl-user.conf使用:
launchctl config user umask 002
(示例umask用于设置775权限)
而不是系统范围/etc/launchctl.conf使用:
launchctl config system umask 002
(示例umask用于设置775权限)
Apple发布了&#34;优胜美地umask问题的方法&#34; 5天前更新(2015年4月8日):https://support.apple.com/en-us/HT201684
答案 1 :(得分:0)
状态报告
不幸的是到目前为止关于这个问题还没有有效的答案。但是不要紧。 Apple支持也没有任何线索。他们说在OS X中不再设置umask。真可惜!
来自umask
的{{1}}子命令已经消失,但仍有可能在.plist文件中设置关键字“Umask”(例如,在/System/Library/LaunchDaemons/com.apple中使用) .configd.plist):
launchctl
我的计划是将此参数添加到LaunchAgent文件中,该文件在用户的上下文中启动第一个进程。
我随时通知你......
的问候,
雷托