' Gambas class file Public Sub Form_Open() ' Cargamos usuario actual txtUsuario.Text = System.User.Name System.Shell = "/bin/bash" End Public Sub btnSalir_Click() Quit End Public Sub btnAjustarSudo_Click() Dim SalidaShell As String Dim txtAccion As String Message.Title = Me.Text ' Comprobar Clave ROOT If IsNull(txtClaveRoot.Text) Then ' Clave Vacia Message.Error("Error: Debe de escribir la clave de 'root'" & gb.crlf & "La clave no puede estar vacia") Else ' Clave introducida If SudoComodo.Value Then ' Ajustar sudo en modo Cómodo txtAccion = "SUDO COMODO" 'Shell "echo '" & txtUsuario.Text & " ALL = (ALL) NOPASSWD: ALL' > /tmp/autorizado_" & txtUsuario.Text 'Shell "echo -n '" & txtClaveRoot.Text & "' |su -c 'cp /tmp/autorizado_" & txtUsuario.Text & " /tmp/kk/'" Shell "echo -n '" & txtClaveRoot.Text & "' |su -c 'echo " & txtUsuario.Text & " ALL = \\(ALL\\) NOPASSWD: ALL > /etc/sudoers.d/autorizado_" & txtUsuario.Text & "'" Endif If SudoSeguro.Value Then ' Ajustar sudo en modo Seguro txtAccion = "SUDO SEGURO" 'Shell "echo '" & txtUsuario.Text & " ALL=(ALL:ALL) ALL' > /tmp/autorizado_" & txtUsuario.Text 'Shell "echo -n '" & txtClaveRoot.Text & "' |su -c 'cp /tmp/autorizado_" & txtUsuario.Text & " /tmp/kk/'" Shell "echo -n '" & txtClaveRoot.Text & "' |su -c 'echo " & txtUsuario.Text & " ALL=\\(ALL:ALL\\) ALL > /etc/sudoers.d/autorizado_" & txtUsuario.Text & "'" Endif If SinSudo.Value Then 'Eliminar SUDO txtAccion = "SIN SUDO" Shell "echo -n '" & txtClaveRoot.Text & "' |su -c 'echo \\# Usuario sin SUDO > /etc/sudoers.d/autorizado_" & txtUsuario.Text & "'" Endif Message.Info("Configurado " & txtAccion & " para " & txtUsuario.Text) Quit Endif End