在lua脚本中(对于Domoticz @ Raspberry)我应用以下脚本段来生成htm文件并将其放在指定的文件夹中。
Line02text直到Line30text是在lua-script中动态填充的变量。
file = io.open("/home/pi/domoticz/scripts/lua/XXXXX.htm", "w+")
-- Opens a file named XXXXX.htm (stored under the designated sub-folder of Domoticz)
-- in append mode
-- write lines to opened file
file:write("SOF<br>")
file:write(Line02text .. "<br>")
file:write(Line03text .. "<br>")
....
file:write(Line29text .. "<br>")
file:write(Line30text .. "<br>")
file:write("EOF<br>")
file:close() -- closes the open file
一切似乎都没问题,因为htm文件按计划显示。
接下来的步骤是将文件复制到不同的文件夹,在浏览器中打开等。
但是htm文件的所有者是'root',权限是0640。
进一步申请所有者应该是不同的,例如权限777。
尝试手动更改或使用chmod会导致服务器报告“权限被拒绝”。
问题: 如何设置(作为lua-script的结果)不同的所有者和htm文件的其他权限?
答案 0 :(得分:0)
Lua的目标是尽可能地移植,并且所有权/权限管理是特定于操作系统的。没有嵌入式功能来处理它。
您需要公开一些本机功能,这些功能将根据文件的权限执行您所需的功能。或者使用一些现有的库,例如lua-fs
:( https://github.com/clementfarabet/lua-fs-0.3)