Quiero cambiar las configuraciones de red como dhcp, dirección IP, etc. programáticamente.
Pero lo que no quiero es ejecutar mi aplicación como root. Entonces mi pregunta es: ¿Cuál sería un enfoque común para resolver eso? ¿Es esto posible?
¿Hay algún grupo al que se le permita hacer eso sin obtener ningún otro derecho? ¿O debería 'cortar' los archivos de configuración a un grupo especial y agregar al usuario a ese grupo?
Relacionado con esto (si eso está fuera del tema, dígame y abriré otra pregunta): El objetivo es un dispositivo incrustado y la aplicación debería ser la única a la que el usuario pueda acceder. ¿Hay alguna buena (mejor) práctica? ¿Debo crear un usuario especial para esa aplicación? Cualquier pista es apreciada.
fuente
Si está utilizando NetworkManager en su computadora, puede usar NM-CLI .
fuente
Si su dispositivo objetivo lo admite, el mecanismo setuid podría ser el camino a seguir.
http://en.wikipedia.org/wiki/Setuid
Algunos programas necesitan privilegios de root, y lo que haces con setuid es que el archivo ejecutable pertenece a root y tiene el setuid-bit establecido, por lo que cuando otro usuario lo ejecuta, el ejecutable se ejecuta con privilegios de root.
Pero también tenga en cuenta que
fuente