2017-07-20 19 views
0

luaスクリプト(Domoticz @ Raspberryの場合)では、htmファイルを生成し、指定されたフォルダに入れるために次のスクリプトセグメントを適用します。io.openで所有者とアクセス権を設定する

Line02text Line30textは、luaスクリプト内の他の場所に動的に格納される変数です。

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ファイルが予定どおりに表示されるため、すべての設定がOKと思われます。

次の手順では、など、ブラウザで開いて、別のフォルダにファイルをコピーすることです。..

しかし、HTMファイルの所有者は、「ルート」と許可がさらにアプリケーションのために0640

です所有者は異なっている必要があります。許可手動での変更やchmodの使用を試みると、サーバーによって「アクセスが拒否されました」というレポートが表示されます。

質問: hua-fileの所有者とその他のパーミッションを(lua-scriptの結果として)どのように設定するのですか?

+0

'os.execute(" chmod a + rw /home/pi/domoticz/scripts/lua/XXXXX.htm ")行を挿入できますか? 'の後に' file:close() '? –

+0

ありがとうEgor! そのスクリプトラインを追加することは、すべてのユーザーがアクセスできるファイルを取得するソリューションです。 – Toulon7559

答えて

0

ルアのターゲットはできるだけ移植性が高く、オーナーシップ/権限の管理は非常に固有のものです。それを処理する組み込み関数はありません。

ファイルのアクセス許可を必要とするネイティブ関数を公開する必要があります。または、おそらくlua-fsのような既存のライブラリを使用してください:(https://github.com/clementfarabet/lua-fs-0.3

関連する問題