From 37c1a0e9648e6b84aaa996d5ecfd1d2d5d49622f Mon Sep 17 00:00:00 2001 From: Party Wumpus <48649272+PartyWumpus@users.noreply.github.com> Date: Fri, 21 Jul 2023 23:00:08 +0100 Subject: Ignore chmod if decky is not run as root (#510) * Ignore chmod if decky is not run as root * I can't read * i managed to make a mistake on 2/3 lines i edited.... * add warning on startup * logger.warn is depreciated * Update localplatformlinux.py --- backend/localplatformlinux.py | 4 +++- backend/main.py | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'backend') diff --git a/backend/localplatformlinux.py b/backend/localplatformlinux.py index da0a758f..811db8a6 100644 --- a/backend/localplatformlinux.py +++ b/backend/localplatformlinux.py @@ -60,6 +60,8 @@ def chown(path : str, user : UserType = UserType.HOST_USER, recursive : bool = return result == 0 def chmod(path : str, permissions : int, recursive : bool = True) -> bool: + if _get_effective_user_id() != 0: + return True result = call(["chmod", "-R", str(permissions), path] if recursive else ["chmod", str(permissions), path]) return result == 0 @@ -191,4 +193,4 @@ def get_unprivileged_user() -> str: logger.warn("Unprivileged user is not properly configured. Defaulting to 'deck'") user = 'deck' - return user \ No newline at end of file + return user diff --git a/backend/main.py b/backend/main.py index 2eb785c7..b2e3e74a 100644 --- a/backend/main.py +++ b/backend/main.py @@ -24,7 +24,7 @@ from aiohttp_jinja2 import setup as jinja_setup # local modules from browser import PluginBrowser from helpers import (REMOTE_DEBUGGER_UNIT, csrf_middleware, get_csrf_token, - mkdir_as_user, get_system_pythonpaths) + mkdir_as_user, get_system_pythonpaths, get_effective_user_id) from injector import get_gamepadui_tab, Tab, get_tabs, close_old_tabs from loader import Loader @@ -178,6 +178,9 @@ if __name__ == "__main__": # Required for multiprocessing support in frozen files multiprocessing.freeze_support() + else: + if get_effective_user_id() != 0: + logger.warning(f"decky is running as an unprivileged user, this is not officially supported and may cause issues") # Append the loader's plugin path to the recognized python paths sys.path.append(path.join(path.dirname(__file__), "plugin")) -- cgit v1.2.3