Skip to content

Commit

Permalink
Ignore chmod if decky is not run as root (#510)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
PartyWumpus committed Jul 21, 2023
1 parent 6d086fb commit 37c1a0e
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
4 changes: 3 additions & 1 deletion backend/localplatformlinux.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -191,4 +193,4 @@ def get_unprivileged_user() -> str:
logger.warn("Unprivileged user is not properly configured. Defaulting to 'deck'")
user = 'deck'

return user
return user
5 changes: 4 additions & 1 deletion backend/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# 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
Expand Down Expand Up @@ -178,6 +178,9 @@ def run(self):

# 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"))
Expand Down

0 comments on commit 37c1a0e

Please sign in to comment.