¿Qué es CentOS?
CentOS Linux es una distribución mantenida por la comunidad y derivada de los paquetes fuentes
liberados al público por Red Hat para Red Hat Enterprise Linux (RHEL). De tal forma, CentOS Linux
está enfocado en ser operacionalmente compatible con RHEL. El Proyecto CentOS principalmente
cambia paquetes para eliminar las marcas comerciales y trabajos artísticos de Red Hat. La
redistribución de CentOS Linux es libre y no hay que pagarlo. Cada versión de CentOS es
mantenida por 10 años (por medios de actualizaciones de seguridad -- la duración de los intervalos
de mantenimiento han variado a lo largo del tiempo con relación a los paquetes fuentes
liberados). Una versión nueva de CentOS es liberada aproximadamente cada 2 años y cada versión
de CentOS es periódicamente actualizada (cada 6 meses) para incorporar nuevo hardware. Esto
resulta en un entorno Linux seguro, de bajo mantenimiento, confiable, predecible y reproducible.
Lo siguiente es la recopilación de algunos comandos básicos, de la distribución CentOS.
Para visualizar las particiones que tenemos en nuestro disco:
#df -h
Realizar verificación del un disco o partición, requiere que antes se desmonte:
#umount <la ubicación del disco>
#fsck -fy <la ubicación del disco>
Ejemplo:
#fsck -fy /dev/sda2
Nota: Podemos ver otras opciones dando el comando fsck –help
Para dar formato a una particion podemos utilizar el siguiente comando (suponiendo que como
sistema de archivos vamos a asigarle un EXT3):
#mkfs.ext3 <la ubicación del disco>
Ejemplo:
#mkfs.ext3 /dev/sda1
Se encuentran también disponibles las siguientes herramientas para asignación de formato:
mkfs.ext2
mkfs.vfat (fat32)
mkfs.msdos (fat16)
mkswap
Si necesitamos dar formato de bajo nivel, asignando ceros a cada uno de los sectores:
#dd if=/dev/zero of=<la ubicacion del disco>
Ejemplo:
#dd if=/dev/zero of=/dev/sda
Para mirar que procesos están utilizando que particiones:
lsof
Para ver la versión y otra información de nuestro Kernel:
#uname -a
Crear usarios y asignar contraseñas:
#useradd <nombre del usuario>
#passwd <nombre del usuario>
Para borrar un usuario:
#userdel <nombre del usuario>
Si se desea borrar el usuario y todos los archivos contenidos, dentro de la sesión lo hacemos así:
#userdel -r <nombre del usuario>
Para agregar grupos:
#groupadd <nombre del grupo>
Asignar un usuario a un grupo existente:
#gpasswd -a <usuario> <grupo>
Mirar valores predefinidos para un usuario, tales como: Grupo al que pertenece, fecha de
expiracion de cuentas etc:
#nano /etc/default/useradd
Para utilizar los manuales de los mandatos:
#man <mandato>
Ejemplo:
man ls
Nota: Para salir de la utilidad man debemos presionar la letra q. Para buscar algo dentro del
manual utilizamos el carácter /
Para verificar si tenemos ipv6 habilitado:
#cat /proc/sys/net/ipv6/conf/all/disable_ipv6
Exportar Sbin a un usuario
#export PATH=/sbin:$PATH
Nota: 0 significa que está habilitado y el 1 de deshabilitado
Para mirar que numero de proceso está utilizando una determinada aplicación:
Nota: Como ejemplo voy a mirar que numero de proceso está utilizando dhclient:
#nano /var/run/dhclient.pid
Borrar logs, en el ejemplo borraremos los logs de apache:
#echo ” ” > /var/log/apache2/access.log
Bajar compiladores:
#yum install gcc gcc-c++ kernel-devel
Permitir en VMware a nuestra tarjeta de red, para que podamos ponerla en modo promiscuo,
desde el usuario root digitamos:
#chmod a+rw /dev/vmnet0
COMANDOS RPM
Verificar paquetes en los repositorios:
#yum search <nombre del paquete>
Consultar información acerca de un paquete:
#yum info <nombre del paquete>
Eliminar paquetes:
#yum remove <nombre del paquete>
Verificar que paquetes hay disponibles en los repositorios:
#yum list available | less
Mostrar todos los paquetes instalados en el sistema:
#yum list installed | less
Verificar que paquetes pueden ser actualizados:
#yum list updates | less
Hacer limpieza de los datos que están almacenados en /tmp:
#yum clean all
Reconstruir la base de datos de los RPM:
#rpm –rebuilddb
Verificar si un paquete en especifico está instalado:
#rpm -q <nombre del paquete>
Si además queremos tener información más técnica o especifica del paquete, ejecutamos:
#rpm -qi <nombre del paquete>
Mirar que componentes se han instalado con un paquete:
#rpm -ql <nombre del paquete>
Mirar en orden cronológico de más nuevo a más viejo, que paquetes están instalados:
#rpm –qa –last | less
Verificar si un paquete ha sido alterados, o eliminados:
#rpm –V <nombre del paquete>
Verificar si las firmas digitales de un paquete RPM no están corruptas, podemos ejecutar el
siguiente comando:
#rpm –K <nombre del paquete>
Para instalar un RPM, verificar el estado de la instalación, y mostrarla detalladamente:
#rpm -ivh <nombre del paquete>
Si se requiere forzar la instalación o reinstalación de un paquete lo hacemos con:
#rpm -ivh –force <nombre del paquete>
Verificar las dependencias de un paquete:
#rpm –qp –requires <nombre del paquete>
Para recuperar permisos originales de un paquete o directorio a través de RPM:
#rpm –setperms <nombre de paquete>
Comando para verificar servicios, también sirve para activarlos o desactivarlos:
#chkconfig –list ——> Lista los servicios que están corriendo
#chkconfig mysqld on —> Habilita el servicio de mysqld
Para eliminar un usuario y eliminar todos los ficheros y directorios ligado a él debe ejecutarse el
siguiente comando:
#userdel –r exxteban
Creación de grupos:
#groupadd –r <nombre del grupo>
Eliminar grupo:
#groupdel <nombre del grupo que vamos a eliminar>
Asignar un usuario a un grupo:
#gpasswd –a <nombre de usuario> <nombre del grupo>
Los valores por defecto que se crean al configurar un nuevo usuario con el comando userdd se
encuentran en la ruta /etc/default/useradd
Veamos cómo evitar que un usuario pueda ingresar a una consola o terminal, y fuera de esto,
que le aparezca un mensaje de advertencia:
• Despues de creado el usuario entramos a /etc/passwd, y luego buscamos el usuario en las líneas
que normalmente debería aparece /bin/bash, ponemos /sbin/nologin.
• A continuación creamos el fichero /etc/nologin.txt, y allí ponemos el mensaje que deseemos:
#nano /etc/nologin.txt
Ingresamos el texto que queremos que se imprima en la pantalla, el usuario intentar acceder a una
terminal, y listo, esto no interfiere en nada en el resto de servicios, como correo, internet, FTP etc.
Buscar solo las líneas que contengan la palabra “root”dentro del fichero /etc/crontab:
cat /etc/crontab | grep root
Si queremos mostrar todo menos la palabra “root”, lo hacemos con el siguiente comando:
cat /etc/crontab | grep-v “root”
Comando chattr – Este comando es bastante útil para implementar en servidores syslog.
Podemos hacer que determinado fichero o directorio sea inmutable, ósea que no se pueda
eliminar, ni modificar, con el siguiente comando
Chattr +i fichero.txt
Si queremos deshacer los cambios lo hacemos con:
Chattr –i fichero.txt
CONFIGURACION DE IP VIRTUALES
Debemos crear un Nuevo fichero de la siguiente forma, y en la siguiente ruta:
vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
De esta forma estamos creando una interfaz virtual en la eth0 que seria la tarjeta de red real, es
algo muy parecido a las subinterfaces que configuramos en un router.
Para hacer permanente la interfaz de red virtual en eth0:
0 utilice un editor de texto el fichero
/etc/sysconfig/network-scripts/ifcfg-eth0:0 y ponga el siguiente contenido (¡Respete
mayúsculas y minúsculas!):
DEVICE=eth0:0
IPADDR=192.168.1.101
NETMASK=255.255.255.0
Desactivar IPV6 si no es necesario:
#vi /etc/modprobe.conf
Deshabilitamos los siguientes parámetros:
alias ipv6 off
alias net-pf-10
Comando para verificar si el cable de red está realmente conectado a una interfaz:
#ethtool eth0 | grep “Link detected”
Hacer un dhcp-release en LINUX:
#dhclient –r
Definir servidor DNS, manualmente:
#echo “nameserver <di rip del server>” > /etc/resolv.conf
Verificar si hay resolución de nombres de dominio:
#host www.google.com