アプリケーションは-r--r--r--ファイルをどのように変更しますか?

アプリケーションは-r--r--r--ファイルをどのように変更しますか?

/Users/username/Library/Application Support/Spotify/prefs維持したいSpotify UI設定をいくつか設定しました。アプリケーションが起動するたびにファイルを上書きする問題があります。私はこれが起こらないようにし、chmod a-w prefs私のユーザー名を所有者として、従業員をグループとしてll使用して権限を再実行しました。-r--r--r--Spotifyを起動すると、ファイルがデフォルト値にリセットされ、権限が再び変更されます-rw-r--r--。この間、sudoパスワードの入力を求められませんでした。どうやってこれが起こったのですか?

答え1

これらのファイルとそのディレクトリはユーザーのものです。したがって、ユーザーとして実行されているアプリケーションは、必要なすべてのタスクを実行できます。

このような背景から、Spotifyが完全に書き換えられたファイルを削除している可能性が最も高いです。これには、ファイルへの書き込み権限ではなく、ディレクトリへの書き込み権限が必要です。

chown root ...親ディレクトリ(それも同様)からすべての書き込み権限を削除してみることができます。

chmod 555 '/Users/username/Library/Application Support/Spotify'

これはアプリケーションに他の問題を引き起こす可能性がありますが、残念ながら、アプリケーションがファイルを書き換えないようにする方法はほとんどありません。

答え2

アプリケーションはファイルが存在するディレクトリに対する書き込み権限を持っているため、権限の変更を実行できます。また、あなたはファイルの所有者であり、ユーザーと一緒にアプリケーションを実行して権限を変更できます。

chmod関連:umaskが222に設定されている場合、次のようにファイル権限を変更することはできません。

$ umask 222
$ chmod 444 aaa/aa
$ ls -l aaa/aa
-r--r--r-- 1 romeo romeo 0 Jun 16 11:08 aaa/aa
$ chmod +w aaa/aa
$ ls -l aaa/aa
-r--r--r-- 1 romeo romeo 0 Jun 16 11:08 aaa/aa
$ chmod 666 aaa/aa
$ ls -l aaa/aa
-rw-rw-rw- 1 romeo romeo 0 Jun 16 11:08 aaa/aa

関連情報