Tim*_*Tim 5 ruby permissions macos
在Mac OS X上,ls并且chmod具有一些额外的功能,用于处理操作系统分层在默认posix权限之上的ACL权限.我有一些需要修复的权限问题,我写了一个脚本来帮助解决这些问题,直到Apple修复了这个bug.这是解析ls获取ACL的代码:
result = `#{Escape.shell_command(["ls", "-led", file])}`
if result.empty?
# ls error...
else
@acl = result.split("\n")[1..-1].collect do |ace|
ace = ace.split(": ", 2)
ace[0] = ace[0].to_i
ace
end
# acl processing code...
end
Run Code Online (Sandbox Code Playgroud)
我添加了escape gem,但它实际上仍然是相同的代码.
但是我知道解析ls脚本一般是个坏主意,那么是否有更好的方法从文件中读取ACL权限?
我需要在chmod以后的脚本中使用ACE及其索引:
system("chmod -a# #{index} \"#{file}\"")
Run Code Online (Sandbox Code Playgroud)