1

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

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

end

绝对文件路径作为文件名传入,如文件名是

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

获取错误信息

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

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

有人有任何线索吗?

4

1 回答 1

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

在此处查看现场演示

于 2012-10-05T04:49:08.567 回答