-
Simon McVittie authored
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:
Simon McVittie <smcv@collabora.com>
Simon McVittie authoredIt 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:
Simon McVittie <smcv@collabora.com>