web-dev-qa-db-ja.com

特定のアプリケーションに対してのみフォルダを読み取り専用にするにはどうすればよいですか?

過去の経験から、既存のメディアライブラリで見慣れないメディアプレーヤーをテストすることは絶対にありません。おせっかいな「便利な」機能が、慎重にキュレートされたデータを自動的に再配置、再タグ付け、ずさんなインポート、またはその他の方法で変更しないようにします。

どうすれば自分の音楽をそのようなプレーヤーに読み取り専用で公開できますか?

1
ændrük

メディアライブラリ内のファイルを変更する必要のない2つの方法を紹介します。

別のユーザーからのデータへのアクセス

新しい(非管理)ユーザーotheruserを作成し、グループに追加します。

Sudo gpasswd -a otheruser $USER

グループメンバーに読み取りおよび実行権限を付与するようにホームを変更します(これは、暗号化されたホームパーティションがある場合に必要です)。

chmod g+rx $HOME

次に、otheruserに切り替えます。これで、すべてのデータへの読み取りアクセスが可能になります。

暗号化されたホームパーティションがある場合、ログインしている限り、他のユーザーがデータにアクセスできることを指摘しておく必要があります。したがって、最初のユーザーからログアウトせずに、ログインしてからユーザーを切り替える必要があります。

権限を変更するふりをする

パッケージbindfsでは、権限が変更された特定のディレクトリをマウントできるため、手順は次のようになります。

パッケージをインストールします

Sudo apt-get install bindfs

マウントポイントを作成し、ユーザーに割り当てます

Sudo mkdir /media/home-altered
Sudo chown $USER:$USER /media/home-altered

書き込み権限なしで実際の家をマウントポイントにマウントします。

Sudo bindfs -p a-w $HOME /media/home-altered

/media/home-altered権限が変更されたホームディレクトリが表示され、そのパスを介してデータにアクセスすると、データが変更されなくなります。

[〜#〜]編集[〜#〜]

バインドマウントと読み取り専用の再マウントを使用しても、2番目の方法とほぼ同じ効果が得られます。

Sudo mkdir /media/$USER
Sudo mount --bind /home/$USER /media/$USER
Sudo mount -o remount,ro /media/$USER
4
enzotib

わかりました、これは大げさですが、ファイルをそのまま保存/保護したいときにこれを行うことがあります。

では、一時的であっても、すべての音楽ファイルを不変に設定する必要はありませんか?不変ビットが有効になっている場合、ルートでさえ編集できません。

chattr + iファイル名

ああ、でも悲しいことに、それはEXTファイルシステムだけに限定されています。そして、私はあなたの苦境に完全に関係しています。あるとき、.mp3で終わるすべてをパージするコマンドを実行したため、誤って音楽ファイルの2/3を削除してしまいました。

0
Marky