Comandos Frecuentes Linux Tsares Community

download Comandos Frecuentes Linux Tsares Community

If you can't read please download the document

description

Comandos frecuentes Linux

Transcript of Comandos Frecuentes Linux Tsares Community

Comandos Linux -- Pedir ayuda de cualquier comando man Ejemplo: man grep -- Como particionar el disco para usar Linux -- Verifica, crea, elimina particiones fdisk /dev/hda -- Crea una particion en el disco duro primario mkfs -t ext2 -c /dev/hda1 -t especifica el tipo de particion este caso es ext2 -c checa por sectores def ectuosos antes de formatear -- Tamao recomendado (varia segn para lo que vaya a emplear Linux) /boot 102 a 150 Mb /swap el doble de memoria fisica / (root) el resto del disco Ext3 es mejor = ext2 with journaling -- Varios clear - limpia la pantalla reset - Resetea terminal a los valores por default finger - muestra informacion de usuarios del sistema who - muestra usuarios conectados al sistema actualmente w - muestra quien esta conectado actualmente y sus tareas, sessions sesiones whoami - muestra el nombre del usuario actual id - muestra numeros asociados con tu cuenta de usuario y nombres de grupo date - muestra fecha actual y hora cal - muestra el calendario del mes actual cat - ver contenido de archivos exit - sale del shell actual echo - muestra informacion en la pantalla echo $SHELL muestra el shell actual $ Variable Shell ~ Variable especial home directory (por ejemplo "cd ~" te lleva a /home/usuario & ejecucion de comando en background ejemplo: "nmap -O 192.168.1.1-24 &" ejecuta el comando en el background y puedes siguir teclando comandos ; terminacion de comando < >> Redireccion entrada/salida | pipe para encadenar comandos, ejemplo: "cat archivo.txt | grep nombre" dos com andos combinados *?[] shell wildcards comodines, ejemplo: "ls *.txt" ' " \ Metacaracters comilla ` substitucion de comando () {} agrupacion de comandos --Cancelar la ejecucion de un comando CTRL+C Es decir mantener presionada la tecla control (ctrl), luego presionar la tecla C , despues soltar ambas --Listar archivos ls -l -- mostrar el numero de archivos en un folder o directorio echo *.* | wc-- mostrar el numero de directorios en un folder o directorio echo */ | wc --ver las ultimas 10 lineas de archivos de texto tail si deseas ver mas de 10 lineas ejecuta ejemplo ver ultimas 30 lineas tail -30 para ver los ultimos cambios que va teniendo el archivo, util para ver logs, cor reo, etc tail -f --ver primeras 10 lineas de archivos de texto head si deseas ver mas de 10 lineas ejecuta ejemplo ver las primeras 30 lineas head -30 --Listar solo directorios ls -l|grep ^d ls -p |grep / -- Eliminar folders / directorios tener PRECAUCION con la opcion -rf ya que pued es eliminar algo que no desees mejor asegurate antes de ejecutarlo -- Borrar folders / directorios rm -rf foldername -- borrar folder vacios / directorios vacios rmdir --copia todo el contenido del CD rom al folder install cp -av /mnt/cdrom /install --Buscar texto en archivos con grep ejemplos: grep "spc_eee1.gif" * grep -r -i "textoAbuscar" *.* -r = Recursivo, osea se mete a los subfolders -i = ignora si estan en mayusculas o minusculas --Checar el sistema de inicio cat /etc/inittab --montar un floppy con formato MSDOS mount -t msdos /dev/fd0 /floppy -- montar cd-rom mount cd-rom mount -t iso9660 /dev/cdrom /media/cdrom/ -- montar USB montar disco externo mount /dev/sdb1 /media/usb montar en otro directorio mount /dev/hda2 /home -- montar particion NTFS en linuxmount -t ntfs-3g /dev/sda2 /media/DiscoLocalC -o force -- checar si linux reconocio un disco o un hardware que se acaba de conectar? dmesg dmesg |grep sdb -- descomprimir un archivo con extensin zip tar -xzf [filename] -- descromprimir archivos .zip unzip filename -- listar archivos que se encuentran dentro del archivo zip unzip -l filename --Archivo de configuracion de red para la interfaz eth0 (direccion ip, default g ateway, MAC address, etc) en Fedora En Fedora y Derivados RedHat cat /etc/sysconfig/network-scripts/ifcfg-eth0 En Ubuntu y Derivados Devian cat /etc/sysconfig/network ///////////////// Busqueda de archivos y texto dentro de archivos ////////////// //////////////// --Buscar archivos en todo el disco duro incluyendo unidades montadas Busca archivo de nombre miarchivo.htm find / -name 'miarchivo.htm' Busca archivos que inicien con "log-" ejemplo: log-20100724.log, log-20200725.lo g, etc. find -name 'log-*' Busca archivos cuyo tamao sea mayor a 1000 Kb find -name '*' -size +1000k< -iname busca archivos sin ser sensitivo a mayusculas minusculas -name busca archivos con el nombre siendo sensitivo a matyusculas minusculas. Si buscas por un archivo llamado "MiArchivo" y lo buscas con el siguiente com ando: find / -name miarchivo (no lo encontraras) deberas usar el comando: find / -iname miarchivo o bien find / -name MiArchivo Mas ejemplos en: http://linux.about.com/od/commands/a/blcmdl1_findx.htm -- Para buscar todos los archivos "grandes" mayores a 20 Mb en todo el equipo find / -type f -size +20000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }' -- Buscar archivos grandes o mayores a cierto tamao -- Este comando encontrar los archivos en todo el disco duro que sean mayores a 1 00 Mb find / -size +102400k -- Emplea el siguiente comando para ver los tamaos de los archivos: find / -size +103400k | xargs ls -laAh -- Emplea "find ." para buscar solamente en el directorio actual y ver los tamaos de los archivosfind . -size +103400k | xargs ls -laAh --Para buscar archivos que contengan guiones o signos de puntuacion en el nombre emplea el comando find / -iname ejemplo: find / -iname 'bittorrent*' encontrara archivos con nombres como bittottent-course, bittorrent.mo, bittorr ent-4.4.0, etc Mas info en: http://www.phpman.info/index.php/info/find ver linux wildcards http://www.codecoffee.com/tipsfor/articles/26-1.html --Buscar en todos los archivos *.htm que tengan el texto "wants to contact you" Find ./ -name *.htm |xargs grep "wants to contact you" equivalente en windows find "spc_eee1.gif" *.* --Otro comando para buscar arvhivos es el siguiente aunque el disco duro debe es tar indexado para que funcione correctamente, en caso de no encontrar el archivo buscado, emplear find que no requiere de un indice. locate ///////////////// Busqueda de archivos y texto en archivos /////////////// /////////////// ///////////////// Cambiar Fecha y hora ////////////////////////////// -- cambiar fecha y hora date MMDDhhmmyyyy donde MM = mes DD = dia hh=hora mm= minutos yyyy= ao por ejemplo para poner la fecha y hora a: 9:07pm del 31 de Mayo 2008 date 053121072008 -- Para cambiar la zona horaria (time zone) 1. Para Ubuntu: dpkg-reconfigure tzdata http://webonrails.com/2009/07/15/change-timezone-of-ubuntu-machine-from-com mand-line/ 1.- Firmado como root, verifica que time zone esta usando tu sistema con el coma ndo "date". Veras algo como "Mon 17 Jan 2005 12:15:08 PM PST", PST en este caso es el timezone actual. 2.- Cambia al directorio /usr/share/zoneinfo en este directorio encontraras una lista de regiones de zona horaria (time zone regions) si vives en Canada, Estado s Unidos o Mexico el directorio es "America" 3.- Es buena idea respaldar la anterior configuracion de timezone copiando a una directorio diferente como: mv /etc/localtime /etc/localtime-old4.- Crea un symbolic link desde el timezone apropiado a /etc/localtime. Ejemplo: ln -sf /usr/share/zoneinfo/America/Mexico_City /etc/localtime 5.- Si tienes la utileria rdate, actualiza la hora actual ejecutando: /usr/bin/rdate -s time-a.nist.gov 6.- Configura la entrada de ZONE en el archivo /etc/sysconfig/clock (eje: ZONE=" America/Mexico City") 7.- Configura el reloj del hardware ejecutando: /sbin/hwclock --systohc Pasos basados en: http://www.wikihow.com/Change-the-Timezone-in-Linux -- Para cambiar el TimeZone en Fedora RLEH 5 el comando es: system-config-date ///////////////// Cambiar Fecha y hora ////////////////////////////// --Enviar mensaje a otro usuario mediante comando wall "Nada mas jugando" -- Desactivar la recepcion de mensajes con wall mesg n -- para ver el estado de la recepcion de mensajes mesg is n -- Para enviar un mail desde linea de comando echo "20 minutos para la junta" | /bin/mail -s "Meeting" micorreo@miservidor .com -- compilar un programa en c gcc -o nombreejecutable sourcecode.c -- Kernel version, realese, sistema operativo en Fedora o Red Hat uname -a cat /etc/redhat-release --Checar tipo de procesador uname -m o cat /proc/cpuinfo -- crear imagen .iso de un CD-ROM dd if=/dev/hdc of=/home/username/cdcopy.iso desmontar la unidad de cd rom primerto (ejemplo: umount /dev/hdc) otra opcion de crear imagen .iso es mkisofs mkisofs -r -v -J -l -o /opt/isocopymkiso.iso /media/PIAE_6/ -- Quemar discos desde imagen ISO cdrecord -v -pad speed=1 dev=ATAPI:1,0,0 src.iso Modificar el parametro dev para adaptarlo al tipo de CD ROM que tenga la computa dora en question ///////////////// Bash Shell ///////////// -- Ver el shell actualecho $SHELL -- Ver los shells disponibles cat /etc/shells --Ciclo for para realizar tareas repetitivas ejemplo ping a un rago de IPs desde el shell for i in $(seq 1 1 10); do ping 192.168.16.$i -c 1; done -Otra forma sera [root@supersnort ~]# for i in $(seq 20 -1 1) > do > echo $i > ping 192.168.16.$i -c 1 > done 20 PING 192.168.16.20 (192.168.16.20) 56(84) bytes of data. --- 172.16.4.20 ping statistics --1 packets transmitted, 0 received, 100% packet loss, time 0ms 19 PING 172.16.4.19 (192.168.16.19) 56(84) bytes of data. --Mover archivos uno por uno cuando aparece el error como: -bash: /bin/mv: Argument list too long for i in `find . -name ap\*` do mv $i .. done ///////////////// Bash Shell ///////////// -- Mover muchos archivos por extension en caso de recibir el error: Too many arg uments find . -type f -name "*.txt" -exec mv {} /opt/movehere/ \; --Cambiar extensiones en varios archivos for f in *.htm; do mv $f `basename $f .htm`.html; done; --Para iniciar en modo texto editar el archivo /etc/inittab la linea que dice id:5:initdefault cambiar el 5 por 3. --cambiar el prompt bash PS1="[\t][\u@\h:\w]\$ " //////////// SSH ////////////// -- Para copiar archivos de forma segura entre maquinas linux usando SCP o SFTP Sftp y scp no requieren un demonio dedicado puesto que los dos programas se cone ctan a los servidores sshd. Para poder usar sftp y scp tienes que insertar la siguiente linea en el archivo de configuracion /etc/ssh/sshd_config (RedHat Linux). Subsystem sftp /usr/libexec/openssh/sftp-server scp [opciones] origen destino Ejemplo:-- Copiar un archivo local hacia un host remoto scp archivo-origen usuario@host:directorio/archivo-remoto -- Copiar archivo desde un host remoto scp usuario@host:directorio/archivo-origen archivo-destino -- Si el host remoto esta en un puerto diferente al default de scp que es 22 usa r la opcin -P (port o puerto) scp -P 2222 usuario@host:directorio/archivo-origen archivo-destino -- Copiar todo el folder a un host remoto usar la opcin -r (recursive o recursivo , sea incluir directorios) scp -r directorio-origen usuario@host:directorio-destino -- Copiar todo el contenido de un folder / directorio Copiar todo el directorio local /vmfs/volumes/datastore hacia un equipo remot o con IP 192.168.16.1 Ejemplo: scp -r /vmfs/volumes/datastore/ [email protected]:/vmfs/volumes/ scp -Cpr /var/www/html/images/products [email protected]:/var/www/sites/www .mysitioweb.com/images/products -- Stop ssh detener ssh cd /etc/rc.d/init.d sh sshd stop o bien service sshd stop --Kill SSH sessions - Matar sesiones SSH netstat -tanp (Y localiza las lineas que dicen ESTABLISHED) -t = protocolo TCP -a = all sockets que escuchan y sockets que no escuchan -n = direcciones numericas -p = muestra el nombre y PID del proceso al cual pertenece el socket (requiere permisos de root) -El PID a matar es el que esta en la ltima columna y esta separado por una diagon al ejemplo: tcp 0 1928 ::ffff:192.168.1.69:22 ::ffff:200.52.71.2:22161 ESTABLISHED 29460/ss hd: lmoreno kill 29460 No usar kill -9 si puedes evitarlo. Ya que no siempre permite a los demonios lim piar sus archivos temporales, bloqueos, etc. Usa kill -TERM PID o kill -15 PID -- Para que los usuarios que se queden logeados el sistema los saque en determin ado tiempo o timeout y los usuarios no se queden firmados si no estan usando la terminal En /etc/ssh/sshd_config agregar las lineas ClientAliveInterval 600 ClientAliveCountMax 3 Esto dar un timeout de 30 minutos (600 sec x 3) -- Para cambiar puerto de escucha por default (22) de ssh realizar siguiente: vi /etc/ssh/sshd_config Localiza la siguiente entrada:#Port 22 Cambiar por el nmero de puerto que deseas Port 2995 Reinicia el servicio service sshd reload Prueba el acceso con el nuevo puerto ssh [email protected] -p 2995 Si el puerto continua siendo el 22 an despues de estos cambios puede ser que este s usando xinetd.d si es el caso edita el siguiente archivo y cambia el puerto vi /etc/xinetd.d/sshd Code: service ssh { disable = no socket_type type port protocol wait user server server_args }= = = = = = = =stream UNLISTED 22 tcp no root /usr/sbin/sshd -iCambiar "port = 22" por el nuevo puerto y reinicia el servicio ///////////////// SSH ///////////// -- Procesos --Para ver todos los procesos incluso de otros usuarios ps -al --muestra los procesos y su crontab asociado ps -auxfw -- muestra los procesos que estn consumiendo ms ciclos de procesador top Para salir de top presionar q para ms informacin sobre el comando unar man top -- Procesos -- Permisos de archivos -- Cambiar permisos chmod u+wr,g+wr,o-r chmod 664 read = 4 o 22 write = 2 o 21 execute = 1 o 20 Se asignan de la siguiente forma read/write/execute root/user/group -- Por ejemplo para hacer un archivo ejecutable para todos: chmod 111 -- Para asignar todos los permisos a root chmod 700 -- Para asignar todos los permisos a un archivo chmod 777 -- Para asignar control total a todos los usuarios en una carpeta llamada webdoc incluyendo todos los archivos y todas las subcarpetas chmod 777 -R webdoc/* Donde -R es recursivo es decir se mete a las carpetas y aplica el cambio en s ubcarpetas y archivos dentro de la carpeta raz que en este caso fue webdoc --crear un device file mknod /dev/fd1 b 2 1 --Cambiar owner chown luis /carpeta/archivo chown luis.grupo /carpeta/archivo chgrp grupo /carpeta/archivo -- Permisos de archivos -- Samba para compartir archivos con clientes Windows -- config file /etc/smb.conf /etc/samba/smb.conf en trixbox -- Config basica compartir carpeta [global] workgroup = workgroup server string = trixbox PBX local master = no domain master = no preferred master = no password server = None guest ok = yes guest account = root security = SHARE dns proxy = no [CSrecordings] path = /opt/backup/ guest ok = yes writeable = no create mask = 0777 -- Samba para compartir archivos con clientes Windows --crear un device file mknod /dev/fd1 b 2 1 -- Copiar cd de musica al disco duro yum install cdparanoia cdparanoia 5 track05.wav -- Convertir a mp3 lame track05.wav track05.mp3//////////////////// Comprimir archivos, folders o carpetas /////////////// --listar archivos o el contenido dentro del archivo zip unzip -l nombre-archivo -- Comprimir archivos a formato zip gzip nombrearchivo -- Comprimir directorios, folders, carpetas zip -qq -R archivozip directorio Este comando comprimira todo el contenido del directorio incluyendo los subdir ectorios en el archivo "archivozip" o zip -qq -R archivozip Este comando comprimira todo el contenido del directorio actual incluyendo su bdirectorios qq = (silent o silencioso) R = Recursivo, que incluye los subdirectorios -- Descomprimir el directorio unzip -qq archive -d ruta-directorio Este comando descomprimira o extraera el contenido del archivo dentro de la ru ta indicada en "ruta-directorio" Atencion: Si el archivo es muy grande (Gbyte) esto representa un gran problema p ara linux. Es mucho mejor usar P7ZIP, NO zip, tar, gzip, etc.!! -- Descomprimir archivos formato tar .tar.bz2 tar -xvjf file.tar.bz2 x - extract, v - verbose, j - bzip2, f - file -- Descomprimir archivos .tar tar -xvf foo.tar -- Descromprimir archivos .gz gunzip archivo.gz -- Descromprimir archivos .zip unzip nombre-archivo -- Descomprimir archivos rar instalar unrar con yum yum install unrar luego ejecutar unrar e archivo.rar //////////////////// Comprimir archivos, folders o carpetas ////////////// / -- Activar VNC Server Pasos rapidos Una guia rapida de los pasos necesarios para configurar un escritorio remoto usa ndo VNX en Red Hat Enterprise Linux 4 CentOS y derivados Pon un password con el comando: vncpasswd Editar el archivo /etc/sysconfig/vncserversHabilita el servicio con chkconfig vncserver on Inicia el servicio con service vncserver start Edita el archivo siguiente si deseas una sesion mas avanzada que solo twm y un x term /home/username/.vnc/xstartup -- Activar VNC Server Pasos rapidos --Concatenar archivos en uno solo cat *.csv >> archivoconcatenado.csv -- Ver la historia de comandos ejecutados history --Lista de comandos en el history file del 125 al 130 fc -l 125 130 --Ejecutar comandos del historial history !n Ejemplo para ejecutar el comando 415: !415 --Limpiar historial de comandos o command history history -c o bien editar archivo ~/.bash_history --Desactivar activar SELinux echo 1 >/selinux/enforce otras versiones de linux setenforce 0 #desactivar en Red Hat setenforce 1 #activar en Red Hat --GUI en texto o XWindow- Modificar Firewall system-config-securitylevel -- Crear un alias alias ll='ls -lh --color=tty' Ejemplos alias: alias logseg='less /var/log/secure' alias tlogseg='tail -20 /var/log/secure' --Hacer un alias persistente Poner el comando dentro del archivo .bashrc ejemplo: vi /home//.bashrc incluir la linea de alias en el archivo # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias 174='ssh [email protected]' -- Remover un alias unalias ll--Buscar reemplazar y/o eliminar texto en archivos Este comando busca el string lname,fname y elimina la linea donde se encuentre e n el arvhivo csvfile.csv y crea el archivo noheaders.csv sin dichas lineas. sed -e '/string-aqui/d' /opt/archivo-origen.csv > archivodestino.csv --Archivo para cambiar la resolucion de pantalla /etc/X11/xorg.conf ////////////////// Puertos y servicios asociados /////////////////////// -Ver puertos abiertos http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/security-guide/s1-serverports.html Hay varias formas de ver que puertos estan abiertos: netstat -antp -a todas las conexiones activas puertos numericos -n todas las conexciones activas con nombre de servicio -t tcp -p program lsof -i Otro metodo es usar nmap: nmap -sT -O localhost con el comando anterior veremos un resultado como el siguiente: ******* Starting nmap V. 3.00 ( www.insecure.org/nmap/ ) Interesting ports on localhost.localdomain (127.0.0.1): (The 1596 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 111/tcp open sunrpc 515/tcp open printer 834/tcp open unknown 6000/tcp open X11 Remote OS guesses: Linux Kernel 2.4.0 or Gentoo 1.2 Linux 2.4.19 rc1-rc7) Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds ******* Para identificar el servicio que aparece como unknown (desconocido) ejecuta: cat /etc/services | grep 834 Sin embargo este comando puede no regresar resultados esto indica que mientas el puerto esta en el rango de puertos registrados (0-1024) y requiere permisos de root para ejecutarse, no esta asociado con ningun servicio Pero lo siguiente que se puede hacer es usar netstat o lsof para conocer el uso del puerto netstat -anp | grep 834 lsof -i | grep 834 --Regresa el numero de proceso que esta usando determinada aplicacion pgrep sendmail//////////// Fin puertos y servicios asociados /////////////////////// -- Alias de destinatarios de correo electronico email alias vi /etc/aliases despues de editar este archivo ejecutar el comando, para que se genere el archiv o en formato que sendmail pueda leer newaliases -- Checar la temperatura en laptops y/o equipos que tengan soporte ACPI acpi -t -- Checar si hay link o conexion en la tarjeta de red y a que velocidad se amarr o la tarjeta por default eth0 ethtool eth0 //////////////// IPTABLES //////////////////// -- Archivo de scripts para iptables /etc/sysconfig/iptables --reiniciar iptables service iptables restart --Bloquear un host especifico iptables iptables -I INPUT -s 192.168.16.8 -j DROP --Permitir acceso a un puerto especifico e IPs especificas, bloquear el resto iptables -A INPUT -p tcp --destination-port 22 -m iprange --src-range 192.168. 16.100 -j ACCEPT Despues de agregar la politica reiniciar el servicio "service iptables restart" y probar --src-range puede ser representado como 192.168.16.100-192.168.16.200 --listar reglas iptables activas iptables -L -- Digamos que deseas hacer permitir que un cliente se conecte al servidor FTP p ero solo por un momento o una descarga tienes que modificar tus filtros de iptab les de la siguiente forma: (lo mismo aplicara para otro protocolo SSH puerto 21, http puerto 80, etc) Permitir momentaneamente una IP para que accese al servidor FTP /sbin/iptables -I INPUT -s 200.52.66.116/32 -p tcp --dport 21 -j ACCEPT --Para borrarla despues de las pruebas /sbin/iptables -t filter -D INPUT 1 //////////////// IPTABLES //////////////////// //////////////// Manejo de usuarios //////////////////// ---------------- administracion de usuarios --------------------agregar usuario / crear usuario useradd -- cambiar passwordpasswd Ejemplo: useradd -c "Luis Moreno" morenol -c = campo GECOS el cual es usado regularmente para la descripcion del usuar io passwd mi_password -- Otro ejemplo sin en RedHat, Fedora, /usr/sbin/useradd ir /home/dsantos && embargo varias de las opciones ya son ejecutadas por default CentOS, se recomienda usar el ejemplo anterior -d /home/dsantos -s /bin/bash -c "Dianko Santos" dsantos mkd chown dsantos /home/dsantos && passwd elDiankus--borrar usuario deluser Ejemplo: deluser -r dsantos -r = remueve el directorio home del usuario y el mailbox del usuario --Ver usuarios del sistema cat /etc/passwd --Ver grupos del sistema cat /etc/group --Agregar un grupo groupadd -- Para bloquear un usuario o para desactivar usuario agregar el signo "+" delante de la lnea del usuario en el archivo /etc/passwd -- Para bloquear con el comando passwd passwd -l --Agregar un usuario a un grupo existente Por ejemplo para agregar el usuario luis al grupo secundario/suplementario web c on el comando usermod usermod -a -G web luis -- cambiar el grupo primario de un usuario usermod -g www luis ------------- Manejo de usuarios -------------------------------- Politicas de password --------------------Editar el archivo /etc/login.defs y modificar los parametros al gusto# # # # # # # #Password aging controls: PASS_MAX_DAYS Maximum number of days a password may be used. PASS_MIN_DAYS Minimum number of days allowed between password changes. PASS_MIN_LEN Minimum acceptable password length. PASS_WARN_AGE Number of days warning given before a password expires. En espaol# PASS_MAX_DAYS Numero maximo de dias que un password # PASS_MIN_DAYS Numero minimo de dias permitidos para # PASS_MIN_LEN Numero minimo de caracteres permitidos # PASS_WARN_AGE Numero de dias para envio de un aviso pirar # # Ver ejemplo abajo PASS_MAX_DAYS 60 PASS_MIN_DAYS 0 PASS_MIN_LEN 8 PASS_WARN_AGE 10puede ser usado poder cambiar un password para un password de que el password va a exPara cuentas que fueron creadas sin una politica de passwords el comando "chage" puede ser usado para crear una. Para hacer obligatorio el uso de passwords robu stos, necesitas agregar el modulo pam_cracklib.so al grupo password management e n /etc/pam.conf (o la definicion aplicable en /etc/pam.d) La administracion de p asswords es algo tedioso, pero es una de las tareas mas importantes para reforza r la seguridad de un servidor. Esta al pendiente a los documentos de Tsares donde se explican los pasos para re forzar la seguridad de servidores Linux. ------------------- Politicas de password --------------------//////////////// administracion de usuarios //////////////////// -- Para obtener informacion de DNS, IPs, MX records, etc host -a www.tsares.net -a equivale a -v -t * "query type all" dig any www.tsares.net -any = query type any -- Para hacer un reverse lookup es decir tengo la IP pero quiero saber cual es e l nombre que tiene asignado dig -x ejemplo dig -x 205.178.145.65 -- Extraer CD u otra media desde el shell eject #Sin parametros extraer la media por default que en la mayoria de los cas os es el cdrom eject cdrom #extrae el cdrom -- Servicios que pueden ser desactivados pues regularmente no se usan cups - servicios de impresion en linux - desactivalo si no imprimes en linux autofs - automount para usb drives, floppy's, cdrom's etc. - no lo desactives si quieres que automonte tu flash card, etc apmd - estado de la bateria, puede apagar el sistema si la bateria esta baja desactivalo si no usas una laptop isdn - provee servicios de isdn - desactivalo si no usas isdn para conectarte a otra red Lista con servicios, demonios, procesos, frecuentes y su explicacion: http://www .comptechdoc.org/os/linux/how ... vices.html -- Desactivar un proceso o servicio para que no se ejecute al iniciar el sistema chkconfig off -- Listar servicios activos y apagados del sistemachkconfig --list /////////////////// Servicio Telnet //////////////////////////// -- Instalar servidor telnet (no se recomienda usar telnet ya que es inseguro, me jor utiliza ssh para entrar remotamente a tu sistema Linux yum install telnet-server telnet up2date telnet-server telnet -- Ver y cambiar configuracion telnet vi /etc/xinetd.d/telnet -- Cambiar puerto donde escucha telnet por default (23) al puerto 50005 (o el qu e se desee) /usr/sbin/in.telnetd -debug 50005 -- Desinstalar telnet rpm -q telnet rpm -e telnet /////////////////// Servicio Telnet ////////////////////////////-- Checar si el hash md5 es correcto para un archivo md5sum comparar el resultado con el archivo md5.txt que viene acompanado con el archivo //////////////////// Usando BitTorrent ////////////////////// -- Instala BitTorrent con el comando yum install bittorrent Descarga tu archivo .torrent desde algun sitio como www.isohunt.com, www.bittorr ent.com ejemplo: manuallinux.torrent -- Para comenzar la descarga Ejecuta el comando bittorrent-curse manuallinux.torrent espera un poco para que la descarga inicie y al finalizar presiona la letra "q" ////////////////// Usando BitTorrrent //////////////// //////////// Checar ortografia en Linux ///////////////////// Es posible checar la ortografia de un archivo en Linux con el siguiente procedim iento Primero deberas tener instalado aspell puedes verificarlo simplemente tecleando en la linea de comandos aspell Si recibes el mensaje: Usage: aspell [options] quiere decir que si lo tienes instalado, en caso contrario usa yum para instalar lo en tu sistema algo asi como yum install aspell Si lo tienes instalado por default y tu sistema esta en ingles, descarga el diccionario en espaol ms actualizado ejemplo: wget ftp://ftp.gnu.org/gnu/aspell/dict/es/aspell-es-0.50-2.tar.bz2 Descomprime el archivo e instala tar -xvjf aspell-es-0.50-2.tar.bz2 cd aspell-es-0.50-2 make make install Ahora podrs checar la ortografia de un archivo de texto ejemplo: aspell -c --lang=sp //////////// Checar ortografia en Linux ///////////////////// -- Convertir archivo en formato Windows o DOS con fines de linea CR LF a estilo unix con fines de linea LF tr -d '\r' < archivoDOS > archivoUNIX-LINUX -- Convertir archivo en formato DOS con fines de linea CR LF a estilo unix con f ines de linea LF dos2unix -- Editor Hexadecimal para Red Hat ghex -- Ver archivos en modo Hexadecimal desde la linea de comandos hexdump -C -- Para conectarse remotamente a un servidor Windows que tenga activado remote d esktop o escritorio remoto Instalar rdesktop con yum install rdesktop Para conectarse a un servidor windows de nombre windowssrv con resolucion de pan tall de 1024 x 760 pixeles rdesktop -g 1024x768 windowssvr -- Reparar arranque en equipo dual boot de Windows y Linux - recuperar grub desp ues de instalacion de windows chroot /mnt/ grub-install /dev/sda -- Cambiar el nombre de los sistemas operativos de arranque si el boot loader es grub Editar el archivo menu.1st con el siguiente comando vi /boot/grub/menu.lst En este archivo cambiar de nombre por ejemplo donde dice "Other" que regular mente es Windows ponerle un nombre que desees como Windows Vista o Windows XP -- Password for default keyring Para eliminar la peticion de password cuando envia el siguiente mensaje: "en ter password for default keyring to unlock" Eliminar el archivo .gnome2/keyrings/default.keyring http://www.linux-archive.org/fedora-user/116611-enter-password-default-keyri ng-unlock.html -- En una lista de correos extraer solo el dominio cat lista.txt | cut -d"@" -f2 | sed 's/^/@/'-- Agregar un usuario al archivo sudoers para que pueda ejecutar comandos admini strativos, editar el archivo /etc/sudoers vi /etc/sudoers Si se desea que el usuario pueda ejecutar cualquier comando empleando sudo a gregar la lnea: (pero recuerda que siempre es ms seguro propocionar solo los permi sos mnimos necesarios) lmoreno ALL=(ALL) ALL lmoreno is not in the sudoers file. This incident will be reported. //////////////////////// Direccionamiento IP, Ruteo, arp /////////////////////// /// -- Archivo de configuracion IP estatica (RedHat y derivados como Fedora) vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.0.255 HWADDR=00:0C:29:C8:AA:7C IPADDR=192.168.16.3 NETMASK=255.255.255.0 GATEWAY=192.168.16.1 NETWORK=192.168.16.0 ONBOOT=yes TYPE=Ethernet -- Configuracion para IP dinamica DHCP Configuracion DHCP DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes -- Cambiar IP con el comando ifconfig ifconfig eth0 192.168.1.5 netmask 255.255.255.0 -- Para ver la direccion IP actual de una interfaz ifconfig Por ejemplo, el siguiente comando mostrara la configuracion actual de la primer interfaz de red: ifconfig eth0 -- Cambiar MAC address. MAC Spoofing esta es una tecnica para cambiar la MAC add ress de una tarjeta, muchas veces util para realizar pruebas de seguridad o hack ing Primero dar de baja la interfaz, ejemplo: ifdown eth0 o bien ifconfig eth0 down Posteriormente poner que MAC address deseamos con el comando: ifconfig eth0 hw ether 00:01:02:03:04:05 Finalmente dar de alta la tarjeta nuevamente: ifup eth0 Ahora la tarjeta ya sera reconocida con la MAC address 00:01:02:03:04:05-- direccionamiento IP --- DNS --- Agrear servidores DNS del equipo echo "nameserver 192.168.16.254" >> /etc/resolv.conf vi /etc/resolv.conf nameserver direccionip -- Limpiar los DNS o flush DNS /etc/rc.d/init.d/nscd restart -- DNS --- Ruteo ---Agregar una ruta por default add default route route add default gw 192.168.1.1 http://linux.about.com/od/commands/l/blcmdl8_route.htm --para ver que default gateway asigno el dhcp route -n y buscar la entrada con las letras UG --O bien usar netstat -r y buscar la entrada que diga default -- ver las rutas estaticas del equipo route -n -- agregar una ruta de toda la red y enviarla al dispositivo eth0 (util cuando e sts haciendo hacking como MITM o arp spoofing) route add -net 200.66.81.64 netmask 255.255.255.192 dev eth0 -- Ruteo ---Cuando se cambia una IP o se desea renovar la direccion DHCP se debe dar de ba ja y alta la tarjeta Da de baja la tarjeta eth0 ifdown eth0 Da de alta la tarjeta eth0 ifup eth0 -- ARP --- agregar entrada arp arp -s 200.66.81.110 00:04:23:DC:D9:AC -- verificar entradas arp arp -n http://linux-ip.net/html/ether-arp.html -- ARP --- Cambiar hostname -Editar el archivo /etc/sysconfig/network HOSTNAME= el cambio tomara efecto hasta el siguiente reboot - si pones en /etc/hosts192.168.16.48 el prompt cambia y php reconoce el hostname tambien -- Cambiar hostname --- Realizar un trazado empleando TCP y un puerto en particular por ejemplo puert o 80 (aunque puede ser otro puerto ejemplo puerto 25) traceroute -T -p 80 72.14.213.104 -T = TCP -p = port 80 = puerto (80 HTTP) Mas info en: http://www.linuxcertif.com/man/8/traceroute/40381/ //////////////// Direccionamiento IP, Ruteo, arp ////////////////////// //////////////// Instalacion desinstalacion de programas ///////////////// -- Instalar programas mediante rmp rpm -ivh i = install, v = verbose, h= human Ejemplo: rpm -ivh nessus.rpm -- Muestra si el paquete esta instalado rpm -q "nombredelpaquete" -- Ver que rpms estan instalados por rpm rpm -qa Ejempo: Para ver si esta instalada la aplicacion mysql rmp -qa |grep mysql --Remover desinstalar packages en caso de que tengan dependencias desinstalar pa quetes rpm -e --nodeps php-pear-1.4.9-1.2 rpm -e php-5.1.6-1.2 ------------- instalacion de programas con yum, uso de YUM - Instalar / desinsta lar programas con YUM -------------------- Instalacin de yum en versiones de red hat http://dag.wieers.com/rpm/packages/yum/ --Buscar paquetes descargados con yum desde cierto repositorio tambien llamado r epo o repository rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE}.%{VENDOR}\n"|grep livna | sort -- Para instalar un paquete yum install -- Para buscar un paquete yum search ejemplo yum search yacc -- Para obtener informacion de un paquete yum info net-snmp-utils --Desinstalar paquetes con yum yum remove Cuando no se puede actualizar un paquete por errores en las dependenciasse puede buscar los archivos que causan el problema, luego el paquete que depen de de ese archivo y luego eliminar dicho paquete. Primero localizar el archivo ejemplo locate libdts.so.0 Regresara el path donde se encuentra el archivo, ejemplo: /etc/libdts.so.0 Despues usar yum provides /etc/libdts.so.0 esto es para encontrar que paquete esta haciendo referencia el resultado sera algo como libdca-0.0.5-1.fc7 Finalmente remover dicho paquete yum remove libdca-0.0.5-1.fc7 -- Instalar paquete de un repositorio especifico Deshabilita el repositorio que no quieres que tome ejemplo: yum --disablerepo=extras install paqueteA Para evitar que yum seleccione alguna vez el paqueteA de extras puedes agregar l a siguiente linea a el archivo extras.repo en la carpeta /etc/yum.repos.d/: exclude=paqueteA Tambin hay plugins que pueden controlar que paquetes son seleccionados de que rep ositorios, como yum-protectbase, yum-priorities, y yum-versionlock. -- Instalar paquetes que envian mensaje de que no estn firmados "is not signed" c on yum Para esto hay dos formas: 1. Usar simplemente "rpm -ivh paquete.rpm" (obtendras los siguientes resultados haciendo "yum localinstall package.rpm"); o 2. Editar /etc/yum.conf y cambiar el valor gpgcheck de 1 a 0. -- Instalar otros repositorios como Wieers DAG rpmforge rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0. 3.6-1.el5.rf.i386.rpm http://dag.wieers.com/rpm/FAQ.php#B Instalar EPEL rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.no arch.rp http://fedoraproject.org/wiki/EPEL/FAQ#How_can_I_install_the_packages_from_the_E PEL_software_repository.3F ------------ Otros temas relacionados con yum --------------Desinstalar paquetes con rpm rpm -e --rpms y apt-get para red hat http://dag.wieers.com/rpm/FAQ.php#B -- Si por alguna razon no baja el paquete que quieres instalar con Yum, te envia un error como el siguiente: [Errno 4] IOError: [Errno ftp error] [Errno ftp error] 502 Command REST not allowed by policy. Trying other mirror. no more mirrors to try Descarga el file directamente del link desde el navegador (firefox) y ponlo en la carpeta: /var/cache/yum/updates/packages y ejecuta yum install nuevamente ------------------- Instalacion y uso de YUM ------------------------------------------- Instalacion y reproduccion de archivos de musica mp3, videos y peliculas --------------------Para la reproduccion de videos, mp3, etc y basicamente cualquier necesidad de re produccion necesitas Real Player, VLC y XMMS -- Reproducir mp3 y/o videos --Instalar XMMS rpm -ivh http://rpm.livna.org/livna-release-5.rpm Solo soporte para mp3 yum -y install xmms xmms-mp3 --Instalar xmms con todos los adins yum install xmms* Si lo anterior no funciona instalar: http://www.gurulabs.com/downloads/xmms-mp3-1.2.10-16.i386.rpm -- Tambien puedes instalar Real Player para Linux desde: Con este player puedes reproducir archivos mp3, peliculas .rmvb, etc www.real.co m/linux descarga el rpm e instalalo por ejemplo si el rpm se llama RealPlayer11G OLD.rpm rpm -ivh RealPlayer11GOLD.rpm -- Para instalar VLC Ve a la pagina http://www.videolan.org/vlc/ y selecciona tu sistema operativo po r ejemplo Fedora y ejecuta los siguientes comandos: su - rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release -stable.noarch.rpm yum install vlc yum install mozilla-vlc (opcional) ---------------- Instalar Firefox -----------------Instalar firefox descargar la ultima version y ejecutar el comando para descomprimir .tar.gz o .t gz tar -xzvf nombrearchivo.tar.gz x = extract, z = gzip, v = verbose, f = file --Mozilla directory /usr/lib/firefox-1.5.0.1/plugins --Crear linkname para llama en firefox ln -s /usr/java/jre1.5.0_06/plugin/i386/ns7/libjavaplugin_oji.so . ---------------- Instalar Firefox ------------------------------- Instalar Flash Player ---------------Los siguientes pasos describen como instalar Flash Player para Fedora pero debefuncionar con pocos cambios para otras versiones El primer paso es ir al sitio de Adobe: http://get.adobe.com/flashplayer y selec cionar la opcion "YUM for Linux" y despues dar click en Download, Ahora instala el RPM que acabas de descargar con el comando: rpm -ivh adobe-release-i386-1.0-1.noarch.rpm (el nombre del archivo puede varia r) Una vez instalado el RPM ejecuta el siguiente comando: su -c 'yum install flash-plugin alsa-plugins-pulseaudio libcurl' Ahora cierra Firefox si estaba abierto y vuelvelo a abrir Para probar abre www.youtube.com y podras ver cualquier video Para mas informacion y opciones de instalacion para 64 bits ve a: http://fedoraproject.org/wiki/Flash ---------------- Instalar Flash Player ------------------------------- Instalar Java para Firefox -----------------Instalar Java descargar self extracting rpm mover archivo a /usr/java por ejemplo y hacerlo ejecutable, ejecutar archivo para que se descomprima e instale. --Java directory /usr/java/jre1.5.0_06 --Crear linkname para llama en firefox ln -s /usr/java/jre1.5.0_06/plugin/i386/ns7/libjavaplugin_oji.so . ---------------- Instalar Java para Firefox -----------------Instalar Java descargar self extracting rpm mover archivo a /usr/java por ejemplo y hacerlo ejecutable, ejecutar archivo para que se descomprima e instale. --Java directory /usr/java/jre1.5.0_06 ---------------- Instalar Firefox -----------------Instalar firefox descargar la ultima version y ejecutar el comando para descomprimir .tar.gz o .t gz tar -xzvf nombrearchivo.tar.gz x = extract, z = gzip, v = verbose, f = file --Mozilla directory /usr/lib/firefox-1.5.0.1/plugins --Crear linkname para llama en firefox ln -s /usr/java/jre1.5.0_06/plugin/i386/ns7/libjavaplugin_oji.so . ---------------- Instalar Firefox ---------------------------------- Reproduccion de archivos de musica mp3, videos y pelic ulas ------------------------instalar ndiswrapper fc5hiyum -y install kmod-ndiswrapper --Instalar client de FTP Cliente yum -y install gftp Una vez instalado para ejecutarlo solo escribe "gftp" en la linea de comandos. --Instalar ambiente grafico gnome yum groupinstall "gnome" --Instalacion desde codigo fuente entrar al directorio donde se encuentra el cod igo fuente con cd /nombredelDirectorio ./configure make make install --Instalar ntop http://www.howtoforge.com/network_monitoring_with_ntop ------------------- OpenOffice -------------------Para instalar diccionario en espanol ir a la siguiente pagina: http://wiki.services.openoffice.org/wiki/Dictionaries Descargar el archivo llamado DicOOo.sxw Dar doble click y aceptar la advertencia de ejecutar macros Seguir las instrucciones para descargar el diccionario que se desee --------------------