前回はプロセスに設定されているケーパビリティと、ファイルにあらかじめ設定しておくファイルケーパビリティについて説明しました。 今回はまず、execve(2) システムコールを使ってプログラムを実行する際にケーパビリティがどのように変化するのかを説明したあと、Ambientケーパビリティとケーパビリティバウンディングセットについて説明します。 プログラム実行時のケーパビリティ Linux上で実行されるプログラムは、fork(2)やclone(2)システムコールを使って親プロセスを複製して生成し、複製したあとにexecve(2)システムコールで目的のプログラムを実行します。 このexecve(2)でプログラムを実行する際に、カーネルは実行後のプロセスが持つケーパビリティを計算します。このときの計算は次のアルゴリズムが使われます。 P'(ambient) = (file is privilege