特定のユーザーのアプリケーションへのアクセスを拒否する方法は?

特定のユーザーのアプリケーションへのアクセスを拒否する方法は?

この質問の目的のために、私たちはユーザーのnゲームプレイ能力を拒否しようとします。ウェスノースの戦い(まだユーザーがmこれを行うことを許可している間p)。

これを試す1つの明確な方法は、ユーザーがファイルを実行または読み取ることはできませんが、他のユーザーができるように関連ファイル(および/usr/games/wesnoth*ディレクトリ)に対する権限を設定することです。/usr/share/games/wesnothn

現在、これらのファイルに対する権限は次のように設定されているようです。

$ ls -l /usr/games/wesnoth-1.12
-rwxr-xr-x 1 root root 18325576 May 22  2016 /usr/games/wesnoth-1.12

さて、所有権をユーザーから他の人に変えるのは良いアイデアでrootはないようです。

私は基本的に2つのアイデアを持っています。

「ブラックリスト」:ゲームファイルが属するグループを指定noplayし、そのグループを所有している人がゲームnoplayファイルを使用できないようにします。

sudo addgroup noplay
sudo adduser n noplay
sudo chown :noplay /usr/games/wesnoth* /usr/share/games/wesnoth
sudo chmod g-rx /usr/games/wesnoth* /usr/share/games/wesnoth

「ホワイトリスト」:ゲームのファイルグループを提供しplay、他の人が使用することを禁止します。

sudo addgroup play
sudo adduser m play
sudo adduser p play
sudo chown :play /usr/games/wesnoth* /usr/share/games/wesnoth
sudo chmod o-rx /usr/games/wesnoth* /urs/share/games/wesnoth

上記の内容は良いアイデアですか?ファイルのグループ所有権をroot別のものに変更すると、後で問題は発生しませんか?パッケージマネージャがゲームを更新したらどうなりますか?権限が壊れて失敗するか、または権限を元の権限にリセットして、すべてのユーザーがゲームをプレイできるようにしますか?

重要なのはLinux Mintです。

ベストアンサー1

DebianベースのLinux Mint(Linux Mint)は統計的範囲特徴。dpkg-statoverrideパッケージが指定されたパスを使用してファイルを生成するときにファイルシステムの権限を調整するようにパッケージマネージャを設定できます。たとえば、権限を設定するように構成できます。/usr/share/games/ウェスノース。権限を手動で設定するよりも権限を使用すると、dpkg-statoverrideパッケージを更新または再インストールするときにパッケージ管理者がポリシーを維持するという利点があります。パッケージの権限について詳しく学ぶことができます。ここ、セクション10.9。

ブラックリストまたはホワイトリストの作成はあなた次第です。あなたのユースケースに最も適していると予想されるオプションを選択してください。しかし、簡単に言えば、ホワイトリストを仮定すると、次のようにすることができます。

dpkg-statoverride --add m play [mode] /usr/share/games/wesnoth

難しい部分は、パターンの8進数表現を使用する必要があるということです。したがって、より使い慣れた構文は使用できませんo-rx

次に、権限が適用されるようにアプリを再インストールします。

おすすめ記事