我想在Mac上更换我的umask.在Yosemite之前,我使用了文件/etc/launchd-user.conf文件并添加了命令umask 0077.
目的是在任何每个GUI程序中保存文件时获得适当的文件权限,例如Finder,Notes和Firefox.添加umask /etc/profile或~/.profile不解决问题.
在Yosemite文件中/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
Run Code Online (Sandbox Code Playgroud)
/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>
Run Code Online (Sandbox Code Playgroud)
在OS X Yosemite中设置umask的任何想法?
谢谢,
Reto