この質問の目的のために、私たちはユーザーのn
ゲームプレイ能力を拒否しようとします。ウェスノースの戦い(まだユーザーがm
これを行うことを許可している間p
)。
これを試す1つの明確な方法は、ユーザーがファイルを実行または読み取ることはできませんが、他のユーザーができるように関連ファイル(および/usr/games/wesnoth*
ディレクトリ)に対する権限を設定することです。/usr/share/games/wesnoth
n
現在、これらのファイルに対する権限は次のように設定されているようです。
$ 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
。
次に、権限が適用されるようにアプリを再インストールします。