sudo
los permisos son sobre el usuario/grupo que está cambiando desde no el usuario al que está cambiando a .
Así son esas líneas de permiso que permiten que el testuser
usuario y el testgroup
grupo ejecuta cualquier comando (como cualquiera) sin contraseña.
Tienes que dar permiso a el usuario que ejecuta el script para ejecutar comandos como el testuser
usuario para lo que quieras.
Suponiendo que eso es lo que querías permitir.
Ese error ocurre cuando su archivo sudoers especifica requiretty
. Desde el sudoers
página de manual:
requiretty If set, sudo will only run when the user is logged in to a real tty. When this flag is set, sudo can only be run from a login session and not via other means such as cron(8) or cgi-bin scripts. This flag is off by default.
Para corregir su error, elimine requiretty
de su archivo sudoers.