OS: Debian 11 5.10.0-22-amd64 #1 SMP Debian 5.10.178-3 (2023-04-22) x86_64 GNU/Linux
KDE Plasma 5.20.5
Spotify: spotify-client/stable,now 1:1.2.8.923.g4f94bf0d amd64 [installed]
Spotifyクライアントで興味深いことが起こったことを発見しました。クライアントが常にフルスクリーンモードで停止する問題を解決するために。~/.config/spotify/prefs
ウィンドウ設定値を編集して保存した後にSpotifyクライアントを起動すると、その変更は以前の変更で上書きされます。
ウィンドウでフルスクリーンを終了できるかどうかをテストするために、ファイルの所有権をrootに変更しました。chmod 444
ただし、root以外のユーザーとしてSpotifyクライアントを起動すると、デフォルト設定ファイルが次から変更されました。私のユーザーにrootを提供します。
root@localhost:/home/ehammer/.config/spotify# ls -l
total 12
-rw-r--r-- 1 ehammer ehammer 1265 May 13 09:39 prefs
drwx------ 4 ehammer ehammer 4096 Feb 12 2022 'User Data'
drwxrwxr-x 3 ehammer ehammer 4096 Feb 12 2022 Users
root@localhost:/home/ehammer/.config/spotify# ps -Helf | grep spotify
4 S root 39890 39357 0 80 0 - 1560 - 09:45 pts/1 00:00:00 grep spotify
root@localhost:/home/ehammer/.config/spotify# nano prefs
root@localhost:/home/ehammer/.config/spotify# ls -lisa
total 20
19794776 4 drwx------ 4 ehammer ehammer 4096 May 13 09:46 .
19791874 4 drwxr-xr-x 43 ehammer ehammer 4096 May 13 09:43 ..
19806299 4 -rw-r--r-- 1 ehammer ehammer 1233 May 13 09:46 prefs
19794777 4 drwx------ 4 ehammer ehammer 4096 Feb 12 2022 'User Data'
19795125 4 drwxrwxr-x 3 ehammer ehammer 4096 Feb 12 2022 Users
root@localhost:/home/ehammer/.config/spotify# chown root:root prefs
root@localhost:/home/ehammer/.config/spotify# chmod 444 prefs
root@localhost:/home/ehammer/.config/spotify# ls -lisa
total 20
19794776 4 drwx------ 4 ehammer ehammer 4096 May 13 09:46 .
19791874 4 drwxr-xr-x 43 ehammer ehammer 4096 May 13 09:43 ..
19806299 4 -r--r--r-- 1 root root 1233 May 13 09:46 prefs
19794777 4 drwx------ 4 ehammer ehammer 4096 Feb 12 2022 'User Data'
19795125 4 drwxrwxr-x 3 ehammer ehammer 4096 Feb 12 2022 Users
root@localhost:/home/ehammer/.config/spotify# ps -Helf | grep spotify
4 S root 40089 39357 0 80 0 - 1560 - 09:46 pts/1 00:00:00 grep spotify
0 S ehammer 39903 1580 21 80 0 - 889253 - 09:46 ? 00:00:01 /usr/share/spotify/spotify
0 S ehammer 39907 39903 0 80 0 - 99941 - 09:46 ? 00:00:00 /usr/share/spotify/spotify --type=zygote --no-zygote-sandbox --no-sandbox --log-severity=disable --user-agent-product=Chrome/111.0.5563.65 Spotify/1.2.8.923 --lang=en --user-data-dir=/home/ehammer/.config/spotify/User Data --log-file=/usr/share/spotify/debug.log
1 S ehammer 39929 39907 5 80 0 - 1054195 - 09:46 ? 00:00:00 /usr/share/spotify/spotify --type=gpu-process --no-sandbox --log-severity=disable --user-agent-product=Chrome/111.0.5563.65 Spotify/1.2.8.923 --lang=en --user-data-dir=/home/ehammer/.config/spotify/User Data --gpu-preferences=WAAAAAAAAAAgAAAIAAAAAAAAAAAAAAAAAABgAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAABAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA== --log-file=/usr/share/spotify/debug.log --shared-files --field-trial-handle=0,i,10976918143839319429,9883613349491165854,131072 --disable-features=BackForwardCache
0 S ehammer 39908 39903 0 80 0 - 99943 - 09:46 ? 00:00:00 /usr/share/spotify/spotify --type=zygote --no-sandbox --log-severity=disable --user-agent-product=Chrome/111.0.5563.65 Spotify/1.2.8.923 --lang=en --user-data-dir=/home/ehammer/.config/spotify/User Data --log-file=/usr/share/spotify/debug.log
1 S ehammer 39987 39908 0 80 0 - 155341 - 09:46 ? 00:00:00 /usr/share/spotify/spotify --type=utility --utility-sub-type=storage.mojom.StorageService --lang=en-US --service-sandbox-type=utility --no-sandbox --proxy-server=direct:// --log-severity=disable --user-agent-product=Chrome/111.0.5563.65 Spotify/1.2.8.923 --lang=en --user-data-dir=/home/ehammer/.config/spotify/User Data --log-file=/usr/share/spotify/debug.log --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,10976918143839319429,9883613349491165854,131072 --disable-features=BackForwardCache
1 S ehammer 40065 39908 44 80 0 - 13148967 - 09:46 ? 00:00:02 /usr/share/spotify/spotify --type=renderer --log-severity=disable --user-agent-product=Chrome/111.0.5563.65 Spotify/1.2.8.923 --disable-spell-checking --user-data-dir=/home/ehammer/.config/spotify/User Data --first-renderer-process --no-sandbox --log-file=/usr/share/spotify/debug.log --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=5 --time-ticks-at-unix-epoch=-1683982549076978 --launch-time-ticks=3057595647 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,10976918143839319429,9883613349491165854,131072 --disable-features=BackForwardCache
0 S ehammer 39995 39903 3 80 0 - 260094 - 09:46 ? 00:00:00 /usr/share/spotify/spotify --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --proxy-server=direct:// --log-severity=disable --user-agent-product=Chrome/111.0.5563.65 Spotify/1.2.8.923 --lang=en --user-data-dir=/home/ehammer/.config/spotify/User Data --log-file=/usr/share/spotify/debug.log --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,10976918143839319429,9883613349491165854,131072 --disable-features=BackForwardCache
root@localhost:/home/ehammer/.config/spotify# ls -lisa
total 20
19794776 4 drwx------ 4 ehammer ehammer 4096 May 13 09:46 .
19791874 4 drwxr-xr-x 43 ehammer ehammer 4096 May 13 09:43 ..
19812078 4 -rw-r--r-- 1 ehammer ehammer 1233 May 13 09:46 prefs
19794777 4 drwx------ 4 ehammer ehammer 4096 Feb 12 2022 'User Data'
19795125 4 drwxrwxr-x 3 ehammer ehammer 4096 Feb 12 2022 Users
ps出力にデバッグログはありませんが、いくつかのログエントリがあります。
May 13 09:47:01 localhost systemd[1377]: app-spotify-4ebf47d306f04211acbf7b15afdef435.scope: Consumed 4.087s CPU time.
May 13 09:47:01 localhost systemd[1377]: app-spotify-4ebf47d306f04211acbf7b15afdef435.scope: Succeeded.
May 13 09:46:46 localhost dbus-daemon[1397]: [session uid=1000 pid=1397] Activating service name='org.kde.kwalletd5' requested by ':1.103' (uid=1000 pid=39903 comm="/usr/share/spotify/spotify ")
May 13 09:46:46 localhost dbus-daemon[1397]: [session uid=1000 pid=1397] Activating service name='org.kde.kwalletd5' requested by ':1.103' (uid=1000 pid=39903 comm="/usr/share/spotify/spotify ")
May 13 09:46:46 localhost systemd[1377]: Started Spotify - Music Player.
systemdまたはdbusを使用してスーパーユーザー操作を実行できますか? root以外のユーザーにはsudoアクセス権がありますが、パスワードのみが必要です。 kwalletはこれらのsudo権限を要求するプロセスに渡すことができますか?
ルート以外のプロセスがルート所有の読み取り専用ファイルをどのように変更できるかわかりません。
答え1
アプリケーションは、この操作を実行するためにroot権限を必要としません。埋め込みディレクトリに書き込むことができれば、ルート所有ファイルを削除して独自のファイルに置き換えることができます。ファイルのinodeが変更されました。これは、元のファイルが削除されたことを意味します。