Skip to content
Snippets Groups Projects
Commit 15ce8034 authored by Simon McVittie's avatar Simon McVittie
Browse files

pv-runtime: Tolerate inability to chmod files if the permissions look OK

It is somewhat common for Steam-on-Linux users to have their default Steam
library on an NTFS drive: even though this is not really recommended,
a dual-boot system could have most of its available space formatted as
NTFS. In this case we still try to set the permissions we wanted, and
show a warning if we can't; but as long as files and directories that
we want to be executable are executable, and other files are at least
readable, we might as well try to continue and see whether it works.

Similarly, it is somewhat common for users of multi-user systems to
have a Steam library that is owned by one Unix user, but writeable
by another Unix user and shared by both. This is not a recommended
setup, because the inability to chmod the other user's files will
frequently break expectations, and it removes any effective privilege
separation between the users, hence requiring the users to trust each
other completely (each user can cause arbitrary code execution for the
other by overwriting a game binary). However, some users do this anyway,
both on Windows and Linux, and expect it to work. As with the NTFS case,
we can try to proceed and hope for the best.

Note that this change specifically does not affect having *Proton*
installed in a location not owned by the current user, which will still
not work. Wine has a specific check for the wineprefix being owned by
the current Unix user (which is known to cause problems), and will refuse
to run if it is not.

Resolves: https://github.com/ValveSoftware/steam-runtime/issues/434
Resolves: https://github.com/ValveSoftware/steam-runtime/issues/491
Resolves: https://github.com/ValveSoftware/steam-runtime/issues/544
Resolves: https://github.com/ValveSoftware/steam-runtime/issues/606
Helps: https://github.com/ValveSoftware/steam-runtime/issues/460


Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
parent e26caf84
Branches
Tags
1 merge request!582pv-runtime: Tolerate inability to chmod files if the permissions look OK
Pipeline #58682 passed
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment