应用程序如何修改 -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

相关内容