6.22. Acl-2.2.52

Acl パッケージは、アクセスコントロールリスト (Access Control Lists) を管理するユーティリティーを提供します。 これはファイルやディレクトリに対して、きめ細かく詳細にアクセス権限を設定するものとして利用されます。

概算ビルド時間: 0.1 SBU 以下
必要ディスク容量: 5.0 MB

6.22.1. Acl のインストール

ドキュメントを収容するディレクトリ名にバージョンをつけるようにします。

sed -i -e 's|/@pkg_name@|&-@pkg_version@|' include/builddefs.in

不適切なテストを修正します。

sed -i "s:| sed.*::g" test/{sbits-restore,cp,misc}.test

長いグループ名に対して getfacl -e が segfault を起こすため、これを修正します。

sed -i -e "/TABS-1;/a if (x > (TABS-1)) x = (TABS-1);" \
    libacl/__acl_to_any_text.c

Acl をコンパイルするための準備をします。

./configure --prefix=/usr    \
            --bindir=/bin    \
            --disable-static \
            --libexecdir=/usr/lib

パッケージをコンパイルします。

make

Acl のテストは、Acl のライブラリによって Coreutils をビルドした後に、アクセス制御がサポートされたファイルシステム上にて実施する必要があります。 テスト実施が必要である場合は、後に生成する Coreutils のビルドが終わってから、再び本パッケージに戻って make -j1 tests を実行してください。

パッケージをインストールします。

make install install-dev install-lib
chmod -v 755 /usr/lib/libacl.so

共有ライブラリは /lib に移動させます。 これにより /usr/lib にある .so ファイルを再生成します。

mv -v /usr/lib/libacl.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libacl.so) /usr/lib/libacl.so

6.22.2. Acl の構成

インストールプログラム: chacl, getfacl, setacl
インストールライブラリ: libacl.{a,so}
インストールディレクトリ: /usr/include/acl, /usr/share/doc/acl-2.2.52

概略説明

chacl

ファイルまたはディレクトリに対するアクセスコントロールリストを設定します。

getfacl

ファイルアクセスコントロールリストを取得します。

setacl

ファイルアクセスコントロールリストを設定します。

libacl

アクセスコントロールリスト (Access Control Lists) を制御するライブラリ関数を提供します。