Cómo resetear la contraseña del root en linux debian

1- Al iniciar pulsar la letra e para editar el grub.

2-En la ventana de edición, donde pone
linux /boot/vmlinuz-3.2.0-4-686-pae root=UUID=04064ae3XXXXXXXX ro quiet
agregamos al final: init=/bin/bash

3-Pulsar F10 para que siga la carga del sistema escribiremos:
mount -o remount –rw /

4-Y entonces cambiamos la contraseña de root con:
passwd root

Y el sistema nos indicará que la contraseña se ha cambiado bien (password update successfully)

5- Reiniciamos y ya la pass del root será la nueva.

VMWare ESXi: Programar tareas con el crontab y que no se borre al reiniciar el equipo

Hay que programar las tareas en el crontab del ESXi en /var/spool/cron/crontabs/root
Como es de solo lectura hay que darle permisos previamente con chmod +t root y con chmod 755 root.
Luego programamos las tareas por ejemplo en root:
#min hour day mon dow command
1 1 * * * /sbin/tmpwatch.py
1 * * * * /sbin/auto-backup.sh
0 * * * * /usr/lib/vmware/vmksummary/log-heartbeat.py
*/5 * * * * /sbin/hostd-probe ++group=host/vim/vmvisor/hostd-probe
00 00 28 2,5,8,11 * /vmfs/volumes/datastore1/scriptCopiaAgenda.sh >> /vmfs/volumes/iSCSI-DATASTORE-3/logsVMWare
00 00 10 * * /vmfs/volumes/datastore1/scriptCopiaWeb.sh >> /vmfs/volumes/iSCSI-DATASTORE-3/logsVMWare
30 15 * * 6 /vmfs/volumes/datastore1/scriptCopiaWeb.sh >> /vmfs/volumes/iSCSI-DATASTORE-3/logsVMWare

Tener en cuenta que el cron va de 0-6 donde 0 es domingo y 6 sabado.
Usar una unidad externa que no sea datastore para almacenar logs sino también lo borrará al reiniciar la máquina.
Entonces crearemos un script que haga por ejemplo una copia con instrucciones de la api del ESXi:

#
#!/bin/bash
#
# Fecha
FECHA=`date +%d-%m-%Y`
#nombre de la máuqina
MAQUINA='miagenda'
# ID de la máquina que lo podemos saber ejecutando antes "vim-cmd vmsvc/getallvms"
VMID='35'
ORIGEN='/vmfs/volumes/iSCSI-DATASTORE-3'
# lo guardo en un NAS que tengo montado por NFS
NAS='/vmfs/volumes/CopiasVMWare/copias244'

# Paramos la maquina virtual
echo "Parando la máquina virtual de $MAQUINA con VMID: $VMID"
echo "Hora:" $(date)
vim-cmd vmsvc/power.off $VMID

echo "Copiamos maquina en "$NAS/$MAQUINA-$FECHA
mkdir $NAS/$MAQUINA-$FECHA
cp -r $ORIGEN/$MAQUINA/* $NAS/$MAQUINA-$FECHA/

# Arrancamos la maquina virtual
echo "Arrancamos la máquina virtual de $MAQUINA con VMID: $VMID"
echo "Hora:" $(date)
vim-cmd vmsvc/power.on $VMID

Ahora para que no se pierdan los cambios al apagar la máquina, ya que sino ponemos lo siguiente en el /etc/rc.local.d/local.sh nuestro cron se reseteara a estado de fábrica por una memoria que restablece ciertos ficheros del sistema. Entonces para no perder nuestro sistema de copias que ya hemos programado ponemos lo siquiente en /etc/rc.local.d/local.sh:

#!/bin/sh

# local configuration options

# Note: modify at your own risk! If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading. Changes are not supported unless under direction of
# VMware support.

/bin/echo "00 00 28 2,5,8,11 * /vmfs/volumes/datastore1/scriptCopiaAgenda.sh >> /vmfs/volumes/iSCSI-DATASTORE-3/logsVMWare" >> /var/spool/cron/crontabs/root
/bin/echo "00 00 10 * * /vmfs/volumes/datastore1/scriptCopiaWeb.sh >> /vmfs/volumes/iSCSI-DATASTORE-3/logsVMWare" >> /var/spool/cron/crontabs/root
/bin/echo "30 15 * * 6 /vmfs/volumes/datastore1/scriptCopiaWeb.sh >> /vmfs/volumes/iSCSI-DATASTORE-3/logsVMWare" >> /var/spool/cron/crontabs/root

exit 0

Así reescribe el fichero root cuando reiniciemos la máquina.

Espero que haya sido de utilidad.

ADB – Android Debug Bridge

Es una herramienta puente que permite manejar el estado de nuestro smartphone Android conectándolo a nuestro ordenador con un cable. Con él podemos actualizar el sistema,  acceder en modo recovery, ejecutar comandos shell, copiar arhivos o borrar, administrar el direccionamiento de puertos.. Sólo se necesita que tengamos instalados en nuestro ordenador los drivers correctos para que se comuniquen entre ellos y exiten drivers ADB universales que se pueden instalar muy fácilmente y son compatibles con la mayoría de smartphones Android y versiones de Windows.

Lista de comandos básicos

Genymotion – Rápido simulador para Android

Es un rápido emulador de Android que permite ejecutar distintos dispositivos Android. Podemos ejecutar cualquier aplicación en Windows, Linux o Mac.

Utiliza máquinas virtuales x86 sobre Virtualbox con una interfaz sencilla para que el usuario pueda crear diferentes dispositivos y ejecutar así una app sobre ellos.

Se integra sin problemas con el ADB (Android Debug Bridge) y permite emular aplicaciones desarrolladas bajo Eclipse o Android Studio.

Para usarlo deberás registrarte y descargar genymotion-x.x.x-vbox

https://www.genymotion.com/

Seguridad a tu aplicación web – Certificado digital

Para poder dar mayor seguridad a tu aplicación web la idea es que todos los datos que se envíen vayan cifrados. Para ello vamos a configurar el protocolo SSL con apache que usa certificados digitales para establecer comunicaciones seguras a través de Internet. Permite confiar información personal a sitios web, porque los datos se ocultan a través de métodos criptográficos mientras navegas. Se suele usar en tiendas online, pasarelas bancarias y cualquier tipo de servicio web donde se envíen datos personales o contraseñas.

Al cifrar los datos se transforma la información para que sólo el poseedor de la clave pueda entenderla. Existen un dos “llaves” pública y privada y están asociadas a una persona o entidad y generadas mediante métodos criptográficos. La llave pública es usada para cifrar la información y la llave privada se usa para descifrar y sólo la posee la persona autorizada.

Lo que vamos a hacer es crear un certificado digital SSL autofirmado, el cual, el navegador no reconocerá mostrando una advertencia al usuario y este certificado es enviado a el cliente por el servidor con quien vamos a establecer una conexión segura vía HTTPS.

El certificado digital garantiza la vinculación entre una persona o entidad con su llave pública. Contiene el nombre de su propietario, dirección, correo electrónico, organización a la que pertenece y su llave pública, e información del certificado: periodo de validez, número de serie único, nombre de la AC que emitió, firma digital de la AC cifrada con su llave privada..

Lo normal es que este certificado lo genere una Autoridad Certificadora (Verisign, Thawte, Comodo, etc…) que es una entidad confiable que se encarga de garantizar que el poseedor de un certificado digital sea quien dice ser, bridando confianza a ambas partes de una comunicación segura SSL/TLS.

IDEA:

1) El navegador solicida al servidor que se identifique
2) El servidor presenta un certificado digital para identificarse
3) Para que el navegador confíe en el servidor realiza unas pruebas verificando la validez del certificado
4) Un vez que comprueba que es válido establece la comunicación cifrada.

CONFIGURACIÓN:

1) Instalar OpenSSL

apt-get install openssl

2) Generar una clave privada

La clave o llave privada es útil para generar el certificado. Una vez creado, el certificado SSL dependerá de esta clave para la implementación del mismo en cualquier servicio que requiera una conexión segura. Vamos a crear una clave privada RSA de 1024 bits usando triple DES:

opnessl genrsa -des3 -out servidor.key 1024

Quitamos la contraseña para que no la pida por si reiniciamos apache.

mv servidor.key servidor.key.old
openssl rsa -in servidor.key.old -out servidor.key

Enter pass phrase for servidor.old.key:
writing RSA key

3) Crear un CSR (Certificate Signing Request)

Un CSR es la base para un certificado SSL, en el se definen datos como el dominio, organización, ubicación, información de contacto, entre otros.

openssl req -new -key servidor.key -out servidor.csr

Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) AU:ES
State or Province Name (full name) Some-State:Madrid
Locality Name (eg, city) []:Madrid
Organization Name (eg, company) Internet Widgits Pty Ltd:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
#No pongas nada en lo siguiente
Please enter the following 'extra' attributes to be sent with your certificate request
A challenge password []:
An optional company name []:

4) Generar el certificado SSL:

Para generar el certificado SSL vamos a necesitar tanto la llave privada como el CSR que acabamos de crear.

openssl x509 -req -days 365 -in servidor.csr -signkey servidor.key -out servidor.crt

Creamos la carpeta /etc/apache2/ssl y copiamos los ficheros allí.

Copiamos los archivos a la carpeta en /etc/apache2/ssl o en /etc/ssl/certs (aquí están todos los certificados).

cp servidor.crt /etc/apache2/ssl/servidor.crt
cp servidor.key /etc/apache2/ssl/servidor.key

5) Configurar el certificado SSL en Apache:

Habilitamos el módulo de SSL en Apache:

a2enmod ssl

Revisar que este descomentado la entrada que hace referencia el puerto 443 en el fichero “/etc/apache2/ports.conf”

Editar el fichero “/etc/apache2/sites-available/default-ssl” , y configurar según tu instalación y añades el apartado “configuración ssl”:

# Configuracion SSL
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/servidor.crt
SSLCertificateKeyFile /etc/apache2/ssl/servidor.key
#Fin configuracion SSL

(No olvides sustituir www.example.com por tu dominio.)

Una vez configurado el certificado lo habilitamos:

a2ensite default-ssl

Para que la configuración surja efecto reiniciamos el servicio:

service apache2 reload

Ya debería estar el certificado SSL configurado y funcionando.

Si hay algún error de puede ver en /var/log/apache2/error.log.

Espero que os haya ayudado… 😉

Rendering Problems Exception raised during rendering: action_bar

Hola,

si tras importar un proyecto en Android Studio tienes el siguiente problema en el simulador cuando cargas el activity_main.xml:

Rendering Problems Exception raised during rendering: action_bar

tienes que tener en cuenta que compilador es el que pusiste como mínimo para así poder visualizar el contenido de tu ventana.

Para ello, es simple, tan sólo tendras que cambiar lo siguiente:

error_android1

Poner que la API usada mínima es la API 21.

Cannot launch AVD in emulator. Output: emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed!

Hay que instalar lo siguiente:

C:\Users\patricia\AppData\Local\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager\silent_install.bat

C:\Users\patricia\AppData\Local\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe

para así poder usar el simulador.

La parte en negrita puede variar dependiendo de la ruta donde se haya instalado Android.

Puede dar el siguiente error al intentar instalarlo:

error_android

SOLUCIÓN:

BIOS > “VT” o “Virtualization Technology” o “VT-d” debe estar habilitado (Enabled).

OTROS POSIBLES PROBLEMAS:
https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-windows

Un poco de tó…