Pero cuando quiero ejecutar algo como root necesitas ir metiendo siempre la contraseña.
Existen varios métodos para que el comando sudo no te pida la contraseña. Por ejemplo editando sudoers (man sudoers) e incluyendo las aplicaciones que queramos.
Pero una forma mucho más sencilla es haciendo lo siguiente:
echo "password" | sudo -S comandoPor ejemplo, yo tengo un script para actualizar el sistema rápidamente que se llama actualizar:
echo "password" | sudo -S apt-get update && sudo -S apt-get -y dist-upgradeLo único que hago es crearme este archivo (con vi o con gedit), darle permisos de ejecución (sudo chmod +x actualizar) y crear un acceso directo al panel, de forma que con un solo click se actualiza todo el sistema él solito.
¿A qué es muy sencillo? Eso sí, puede tener problemas de seguridad (si alguien te pilla ese archivo... ¡la has cagado!). Así que usa este método con precaución.
Creo que habría una alternativa mejor: Editando los permisos de sudo (sudo visudo). Lo explican detalladamente en el siguiente enlace:
ResponderEliminarhttp://askubuntu.com/questions/155791/how-do-i-sudo-a-command-in-a-script-without-being-asked-for-a-password
Un saludo.
Oye muchisisimas gracias, soy nuevo en el mundo linux y la verdad es que si es algo inquietante y algo desesperante realizar la misma tarea con los privilegios de superusuario. En mi caso tengo un programaita descargado de microchip el pickit2-linux, al que un super programdor le hizo una GUI en java, pero este necesita permiso de sudo para ejecutarse :V
ResponderEliminarY gracias a tu post esto se me hizo muchisisimo super facil. Te agradezco tu tiempo en postear esto :D
Gracias a ti. Para eso estamos ;-)
EliminarTengo este codigo en java, la contraseña entra como parametro letras en mayusculas
ResponderEliminarimport java.awt.Robot;
import java.awt.event.KeyEvent;
import java.util.*;
import java.lang.reflect.Field;
import java.awt.event.*;
import javax.swing.*;
public class key {
public static void main(String[] argus) {
try {
Robot robot = new Robot();
robot.delay(100);
for (int x=0;x<argus[0].length();x++){
char aux= argus[0].charAt(x);
int keyCode = (int) aux;
robot.keyPress( aux );
robot.keyRelease( aux );}
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
} catch (Exception e) {
System.out.println(e);
}
}
}
Tengo una amiga a la que le puse ubuntu 16.04 y últimamente, al iniciarlo, las más de las veces, no detecta redes wifi. Le enseñé a hacer esto en consola: "sudo service network-manager restart". Pero se lía (es muy mayor).
ResponderEliminarAhora le pondré este script en el escritorio (con permiso de ejecución). A mí me funciona.
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "contraseña" | sudo -S service network-manager restart
exit
Hola, tengo un amigo que me paso este link para solventar un "pequeño" porblema que a ver is a modo de reto me ayudais a solventar.
ResponderEliminarLo primero todo se basa en openssh de w10 lo digo por si acaso.
Empiezo
Tengo un Nas con de sinology el cual puedo encender con WOL por remoto sin problemas. lo malo es apagarlo...
He intentado de todo y con script cmd lo he comseguido pero de forma manual , no hay manera de hacer un bat automatizado.
Se puede con putty (plink) y con ssh pero en ambas debo cambiar de usuario admin a root con sudo -i y poner el password manual para posterioremte indicar un poweroff y listo
la secuemcia es esta para ssh
ssh 192.168.1.36 -l admin
(entonces sale)
admin@192.168.1.36's password:
(pones password)
admin@SYNOLOGY:~$ sudo -i
password:
(pones password)
root@SYNOLOGY:~#
( y ahi comando poweroff y perfecto)
como decia el porblema es secuenciar todo en una solo linea para hacer un bat o lo que sea para ejecutar