|
aka LWN JAPAN |
|
|
ChangeLog |
カーネル [1999/11/18〜12/06]
Section Editor: Jonathan Corbet
|
ChangeLog |
||||||
|
|
||||||||
最新開発カーネルは、2.3.29最新開発カーネルは、2.3.29 です。最先端でいたい方のために、 testing ディレクトリに 2.3.30 のプレパッチがあります。 主に、Alpha と PowerPC の変更や、 ZR36120/ZR36125 ベースのフレームグラバー/オーバーレイボード用の 新しいドライバ、それに、さらなる IPC 関連の更新や 新しい i386 セマフォの実装などが含まれているようです。
※ 翻訳の時点では、2.3.31 までが出ているようです。 カーネルリリースの最新情報はこちら(日本語)をご確認下さい。
|
||||||||
|
|
||||||||
最新安定カーネルは 2.2.13最新安定カーネルは 2.2.13 です。2.2.14 へ向けての進展が 2.2.14pre9 (英語)をもって続行しています。 ※ 翻訳の時点では、2.2.14pre12 までが出ているようです。 カーネルリリースの最新情報はこちら(日本語)をご確認下さい。
|
||||||||
|
|
||||||||
次期 2.4 カーネルの機能を 2.2 でちょっとだけ先取り「ケーパビリティ設定リスト」※話の流れとして時系列に理解されたい方は、 このページ下部へ引用した、 今年4月〜5月頃の議論(日本語。ChangeLog 訳は初公開) から先に読んだ方が、理解しやすいかも知れません。 「ケーパビリティ設定リスト」で遊んでみよう!今週は、次期 2.4 カーネルの機能を 2.2 でちょっとだけ先取りした、 「ケーパビリティ設定リスト」で遊んでみましょう。 (大変危険です。実際にやる方は、もちろん、ご自分の責任の元にやってください。)「ケーパビリティ」(capability … 能力。特権。)は、比較的粒度の高いアク セス管理の一方式です。2.3 開発シリーズの Linux カーネルに追加されまし た。 ※ ケーパビリティは、アクセス制御の観点から Linux のセキュリティを 高める機能です。これにより、例えば、自分が所有者でないプロセスにシグナルを送ることがで きたり、ファイルパーミッションをバイパスしたり、1024 以下のネットワー クポートにバインドしたりすることができます。 ケーパビリティの背後にある考え方は、 標準的な Unix の「すべてか無か」というアプローチよりも あと少しだけ識別力のある方法で、特権を少しだけ分け与えようというものです。 VMS のようなシステムを覚えていらっしゃる(そしてそのことを白状しようと いう :-)方は、「ケーパビリティ」の代わりに「特権 (privilege)」を思い 浮かべても、何が起っているのかを良く理解することができるでしょう。 2.2 カーネルはケーパビリティを理解するものの、まだシステム管理やユーザ レベルにまで本当に達しているわけではありません。 本当にケーパビリティベースのシステムが現れ始めるまでには、 まだまだ解決すべき問題がたくさんあります。 LWN 1999/4/8 号(英語。 日本語は下記に引用) LWN 1999/4/15 号(英語。 日本語は下記に引用) で、それらの問題がいくつか取り上げられています。 そうこうしているうちに、 システム管理の仕事にケーパビリティを使えるようにし始める ちょっとしたものが、(ほとんどアナウンスされることもなく) 2.2.11 パッチにこっそりと忍び込んでいました。 このバージョンは、「ケーパビリティ設定リスト (capability bounding set)」 という概念を追加したものです。 これは、システム上のすべてのプロセスに対して等しく影響を与えます。 システム上のすべてのプロセスは、 このリストの値に応じて、 対応するある特定のケーパビリティの設定がオン・オフされます。 どんなに特権を持たされているプロセス(例えば、root が所有者のプロセス) であっても、あるケーパビリティがこの設定リストの中でオフになっていると、 そのケーパビリティに関する行為を実行することはできません。 この設定リストは、sysctl 経由でエクスポートされるので、 /proc/sys/kernel/cap-bound に見ることができます。 デフォルト値は、すべてのビットを立てた (すべてのケーパビリティがオンの)状態なので、 cap-bound の内容を見ると -1 が与えられています。 設定リストは、 cap-bound 疑似ファイルの中に新しい値を書くことで 変更することができます。 けれどもここに意外な点があります。 ケーパビリティを設定リストでオフにすることは root ユーザ(プロセス)によって行うことができますが、 ケーパビリティをオンにすることはただ一つのプロセス (init) にのみ許されています。 つまり実際上は、 一度、設定リストでケーパビリティをオフにすると、 それは次のリブートまでそのままの状態(オフのまま)になります。 この特徴はどう利用されるのでしょうか? 想像してみてください。あなたはセキュアなシステムを走らせていて、 ローダブルモジュールのことを気にかけています。 (カーネルのローダブルモジュールはセキュリティ上の弱点となり得ます。 また、実際に攻撃の手段として悪用されているという報告(日本語)があります。) けれども、カーネルからモジュールを完全に 取り除いてしまいたくはありません。 ブート時にシステムを繋ぎあわせるのに、便利すぎるからです。 あるいは、モジュールとしてのみ動くドライバがあるから、 ということもあるかもしれません。 もしシステムがそれ自身で必要なモジュールをすべてロードして初期化し、 その後モジュールのロードを永久に不可にすることができれば、 ステキだと思いませんか? カーネルモジュールのロードやアンロードは、 CAP_SYS_MODULE というケーパビリティ一つで設定が可能です。 設定リストで CAP_SYS_MODULE をオフにすれば、 その後もうモジュールはロードされません。--- お医者さまの命令どおりに。:-)
CAP_SYS_MODULE は、16番めのケーパビリティです。
(完全なリストは
こちら(英語)にあります。全部で26のケーパビリティの一覧があります。)
設定リストは、ビットマスクとして表現されます。
必要なことは、16 番目のビットをオフにする値を書くことだけです。
ですから、この芸当を行うには、
|
||||||||
|
||||||||
|
|
||||||||
Linux システムの全イベントの記録が可能にLinux Trace Toolkit 0.9.0 が アナウンス(英語) されています。 このツールキットにより、 一定の期間に起るすべてのイベントを記録し調査するというような ことが Linux システムに関してできるようになります。 それだけでも、 数知れぬシステム開発の仕事のための便利なデバッグツールになるはずです。 それに加えて、 このパッケージにはイベントトレース等を見るための グラフィカルなフロントエンドも含まれています。 注目すべきものがたくさんありますので、詳細は LTT のページ (英語) をご覧下さい。 |
||||||||
|
|
||||||||
QNX ファイルシステム絶滅の危機?Linux ファイルシステム関連の仕事をたくさん行っている Alexander Viro 氏の linux-kernel への最近のノート (英語)です。 どうやら QNX ファイルシステムは 2.3 では絶望的に壊れており、 管理されていないようです。 何か変化が起らない限り、 QNX は 2.4 に生き残ることはなさそうです。 そういうわけで、もしこのファイルシステムを気にかけていらっしゃるなら、 手伝う方法を考え始める時が来たかもしれません、、、 |
||||||||
|
|
||||||||
今週のその他のパッチとアップデート今週のその他のパッチとアップデートです:
|
||||||||
|
|
||||||||
ISA プラグ&プレイが 2.2 カーネルで利用可能に2.3 カーネル(次期 2.4 カーネルの開発版)で開発が続けられていた ISA プラグ&プレイ・モジュールが2.2 系列のカーネルへとバックポートされました。※バックポート - 開発系カーネルで追加された機能が、一つ前の 安定系カーネルへと移植されること。通常は、開発系カーネルで 追加された機能は、(現在のではなく)次の安定系カーネル(今 でしたら 2.4)で初めて利用できるようになります。Jaroslav Kysela 氏によって 2.3 系列のカーネルで実装されたものを、Ed Okerson 氏が 2.2 系列のカーネルへとバックポートしました。その他詳しくは、こちら(英語)をご覧下さい。 (Thanks to Greg Herlein) ※次期安定カーネル 2.4 の新機能は、素晴らしき Linux 2.4 の世界(日本語)をご覧下さい。 |
||||||||
|
|
||||||||
|
||||||||
|
|
||||||||
関連 URL
|