スクリプトを作成していて、追加の構成情報を.conf
ファイルに書き込めるようにする必要があります。
問題:
問題は、権限の問題により、ファイルに追加データを書き込めないことです。私が使用しているコードは次のとおりです。
my $conf = "/etc/lighttpd/lighttpd.conf";
open my $handle, ">>", $conf or die $!;
# spacing counts, hence the indentation
print $handle 'fastcgi.server = (
".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket"
))
)'."\n";
close $handle;
lighttpd.conf
ファイルは の傘下にあるためroot:root
、次の行に沿って何かを行わないと書き込むことができません。
system("sudo chown $USER:$USER /etc/lighttpd/lighttpd.conf");
# write to file...
system("sudo chown root:root /etc/lighttpd/lighttpd.conf");
上記は私にはかなりハックに思えますが、これは避けたいと思います。
質問
この情報をファイルに書き込むためのより洗練された方法はありますか? おそらく私が知らないBASHコマンドですか?