トップ > 最小システムの構築 > 新システムの作成(後半) >
acl

  

aclのビルド

aclは、ACL(Access Control Lists)を設定・参照するためのコマンドおよびライブラリ群です。 ACLは、POSIXにより提案(POSIX Access Control Lists)されたアクセス制御のための仕組みです。

従来からあるパーミッションでは、

  1. ファイルの所有者
  2. ファイルのグループ
  3. その他

というクラス分けに対して、

  1. 読み込み権限(r)
  2. 書き込み権限(w)
  3. 実行権限(x)
  4. setuidビット(s または S)
  5. setgidビット(s または S)
  6. スティッキービット(t または T)

で制御することしかできませんでした。

しかし、ACLでは、各ユーザごと、各グループごとの細かい設定が可能になっています。

  
ACLは、Linux Kernel 2.6からサポートされるようになりました。
  
ACLの情報は、同じくLinux Kernel 2.6からサポートされている拡張ファイル属性として記録されています。

ビルド・インストール前リストの生成

最初に、ビルド・インストール前リストを生成します。


/sources/genprevlist.sh > /dev/null 2>&1

 

ソースファイルの展開

ソースファイルを展開します。


cd /sources
tar xvf acl-2.2.52.src.tar.gz
cd acl-2.2.52

 

ソースファイルの修正

展開したソースファイルを修正します。


sed -i -e 's,/@pkg_name@,&-@pkg_version@,' include/builddefs.in
sed -i -e 's,| sed.*,,g' test/{sbits-restore,cp,misc}.test
sed -i -e '/TABS-1;/a if (x > (TABS-1)) x = (TABS-1);' libacl/__acl_to_any_text.c

 

configure

configureを実行します。


./configure \
  --prefix=/usr \
  --bindir=/bin \
  --libexecdir=/usr/lib > ../../logs/configurelog.acl 2>&1

 

configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。


cat ../../logs/configurelog.acl

 

ビルド

ビルドを実行します。


make

 

ビルドが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

インストール

インストールを行います。


make install

 

続いて、ヘッダファイルをインストールします。


make install-dev

 

さらに、ライブラリのインストールを行います。


make install-lib

 

インストールが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

インストール後の追加作業

インストール後の追加作業を行います。 ライブラリを、本来あるべきディレクトリに移動します。


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

 

ライブラリを /lib に移動し、/usr/lib からのシンボリックリンクを再生成しています。

ソースファイル付属文書のインストール

ソースファイルに付属している文書のインストールを行います。


mkdir -vp /usr/share/doc/acl-2.2.52
cp -va README             /usr/share/doc/acl-2.2.52
cp -va VERSION            /usr/share/doc/acl-2.2.52
cp -va doc/CHANGES        /usr/share/doc/acl-2.2.52
cp -va doc/COPYING        /usr/share/doc/acl-2.2.52
cp -va doc/COPYING.LGPL   /usr/share/doc/acl-2.2.52
cp -va doc/INSTALL        /usr/share/doc/acl-2.2.52
cp -va doc/PORTING        /usr/share/doc/acl-2.2.52
cp -va doc/TODO           /usr/share/doc/acl-2.2.52
cp -va doc/extensions.txt /usr/share/doc/acl-2.2.52
cp -va doc/libacl.txt     /usr/share/doc/acl-2.2.52

 

後始末

ディスクを圧迫しないよう、ビルド用のディレクトリを削除します。


cd ..
rm -fr acl-2.2.52

 

インストールリストの生成

最後に、インストールリストを生成します。


/sources/genpostlist.sh > /dev/null 2>&1
/sources/gendifflist.sh acl

 
  
  

まとめ

aclは、ACL(Access Control Lists)を設定・参照するためのコマンドおよびライブラリ群です。

メニュー