Use two users, and wp-cli.
I've been doing this for years now.
Php runs as a less privileged user, without write permission. If they want to install plugins, they need to enter the FTP name and password of the site dir owner user. Since the FTP connection is localhost, no passwords go over the wire in plaintext.
Next, you install wp-cli, and add a real system cron job to 'wp core update', and 'wp plugins update' every hour.
You can also do things like transient cleaning once a month, or whatever else, and running the WordPress fake cron.
You can then disable wp cron, which saves network resources.