¿Cómo ejecutar un programa con derechos sudo pero sin el contexto raíz?

¿Cómo ejecutar un programa con derechos sudo pero sin el contexto raíz?

Quiero iniciar mi IntelliJ IDEA con derechos privilegiados. Esto se debe a que al iniciar mi aplicación dentro del IDE, se inicia un servidor SFTP. Esto sólo funciona si tengo permiso para hacerlo.

El enfoque hasta ahora fue iniciar el programa IntelliJ con sudo. El inconveniente aquí fue que IntelliJ inició un contexto de configuración completamente nuevo que ahora se encuentra en el rootdirectorio. Por lo tanto, tengo que comenzar con una configuración de usuario nueva/en blanco del IDE (se puede cambiar fácilmente, pero ese no es el punto) y también tengo que ingresar mi código de licencia nuevamente.

¿Hay alguna manera de simplemente ejecutar un programa sin actuar como root pero seguir actuando como el usuario que ha iniciado sesión?

Respuesta1

No ejecutaría un IDE como root. Eso es buscar muchos problemas si algo sale mal.

En su lugar, concédase el acceso sudo correcto y envuelva el elemento que necesita acceso raíz en un script.

Por ejemplo, para ejecutar acme_sftp_server como root, cree una secuencia de comandos

#!/bin/bash
sudo acme_sftp_server

Luego, concédase el privilegio de sudo para ejecutar acme_sftp_server a través de sudo sin contraseña.

Luego invoque su script, no el servidor a través de IntelliJ

información relacionada