打开文件 - 权限被拒绝

时间:2012-10-04 23:58:19

标签: ruby file

我试图以这种方式打开文件

File.open(f_name, File::CREAT | File::RDWR) do |file|

end

绝对文件路径以文件名形式传递,例如filename

/mounts/dd670-6.chaos.local/cifs/tfile6

获取错误消息

Permission denied - /mounts/dd670-6.chaos.local/cifs/tfile6 (Errno::EACCES)

而且,如果我进入该目录并打开该文件,则可以成功完成操作。

有人有任何线索吗?

1 个答案:

答案 0 :(得分:2)

您可以在打开文件前尝试更改权限:

chmoded = 0
f_name = __FILE__
begin
    File.open(f_name, File::CREAT | File::RDWR) do |file|
    end
rescue => e
    File.chmod(0755, f_name) rescue nil
    chmoded += 1
    retry if chmoded < 2
    puts e.message
end

请参阅live demo here