Linux

Linux, Servidores, Sistemas

Ejecutar el crontab como un usuario, por ejemplo www-data.

Si tienes páginas web, en muchas ocasiones tienes que ejecutar tareas cron en el servidor (indexado, limpieza, procesos que se repiten cada cierto tiempo etc9). Estos procesos debes ejecutarlos con el usuario del servidor web, por ejemplo el www-data. Hoy os damos varias opciones para hacerlo. Cómo ejecutar crontab como un usuario. Existen varias opciones: Poner la tarea en el crontab de root pero especificar el usuario. Lo más normal es tener las tareas en el crontab de root, pero los comandos puestos ahí tienen los permisos de root. Afortunadamente podemos especificar, en la línea del comando, el usuario.Ejecutamos crontab -e para entrar en crontab y ponemos una línea como. Ejecutar desde root el crontab del usuario: En ese crontab añades la línea normal. El primer método tiene la ventaja que tienes todas las tareas en el mismo sitio y escribirá los logs con permisos de administrador. Siempre puedes comprobarlo luego en el log /var/log/cron.log, en el crontab de root si lo has puesto ahí, o, si has editado el del usuario, con crontab -u www-data -l

Linux, Sistemas, Trucos

Cómo copiar el contenido de un fichero en Putty

Si, como nosotros, gestionas servidores y conexiones a máquinas Linux, estarás acostumbrado a trabajar con terminales como Putty. Es un gran programa, con mucha potencia, pero tiene alguna peculiaridad. Por ejemplo en el momento de copiar contenido. Problema al copiar el contenido de un fichero en Putty. Nota: recordamos que para copiar en un terminal de Linux sólo hace falta seleccionar el contenido. Luego con que peguemos (tanto dentro del terminal con botón derecho, o fuera en Windows con pegar) se pega sin necesidad de copiar con Ctrl+V. El mayor problema que nos encontramos es cuando vamos a copiar contenido de un fichero que ocupe más de la pantalla. Y es que Putty, al ser un terminal, va a paginar el fichero y te lo va mostrando. Por lo tanto sólo puedes ir copiando el contenido que quepa en vertical en la pantalla. Pero además, si se desborda a lo ancho, tampoco vas a poder copiarlo bien.Y, para complicarlo aún más, tiene un “buffer” de memoria, un número de líneas que recuerda. Es decir no puedes “ir para atrás” infinitamente. Solución para copiar el contenido de un fichero. Os dejamos varios consejos: Si quieres aumentar ese buffer de memoria, para que guarde más líneas y puedas ir hacia atrás un mayor número de líneas, tienes que: – Abrir Putty. – Ir en la sesión a Window y donde pone Lines of scrollback cambiarlo del 2000 por defecto a lo que necesites. Usa el comando cat.El comando cat de Linux se usa para mostrar el contenido de un fichero o en pantalla, o a otra fichero o concatenando ficheros o texto.Por lo tanto podemos hacer cat nombredefixero.extension Esto mostrará el contenido en pantalla y ese contenido sólo tienes que seleccionarlo para luego copiarlo donde quieras.Si mandas un pipe puedes enviar el contenido a otro fichero. cat ficherooriginal.txt > ficheronuevo.txt

Android, Compartir, Linux, Mac, Noticias Informáticas, Smartphones

Alternativas a WhatsApp tras el cambio de Términos y Condiciones del día 8 de enero 2021

Seguramente ya habréis aprobado, muchos sin leer, los nuevos Términos y Condiciones impuestos por WhatsApp el día 8 de enero. Y digo impuesto porque eran lentejas: aceptar o aceptar (o dejar la plataforma). Era necesario aceptar las condiciones para poder seguir usando la plataforma.Hoy os hablamos de qué implican estas condiciones (para los que no las hayan leído) y qué alternativas tenéis. Resumen de los cambios más importantes en los Términos y Condiciones de WhatsApp. De manera resumida, los cambios implican, para los residentes de países no en la UE, que WhatsApp va a compartir datos personales del usuario (incluida la dirección IP y ubicación geográfica) con Facebook y otras empresas del grupo. También compartirá información de tus contactos. Personalmente yo estoy totalmente en contra de este cambio (no es que le importe a Facebook lo más mínimo, pero por dar mi opinión). El usar un servicio no debería implicar que tu información pasa a otros que puede que no uses o no quieras que tengan dicha información sobre ti. Y parece que la Unión Europea también, porque les dieron claramente que no podían hacer eso ya que vulneraría la RGPD (para eso está). Así que la empresa de Zuckerberg llegó a un acuerdo con la Unión Europea de manera que, para poder operar en la UE, en teoría no se compartirían los datos entre dichas aplicaciones sin consentimiento del usuario. Así que nos encontramos con la curiosa situación que WhatsApp tiene 2 términos y condiciones. Uno para usuarios de fuera de la UE ,que dice que comparte datos entre WhatsApp y Facebook, y uno para usuarios de la UE . También una página de Condiciones de Servicio para la UE. Y hemos tenido que aceptarlas para poder seguir usando el servicio.El problema es que he comparado ambas páginas y las diferencias son mínimas. Destaco que, en la de la UE dice: Como parte de las empresas de Facebook, WhatsApp recibe información de las otras empresas de Facebook y comparte información con ellas, a fin de promover la seguridad, la protección y la integridad a través de los productos de las empresas de Facebook, por ejemplo, para luchar contra el spam, las amenazas, el abuso o las actividades ilícitas. WhatsApp también trabaja y comparte información con las otras empresas de Facebook que actúan en nuestro nombre para ayudarnos a operar, proporcionar, mejorar, entender, personalizar, respaldar y promocionar nuestros Servicios. Esto incluye la provisión de infraestructura, tecnología y sistemas, por ejemplo, para proporcionarte llamadas y mensajería rápida y segura en todo el mundo, mejorar la infraestructura y los sistemas de entrega, entender cómo se usan nuestros Servicios, ayudarnos a proporcionarte un modo para conectarte con empresas, así como para proteger los sistemas. Cuando recibimos servicios de las empresas de Facebook, la información que compartimos con ellas se usa en nombre de WhatsApp de conformidad con nuestras instrucciones. Toda la información que WhatsApp comparta de este modo no puede utilizarse para los fines propios de las empresas de Facebook. Vamos que se comparte información pero, en teoría, no pueden usarla para fines de la otra aplicación. ¿Qué opciones tenemos? En WhatsApp ninguna. O accedes o dejas de usar la aplicación. Algo que es muy poco RGPD, no permiten eso ni en las cookies, y supongo que lo pelearán. Pero por ahora es lo que hay. Así que la gente ha optado por buscar alternativas. Los registros de Telegram y Line han aumentado muchísimo. Y Signal se vio colapsada durante un tiempo después que Elon Musk lo recomendara tras el aviso de WhatsApp. ¿Por qué signal? Porque es opensource (por lo tanto se puede comprobar lo que hace) y orientada a mantener la privacidad de los usuarios. Mucho más que el resto (por ahora). Hablaremos de ella otro día. El problema principal de estas aplicaciones es que lo que importa es el número de usuarios que la tengan. De nada sirve que tengas la mejor aplicación si nadie más la tiene y no puedes chatear con nadie. En el mundo de IT, las mejores aplicaciones no siembre han sido las que han triunfado.Es decir, la alternativa será tal si no sólo es buena, sino si además puedes usarla para hablar con la gente que ten interesa (si les convences para usarla). Así que vamos a ver las alternativas a WhatsApp. Una buena manera de buscar aplicaciones que sustituyan a WhatsApp es mirar la comparativa en https://www.securemessagingapps.com/ Ahí podéis ver un cuadro comparativo con las características de cada uno desde el punto de vista de la seguridad. Las principales serían: Signal. Ahora mismo la que más caractarísticas seguras tiene. Aquí tienes su versión para Android y para iOS. Además tiene una aplicación para Windows , Mac y Debian based Linux (que necesitan instalación previa en tu móvil). Threema: La siguiente aplicación que más piensa en la privacidad y seguridad. Tienes app para Android, iOS y una versión web. Wire: Otra gran aplicación en cuanto a seguridad. Aquí tenéis su versión de Android, iOS, Windows, Mac , Linux y web. Telegram: Durante mucho tiempo fue la mejor alternativa a WhatsApp y, por ello, ahora es la mayor competencia en cuanto a nivel de usuarios. Ha tenido varias dudas por rumores de interferencia rusa y por su anuncio de empezar a usar publicidad (pero claro…de algún sitio tienen que sacar estas empresas su beneficio). Como veis arriba hay muchas más opciones. Sólo os dejamos algunas ideas para probar y nos basamos en la seguridad como motivo principal de uso (no es el único como hemos comentado).

Linux, Sistemas, Trucos

Buscar comandos escritos anteriormente en Linux. Comando history.

Los comandos de Linux no son siempre los más sencillos de recordad. Y en ocasiones hemos ejecutado hace tiempo algunos, tras investigar y experimentar, que querríamos volver a ejecutar unos meses más tarde. Pero no nos acordamos, y no es plan buscar con la flecha arriba.Hoy os enseñamos dos maneras de recuperar esos comandos. Comando history junto a grep. Una de las maneras más socorridas es usar el comando history que guarda un historial de lo que hemos escrito en la línea de comandos, tanto en esta sesión como en sesiones anteriores. Como es mucha información, tenemos que usar el tan usado grep para filtrar. Os dejamos algunos ejemplos. history | grep palabraquequeremosbuscar : Para buscar una palabra concreta. history | grep ‘frase que queremos buscar ‘ : Cuando tenemos que buscar frases con espacios o caracteres raros. history | grep ‘frase con “comillas” que queremos buscar ‘ : si nuestra frase tiene comillas, podemos jugar alternando simples y dobles. Filtrando el fichero Histfile con grep. Otra manera es buscar en el fichero Histfile y filtrarlo con grep. Pero este tiene el problema que la variable $HISTFILE sólo guarda los comandos tras una sesión, no incluye los de la sesión actual. Hay que tenerlo en cuenta. El comando sería grep -w “frase a buscar” $HISTFILE Estos comandos os los dejamos por si los necesitáis, pero también como referencia nuestra, porque son comandos que usamos relativamente frecuentemente (y no nos acordamos de una vez a otra).

Linux, Trucos

Cómo cambiar los permisos sólo de ficheros o directorios en Linux.

En la mayoría de los CMS, por ejemplo en el archiconocido WordPress, los permisos de los ficheros y directorios son diferentes. 644 (ficheros) y 755 (directorios) en la mayoría de los casos, aunque a veces 664 y 775 (os explicaremos por qué en otro artículo. Bien, así que ahora, porque he cometido un error o por (lo más frecuente) una diferencia de permisos al subir contenido por FTP, ahora tengo que cambiar los permisos. Normalmente esto se hace por línea de comandos (a menos que tengas un FTP ideal). ¿Cómo lo hago? Hoy os lo explicamos. Cómo cambiar los permisos de ficheros o directorios en Linux. La manera más habitual y rápida de hacerlo es con el comando find. Vamos a usar ese comando para encontrar sólo directorios, o sólo ficheros, y añadir al comando un final en el que se hará el cambio de permisos a los resultados.Os ponemos primero los comandos (dos opciones en cada uno) y luego los explicamos. Obviamente podéis seleccionar otros directorios etc. Cambio de permisos a ficheros. find /raizdelsitio -type f -exec chmod 644 {} \; o find /raizdelsitio -type f -exec chmod 644 {} \+; Cambio de permisos a directorios. find /raizdelsitio -type d -exec chmod 755 {} \; ofind /raizdelsitio -type d -exec chmod 755 {} \+; Explicación de los comandos. Como veis estamos usando find para encontrar los tipos de fichero (f) o directorios (d). Se añade al final el chmod relevante para cada tipo de fichero.El elemento {} lo que hace es ejecutar el final del find (chmod en este caso) a cada salida del find. El + te lo pone en columnas y no sólo en filas.El \ lo que hace es “escapar” el comando y ; decir que finalice. Así que \; indica el final del comando por si los ejecutamos en scripts.Más información aquí.

Linux, Sistemas

Cómo obtener la versión de la distribución de Linux y del kernel por línea de comandos.

Cuando hablamos de Linux tenemos que diferenciar dos cosas: el kernel de Linux y la distribución de Linux. El kernel actúa de puente entre el hardware y el sistema operativo, y suele tener un número que lo identifica.La distribución contiene los kernel, la interfaz gráfica, el software etc.Distribuciones famosas son Debian, Ubuntu, Red Hat, Arch Linux, CentOS…. Hoy os vamos a resumir y recordar cómo obtener la versión de la distribución. Y decimos recordar porque estos artículos los usamos también nosotros como referencia rápida. lsb_release -a Nos da información sobre la distribución. Es el comando más usado para esta función. cat /etc/os-release Este comando muestra información sobre la distribución contenida en la el fichero /etc/os-release presente en todos los Linux. hostnamectlEste comando, usado para cambiar el nombre del host de un equipo, cuando se ejecuta así, sólo, muestra información de la distribución y del kernel. cat /etc/*release Información sobre la distribución. Para mostra información del kernel. El comando mejor para esto es uname -r

Linux, Sistemas, Trucos

Cómo mostrar en Linux las últimas conexiones e intentos de conexión de usuarios. Comando last.

Si tienes un ordenador o servidor Linux, es muy probable que te interesa saber quién se ha conectado y cuando, quién no se ha conectado y qué intentos fallidos de conexión has tenido. Hoy os vamos a enseñar a realizar todo eso. Comando last. El comando last muestra la lista de los últimos usuarios que han iniciado sesión, así como el sistema, y fecha y hora. Puedes paginar con |more o |less.Lo que hace realmente es leer el fichero /var/log/wtmp Opciones: last nombredeusuario muestra la lista sólo para ese usuario. last -n X muestra las X (un número) últimas líneas last -F Muestra las horas de inicio y fin de sesión last -f rutaynombredefichero muestra la información respecto a ese fichero en vez del fichero wtmp last -x muestra las entradas con cambios de apagado o cambios de niveles de ejecución. Para ver cuando se ha apagado y reiniciado. También last -x reboot o last-x shutdown last -s yesterday -t today Para ver desde (por ejemplo) ayer a hoy. last -t YYYYMMDDHHMMSS para ver quién estaba registrado a cierta hora. También podemos limitar esto por usuario. last pts/0 muestra sólo los inicios de sesión por pts/0. Pts es pseudo terminal y tty terminal. Comando lastb. El comando lastb permite ver los intentos de sesión fallidos. Obviamente aquí aparecerán muchos así que filtrad o paginar.También podéis poner lastb nombredeusuario . Este comando podemos usarlo para ver los ataques que recibimos, o los intentos fallidos de acceso de un usuario. Comando lastlog. El comando lastlog permite ver la última conexión por usuario. Así que podemos usarlo para ver cuando se conectó alguien por última vez, o que usuarios nunca se han conectado.Con lastlog -b numerodedias podemos ver quien no ha iniciado sesión en un número de días igual o superior a numerodedias. Recordad que con el comando who podemos ver quien está conectado en este momento.

Linux, Sistemas, Trucos

Cómo cambiar el hostname en un equipo Ubuntu Linux

Hace unos días instalamos un servidor Ubuntu Linux (por requerimientos del software). Tuvimos que cambiar el nombre de host de ese equipo y aquí os dejamos cómo se hace. Cambiar el hostname de un equipo Ubuntu. Si sólo quieres cambiarlo sólo hasta el siguiente reinicio puedes poner: hostname NUEVONOMBRE Para hacerlo más permanente, tienes que editar dos ficheros. El fichero etc/hostname que es el que da el nombre al servidor. Hazlo con este comando, o con tu editor favorito sudo vim /etc/hostname El fichero etc/hosts que le dice dónde tiene que ir cuando pongan ese nombre. Es su DNS interno. Hazlo con este comando (o pon tu editor) sudo vim /etc/hosts No es necesario reiniciar aunque si muy conveniente (sudo reboot). Puedes comprobar el cambio con los comandos hostname o hostnamectl .

Linux, Servidores, Sistemas

Cómo desbloquear una IP bloqueada con Fail2ban

Hace un tiempo escribimos un artículo sobre cómo proteger un servidor con Fail2ban. Es una gran herramienta. Pero a veces bloquea IPs que no queremos. Por ejemplo si un cliente se equivoca mucho en su contraseña, o nosotros mismos (alguna vez nos ha bloqueado jejeje). Hoy os enseñamos cómo desbloquearlo. Cómo desbloquear una IP bloqueada con Fail2ban. Tenemos que conectarnos por ssh. Obviamente si nos ha bloqueado nuestra IP no podremos, así que o tendremos que acceder desde otro sitio (casa u otra oficina), o cambiar nuestra IP dinámica (reseteando router y ONT y ver si la cambia), o accediendo desde el SSH de nuestro panel del servidor.Nota: Apunta antes la IP que quieres desbloquear, la tuya. Puedes verlo buscando cual es mi IP en Google. Cualquiera de esas páginas te lo dará. Una vez hemos accedido por ssh tenemos que encontrar qué servicio nos han bloqueado en nuestra IP (ssh, ftp etc). Para ello tenemos que ejecutar: iptables -L -n Ahí comprobamos nuestra Ip y el servicio. Si no lo ves bien, puedes probar a  poner : Podemos verificar los servicios con fail2ban-client status Ahora para desbloquear la IP ponemos: fail2ban-client set servicio unbanip XXX.XXX.XXX.XXX Donde servicio es el servicio que nos han baneado (ssh, ftp etc) y XXX…. la IP a desbloquear. Con eso prueba a acceder porque debería estar solucionado.

Linux, Sistemas, Trucos

Cómo activar los procesadores de un servidor virtual o cloud sin reiniciar

Hoy hemos tenido que ampliar los procesadores de un servidor Cloud para un cliente. Lo bueno de estos servidores es que, cuando hay un aumento repentino de accesos, se les puede aumentar los recursos de forma temporal. Porque son servidores virtuales. Sin embargo, la mayoría de las veces el aumento requiere reinicio y esto, en una máquina en producción, puede no ser viable inmediatamente. Hoy os enseñamos cómo activar los procesadores añadidos sin tener que reiniciar. Cómo activar los procesadores de un servidor virtual sin reiniciar. Al activar los procesadores nuevos podéis comprobar como todavía no están en funcionamiento con los comandos de este artículo. Por ejemplo si hacemos un lscpu veremos algo como: Si veis los CPU 0 y 1 aparecen online peor los 2 y 3 salen offline (en linux se centan desde 0). Como hemos dicho podemos reiniciar, y activará los que tiene offline. Pero también podemos ejecutar estos comandos: Activar procesadores. echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online De esta manera pones a 1 (online) los atributos  sysfs de dichos procesadores. También se puede hacer lo mismo con chcpu chcpu -r chcpu -e 2 (Esto reescanea los cpus y activa el procesador 2) Para desactivar los procesadores: echo 0 > /sys/devices/system/cpu/cpu2/online echo 0 > /sys/devices/system/cpu/cpu3/online Esto hace lo contrario. Si ahora hacéis de nuevo un lscpu obtendréis que están todos activos:  

Scroll al inicio