Security-Enhanced Linux
従来の Linux(もっと広くいえばUNIX全体)では、ディレクトリやファイルといったリソースに対するアクセス制限は、それぞれの許可情報(パーミッション)に基づいている。
このパーミッションは「オーナー」・「グループ」・「その他のユーザ」に対して、それぞれ「読み込み」・「書き込み」・「実行」の許可を設定するものであり、これらのパーミッションを「無視して」アクセス可能なユーザとして root(スーパーユーザー) が君臨している。 すなわち、すべての権限が root に集中しているため、いちど root のパスワードが漏洩すると、システム全体に致命的な被害を及ぼすという欠点がある。
SELinux はこの事実に注目し、セキュリティの対象に応じてHTTP、FTPといったプロセスごとにアクセス制限をかける Type Enforcement (TE)と、rootも含む全てのユーザに関して制限をかけるロールベースアクセス(RBAC)などで制御し、rootに権限が集中することを防いでいる。
TE では全てのプロセスに対して「ドメイン」と呼ばれるラベルを付加する。またリソースに対しても同じく「タイプ」と呼ばれるラベルを付与する。さらに各リソースには「アクセス・ベクタ」が割り当てられる。アクセス・ベクタとは「読み込み」、「書き込み」といったリソースに対して行える操作の種類のことである。 これにより各ドメインとタイプに対して許可されるアクセス・ベクタを、セキュリティーポリシーとして設定可能にしている。