web-dev-qa-db-ja.com

パッケージのインストール中にフォルダーのアクセス許可を変更する方法

カスタムアプリケーションをインストールするためのdebパッケージを作成しています。インストール中に受け取る警告を回避するために、すべてのファイル/フォルダーの所有権をrootに変更しました。Ubuntuでは、パッケージをインストールするユーザーにファイル/フォルダーの所有権を変更するため、すべてがスムーズに実行されます。

しかし、Debianにインストールしているとき、rootは引き続き所有者です。アプリケーションはフォルダを使用してデータを書き込みますが、これが問題です。標準ユーザーとして実行しているアプリには、フォルダーへの書き込み権限がありません。

今、私はこの問題にどのように対処すべきですか? debパッケージにポストインストールスクリプトを作成する場合、chmod o+w?これらの権限が設定されたディレクトリをパッケージ化する必要がありますか?

または、ファイルの所有者を(Ubuntuのように)アプリを自動的にインストールするユーザーに設定する方法はありますか?

5
Nuno V.

Ubuntuでの動作はわかりませんが、一般的には.deb非標準の権限を持つファイルまたはディレクトリを含むパッケージ。これらの権限が設定されていることを確認する必要がありますafterdh_fixpermsが実行されます。 dh- style rulesを使用している場合は、次のように実行できます。

override_dh_fixperms:
        dh_fixperms
        chmod 777 yourfolder

これはpostinstでも実行できます。

if [ "$1" = "configure" ]; then
    chmod 777 yourfolder
fi

しかし、rulesの方が簡単です(少なくとも、メンテナースクリプトに依存するよりも、そうする方が好きです)。

10
Stephen Kitt