CentOS を実行するデータ サーバー アプライアンスを管理するための Web サイト GUI を作成しています。多くのアプライアンスがこれを行います。ベンダーは基本的に、特定の構成パラメーターのみを変更するための GUI を構築し、それ以外はすべてロックダウンします。しかし、私はパーミッションに問題があると確信しており、これを行うための最も安全な方法を探しています. つまり、ユーザーが GUI を介してホスト名の変更を送信すると、shell_exec コマンドが apache として実行されているように見えます。Apache にはおそらくホスト名を変更する権限がないため、これが機能していません。Apache にこれらの権利を付与することは、安全ではない可能性があります。それで、解決策は何ですか?すべてのアプライアンス ベンダーは、ホスト名を変更する GUI をどのように作成できますか? また、どのように (安全に) 行うのでしょうか?
コードの抜粋:
<form action="Settings.php" method="get">
<div class="box">
<h1>Device Settings</h1>
Hostname: <input type="text" name="Hostname" label="Hostname" value="<?php echo $Hostname; ?>"><br />
<input type="submit" value="Set"><br />
</div>
</form>
$Hostname=shell_exec("hostname"); /*gethostname**/
if (isset($_GET['Hostname'])){
$Hostname=$_GET['Hostname'];
$output1=shell_exec("sudo hostname ". $Hostname. " 2>&1");*/
}