Una de las configuraciones que más utilizan los administradores de sistemas Linux es la configuración de envío de mail al administrador cuando se detecta un acceso del usuario root al sistema por medio de SSH.
Para ello lo primero que debemos hacer es encontrar un archivo de sistema en entornos Linux que sepamos se ejecuta cada vez que un usuario se conecta, es decir, cada vez que un usuario hace login. Como muchos de vosotros sabréis, ese archivo de sistema en Linux es el archivo oculto .bash_profile. Este fichero es leído y todos los comandos incluidos en él ejecutados cada vez que un usuario se conecta al sistema.
En este fichero podemos indicarle al sistema que cada vez que un usuario se conecte efectúe cierto número de acciones, entre ellas la que queremos configurar en esta ocasión, el envío del mail al administrador.
Como queremos que se envíe cuando se conecte el usuario root, debemos de modificar el fichero .bash_profile correspondiente. Para ello nos conectamos como root y nos dirigimos a al directorio root. Allí editamos .bash_profile con nuestro editor de texto preferido.
En este caso utilizaré nano:
nano /root/.bash_profile
Veremos algo como esto:
#.bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
Al final de nuestra configuración de .bash_profile tenemos que añadir los comandos para que no envíe un mail cada vez que se conecta nuestro usuario root. Para ello escribiremos:
echo ‘ALERTA Acceso shell de Root al servidor (nombre de tu servidor) el :’ `date` `who` | mail -s “Alerta de acceso Root ” admin@tudominio.com
Donde date te da la hora y fecha del acceso y who te dice desde que ip.
Normalmente el archivo .bash_profile suele estar modificado con el comando chattr, para que no pueda ser modificado ni eliminado, es decir, inmutable. Para quitar ese atributo debemos ejecutar antes de modificar el archivo chattr -i /root/.bash_profile.
Por lo que todo resumido sería:
– Login como root.
Comandos:
chattr -i /root/.bash_profile
nano /root/.bash_profile#.bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAMEecho ‘ALERTA Acceso shell de Root al servidor (nombre de tu servidor) el :’ `date` `who` | mail -s “Alerta de acceso Root ” admin@tudominio.com
chattr +i /root/.bash_profile
Con esto la siguiente vez que el usuario root realice un login mediante SSH se enviará un mail al correo del administrador.
Hola, puedo usar cualquier cuenta de correo??? o tengo que instalar el servidor de email en la misma maquina,
gracias,
tienes que tener instalado en la misma maquina un servidor mail :d
buenas tardes.
primero q nada salu2, no soy muy experimentado en linux. Estoy intentando usar estas opciones que colocas para el envio demail cuadno root se conecte de nuevo a un equipo y no tengo ese archivo .bash_profile solo poseo el .bash_history, sin embargo cree el archivo pero me dice que hay errores en la sintaxis sera q m pueden ayudar ??
crea el .bash_profile y le pegas esto al principio del archivo