書式
dpkg-statoverride [option...] command説明
`stat override' とは、パッケージがインストールされるときに、ファイルの所有者やモードを変更するよう dpkg(1) に指示する方式である (補足: ここでは「ファイル」という言葉を使ったが、実際には dpkg が扱えるファイルシステムオブジェクトならなんでもよい。つまりディレクトリやデバイスなどでも OK)。これを用いると、通常 setuid されるプログラムを setuid フラグ無しでインストールしたり、特定のグループのみに実行許可を与えるようにしたりできる。dpkg-statoverride は stat override のリストを管理するユーティリティである。これには override を追加、削除、表示するという 3 つの基本機能がある。
コマンド
- --add user group mode file
-
file に対する override を追加する。 file はコマンドの実行時に存在していなくてもよい。override
は保存され、後で用いられる。ユーザとグループは (例えば root や nobody といった) 名前でも指定できるし、 (例えば
#0 や #65534 といった) 前に `#' 文字をつけた数字でも指定できる。
--update が指定された際に file が存在していた場合、即座に所有者とモードが新しい値に変更される。
- --remove file
- file に対する override を削除する。このコマンドで file の状態が変化することはない。
- --list [glob-pattern]
- override をすべてリストする。glob パターンが指定された場合は、マッチした override のみを出力する。override が全くない場合や、glob にマッチするものがひとつもなかった場合は、dpkg-statoverride は終了コード 1 で終了する。
- --help
- 利用方法を表示して終了する。
- --version
- バージョン情報を表示して終了する。
オプション
- --admindir directory
- dpkg データベースのディレクトリを変更する。statoverride ファイルもここに保存される。デフォルトは /var/lib/dpkg である。
- --force
- sanity チェック (正気度チェック) が禁止するような場合でも、強制的に処理を行う。既存の override を変更する場合には、これを指定する必要がある。
- --update
- ファイルが存在する場合は、直ちにその所有者とモードを新しい値に変更しようとする。
- --quiet
- 動作に関して多くの出力を行わない。
環境変数
- DPKG_ADMINDIR
- --admindir オプションが設定されておらず、この変数が設定されている場合、この変数の値が dpkg データディレクトリとして用いられる。
ファイル
- /var/lib/dpkg/statoverride
-
システムの現在の stat override のリストが書かれたファイル。dpkg の管理ディレクトリに、dpkg にとって重要な他のファイル
(`status' や `available' など) と一緒に置かれる。
注記: dpkg-statoverride は、このファイルを新しいもので置き換える前に、古いファイルのコピーを "-old" を付加した名前で保存する。