Just looked and they’re denied on my DS918+ and it does not cause any issues. I do not know if the PMS installer denied things or if I did it at some point. Don’t remember ever checking.
@ChuckPa, that’s cool. I have no issues at all with plex being a defined user, I was just interested in reducing attack vectors. With “plex” being a well-known username on every Synology running PMS, it becomes a vector that an attacker could possibly use. Hypothetically let’s say there was a vulnerability in DSM that somehow allowed access without a password as long as one knew a valid username. Hopefully denying that user access to DSM would mitigate that.
Ideally the plex username would have a uniquely (to each installation) generated suffix at the end, e.g. plex-A6zw2J, so that it was extremely difficult to guess, and even then I’d likely deny it access to the apps. It looks like that would be very difficult to do given the requirement of using the synouser facility to query for an existing user unless that value were able to be derived consistently from data available prior to making the query.
@ChuckPa, looking at the CLI guide, it looks like it might be better to use a zero in the last parameter, “app_privilege”, of the create user statement rather than the ‘’. I would assume that ‘’ equates to a null or empty string when it’s looking for a number.
While Synology uses Linux, it is not a “desktop Linux” environment. It is a “minimum-required to-task” environment.
Your thought-experiment has given me some additional input for securing the the account even further. I will do this.
To answer your OP.
Plex doesn’t require any Synology applications
Plex should never be used as a ‘Login’ account because it’s a service.
Please consider username plex the same as you would any other Linux service account like lpd, sync , mail, etc. Plex Media Server is a service application on the host – Nothing more.
If, when the installation scripts run, anything is missing, or misaligned, they will restore the package runtime environment to what it knows to be a runnable state.