Listar SÓLO directorios en Bash

Hoy haciendo un Shell Script me ha surgido la necesidad de hacer un listado de los directorios (y no ficheros) que hay en una determinada ruta.

Al parecer el comando ls no dispone de esta utilidad… cosa que me parece un poco extraña, pero he encontrado un modo de hacerlo con find.

$ find . -maxdepth 1 -type d

Incluso, para más comodidad te puedes hacer un alias:

$ alias lsdirs='find . -maxdepth 1 -type d'

Personalizar el mensaje de bienvenida SSH

A la hora de logearnos en un servidor SSH, éste nos muestra un mensaje, llamado banner de bienvenida, que suele mostrarse antes de pedir la contraseña.

Una vez nos hayamos logeado correctamente, el servidor muestra otro mensaje, que también se puede configurar.

Configuración del banner de bienvenida:

etc-issue.net

$ sudo vi /etc/issue.net

En ese fichero editamos el mensaje, y lo guardamos. A continuación tenemos que editar el siguiente fichero de configuración:

$ sudo vi /etc/ssh/sshd_config

En éste, tenemos que buscar la línea «Banner /etc/issue.net«, y descomentarla, o crearla si no existe.

Configuración del mensaje posterior al logeo satisfactorio:

var-run-motd

Simplemente tenemos que editar el siguiente fichero:

$ sudo vi /var/run/motd

En el que escribiremos el mensaje que queremos que aparezca…

Ahora si queremos que los cambios hechos tengan efecto de inmediato, reiniciamos el servidor SSH.

$ sudo /etc/init.d/ssh restart

Aunque he comprobado que este paso no es necesario.

Activar la cuenta root en (K)Ubuntu

En principio (K)Ubuntu trae por defecto desactivada la cuenta de root, por motivos de seguridad. Además el sistema es completamente funcional ya que para realizar tareas de súperusuario se utiliza «$ sudo comando» y te pide la contraseña de root definida en la instalación.

por ejemplo:

$ sudo apt-get install update

En cualquier caso, para activar la cuenta root (No recomendable) en (K)Ubuntu se hace de la siguiente manera:

$ sudo -u root passwd

ó

$ sudo passwd

A continuación te pedirá el pass del usuario que has creado anteriormente, y después de eso te pedirá el nuevo pass para el root.

Con esto ya estamos en condiciones de hacer «su –» para entrar a nuestra cuenta de root.

Existe además otra forma para ejecutar comandos como root, o mejor dicho, para cambiar al usuario root. Se trata de usar una combinación entre el comando sudo y el comando su. Si los usamos conjuntamente podremos pasar a usuario root sin tener que usar, y ni siquiera conocer, la password de root.

Se usa de este modo:

$ sudo su -

La opción ‘-‘ nos permite adquirir las variables de entorno del usuario root (a veces puede ser importante).

Como curiosidad administrativa, puedes ver un registro de las actividades que se realizan con el comando sudo en /var/log/auth.log, lo cual puede ayudar a administrar tu sistema eficientemente.

Una vez terminadas las tareas que necesitábamos realizar, es conveniente volver a desactivar el super usuario con el flag -l (–lock):

Finalmente, para desactivar (Recomendable) la cuenta de root (súper usuario) con el flag «-l (–lock)» se debe ejecutar lo siguiente:

$ sudo passwd -l root