2016-09-10 6 views
1

Linuxのアクセス許可では、Luaが自分のディレクトリの外に出たり他の人に移動することを阻止できません。LuaがCS2Dゲームでファイルを削除できるようにする

はまた、前にこれらの値を宣言する場合:

os.execute = nil 
io.popen = nil 

それは実際に問題を解決しますが、私のクライアントは、他の保存されたスクリプトを使用することができないように、多くの機能を無効にします。

+0

本当にこのためにLinux権限を使用することはできませんか?スクリプトを別のユーザーとして、権限を減らして実行させるとどうなりますか? (私は、この行に沿ってスクリプトが "www"フォルダの外に出ないようにするために、この行に何かしていることを知っています) – hugomg

答えて

2

あなただけの必要なディレクトリのアクセス権と、新しいLinuxのユーザーを作成し、そのよう実行することができます。そうでない場合があり

本当に何の解決策ではありません。あなたが好きなだけサンドボックスすることができますが、それらの機能が必要な場合はあなたは不運です。

+0

はい、LUA afaikでディレクトリ間をジャンプできます。 – Marcell

0

あなたはいつもあなたが取られた行動のより多くの制御を持っているように、ゼロに設定する前に、元os.execute周りにあなたのラッパー関数を作成することができます。例えば:

もちろん
local osExecute = os.execute 
os.execute = nil 

os.createDir = function(dir) 
    osExecute("mkdir "..dir) 
end 

os.saveScript(script) 
    osExecute("command to save script goes here") 
end 

、この例では、攻撃を受けやすい、あなたが例えば、必ずそれは本当にフォルダ名であることを確認し、ないfolder;rm -rf /し、パラメータを検証する必要があります。

同じことがpopenのために行く、あなたは常に実行するコマンドのあなたのセットを作成することができます。

あなたは、その後、もちろん、余分なセキュリティのために、制限された権限を持つユーザーを作成することができます。

関連する問題