apacheで、ビルドする際にsuExecを有効にするかどうか(とそれに付随する設定)を指定できますが、これを有効にした場合、どうもデフォルトでsuExecが効くようになるようだ。で、その状態でsuExecを無効にしたい場合、suexecコマンドのsフラグ(動作時の権限を実行したユーザではなく設定されたユーザの権限で実行する...でええんか?)を下げればよい。コマンドは以下のとおり(suexec2は、suexecコマンドのこと、%はコマンドプロンプト)。
% su - % chmod -s /usr/sbin/suexec2
これでsuExecは無効になるんだけども、なんかOSを再起動させるとsフラグが元に戻ってしまっている気がした、...気のせいかな。
他所の会社とはいえ、明日はわが身、こういうことが無いようしたいね。「テストの前提条件が間違っていた」とか「テストでは気がつかなかった」とか、どこでもある問題やわ。
以下の突然出てくる{}が何を表しているのか今まで理解できなかった。
int main(void) { int n; { // ここから int k; ... } // ここまで }
調べた結果、これがC言語のブロックであることが判明。なんで、こんなのがあるのかというとこのブロックスコープ内でのみ有効な変数を作りたい時に使うようだ。以下は参考にしたリンク。
それはそうと、Inkscapeのソースは、Cみたいな表記
if (true) { ... }
と、Javaみたいな表記
if (true) { ... }
がごっちゃ。そういうもん?