P

piruo7

Usuario (Argentina)

Primer post: 16 nov 2011
27
Posts
1497
Puntos totales
307
Comentarios
Listado de comandos para el gestor de paquetes apt
Listado de comandos para el gestor de paquetes apt
LinuxporAnónimo12/2/2011

Hola a todos bueno como dice el titulo del post hoy les voy a dejar un listado de comandos para el gestor de paquetes "apt"# Instala paquete.apt-get install paquete # Busca paquetes. apt-cache search cadena de caracteres # Actualiza la lista de paquetes.apt-get update # Descripción máxima de paquete.apt-cache show paquete # Muestra dependencias.apt-cache depends paquete # Cambio a la rama testing.apt-get install /testing # Cambio a la rama inestable.apt-get install /unstable # Borra paquete. Deja ficheros de configuración.apt-get remove paquete # Borra paquete y fichero de configuración.apt-get remove –purge paquete # Actualiza paquete.apt-get upgrade paquete # Actualiza todos los paquetes de la distro.apt-get dist-upgrade paquete # Descargar código fuente. apt-get source paquete # Descargar fuente y compilarlo automáticamenteapt-get -b source paquete # Elimina versiones anteriores. apt-get autoclean paquete Espero que les sea util...

28
14
C
Comando Linux nast: descubre quién comparte tu red
LinuxporAnónimo1/20/2012

Hola amigos hoy les voy a dejar una pequeña guia sobre NAST "Network Analyzer Sniffer Tool" este comando nos ayuda a averiguar quienes estan conectados a nuestra red inalambrica.Ok empecemos.Nast está disponible en los repositorios de la familia Debian, también en los de Gentoo. Si quieres probarlo en otra distro, es posible que debas descargar y compilar las fuentes, aunque con un poco de dificultad debido a las depedencias. Esto es algo de lo que Nast puede hacer por ti:Hacer una lista de hosts conectados en tu LAN, utilizando el protocolo ARP.Seguir flujos de datos TCP, para imprimir los datos contenidos en una conexión definida por la tupla (IP origen, puerto origen, IP destino, puerto destino).Encontrar los equipos que nos dan paso a internet (gateways).Conocer el tipo de enlace (hub o switch), usando el protocolo ICMP.Escanear puertos parcialmente. Es decir, sin realizar la conexión completa, pero suficiente para saber de qué puerto se trata.InstalaciónVerás que Nast depende principalmente de la biblioteca libnet. En Debian y similares:$ sudo apt-get install nast¿Quién está en mi LAN?Es muy fácil saberlo con Nast.$ nast -m¿Dónde hay un gateway?No es más difícil responder. Nast muestra los candidatos y un Yep! cuando llegó al otro lado de la red por ese equipo.$ nast -gEspero que les sirva la info...

43
0
T
Top de las 21 mejores herramientas de monitoreo del rendimie
LinuxporAnónimo9/27/2012

Top de las 21 mejores herramientas de monitoreo del rendimiento y depuracion Linux. 1. SAR Instalacion: apt-get install sysstat Uso de la utilidad sar puedes hacer dos cosas: 1) Monitor de rendimiento del sistema en tiempo real (CPU, memoria, E / S, etc) 2) Recoger datos de rendimiento en el fondo en una base en curso y hacer un análisis de los datos históricos para identificar cuellos de botella. Sar es parte del paquete sysstat. Las siguientes son algunas de las cosas que puedes hacer con la utilidad sar. Uso de la CPU colectiva Estadísticas individuales del CPU Memoria usada y disponible El espacio de intercambio utilizado y disponible Actividades de E/S del sistema en general Actividades individuales de dispositivos de E/S Estadísticas de cambio de contexto Ejecutar cola y cargar los datos promedios Estadísticas de red Informe de datos SAR de un tiempo específico y mucho más .. El siguiente comando sar mostrará las estadísticas de la CPU del sistema 3 veces (con un intervalo de 1 segundo). El siguiente comando "sar-b" informa de I/O estadísticas. "1 3" indica que el sar-b se ejecutará por cada 1 segundo para un total de 3 veces $ sar -b 1 3 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 01:56:28 PM tps rtps wtps bread/s bwrtn/s 01:56:29 PM 346.00 264.00 82.00 2208.00 768.00 01:56:30 PM 100.00 36.00 64.00 304.00 816.00 01:56:31 PM 282.83 32.32 250.51 258.59 2537.37 Average: 242.81 111.04 131.77 925.75 1369.90 2. Tcpdump tcpdump es un analizador de paquetes de red. Utilizando tcpdump puede capturar los paquetes y analizar para ver si existen cuellos de botella de rendimiento. El siguiente ejemplo muestra el comando tcpdump paquetes capturados en ASCII. $ tcpdump -A -i eth0 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 14:34:50.913995 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 1457239478:1457239594(116) ack 1561461262 win 63652 E.....@.@..]..i...9...*.V...]...P....h....E...>{..U=...g. ......G..7+KA....A...L. 14:34:51.423640 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 116:232(116) ack 1 win 63652 E.....@[email protected]...*.V..*]...P....h....7......X..!....Im.S.g.u:*..O&....^#Ba... E..(R.@.|.....9...i.*...]...V..*P..OWp........ Utilizando tcpdump puede capturar paquetes basados en varias condiciones personalizadas. Por ejemplo, la captura de paquetes que fluyen a través de un puerto en particular, la captura de comunicación TCP entre dos hosts específicos, capturar los paquetes que pertenecen a un tipo de protocolo específico, etc 3. Nagios Instalacion: apt-get install nagios3 Nagios es una solución de código abierto de seguimiento que puede controlar casi cualquier cosa en su infraestructura de TI. Por ejemplo, cuando un servidor se cae, puede enviar una notificación a su equipo de administración de sistemas, cuando una base de datos se cae lo posible la página de su equipo de DBA, cuando el servidor web de una baja se puede notificar al equipo adecuado. También puede ajustar el nivel de advertencia y crítico umbral para varios servicios para ayudarle a resolver el problema de manera proactiva. Por ejemplo, se puede notificar equipo sysadmin cuando una partición de disco se llena al 80%, lo que dará tiempo suficiente para que el administrador de sistemas pueda trabajar en la adición de más espacio antes de que el asunto se vuelve crítico. Nagios también tiene una interfaz de usuario muy buena desde donde se puede controlar el estado de su infraestructura de TI en general. Las siguientes son algunas de las cosas que usted puede controlar usando Nagios: Cualquier tipo de hardware (servidores, switches, routers, etc) Servidores Linux y servidores Windows Bases de datos (Oracle, MySQL, PostgreSQL, etc) Varios servicios que se ejecutan en su sistema operativo (sendmail, nis, nfs, ldap, etc) Servidores Web La aplicación personalizada etc. 4. iostat iostat informa sobre CPU, disco I/O, y las estadísticas NFS. Los siguientes son algunos de los ejemplos de comandos iostat. Iostat sin ningún argumento muestra información sobre el uso de CPU y E/S de información sobre todas las particiones del sistema como se muestra a continuación. $ iostat Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011 avg-cpu: %user %nice %system %iowait %steal %idle 5.68 0.00 0.52 2.03 0.00 91.76 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 194.72 1096.66 1598.70 2719068704 3963827344 sda1 178.20 773.45 1329.09 1917686794 3295354888 sda2 16.51 323.19 269.61 801326686 668472456 sdb 371.31 945.97 1073.33 2345452365 2661206408 sdb1 371.31 945.95 1073.33 2345396901 2661206408 sdc 408.03 207.05 972.42 513364213 2411023092 sdc1 408.03 207.03 972.42 513308749 2411023092 Por defecto iostat muestra los datos de E / S para todos los discos disponibles en el sistema. Para ver las estadísticas de un dispositivo específico (por ejemplo, / dev / sda), utilice la opción-p, como se muestra a continuación. $ iostat -p sda Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011 avg-cpu: %user %nice %system %iowait %steal %idle 5.68 0.00 0.52 2.03 0.00 91.76 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 194.69 1096.51 1598.48 2719069928 3963829584 sda2 336.38 27.17 54.00 67365064 133905080 sda1 821.89 0.69 243.53 1720833 603892838 5. mpstat mpstat reporta estadísticas de procesadores. Los siguientes son algunos de los ejemplos de comandos mpstat. Opción-A muestra, toda la información que puede ser mostrada por el comando mpstat como se muestra a continuación. Esto es realmente equivalente a "mpstat-I ALL-u-P ALL" comando $ mpstat -A Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011 _x86_64_ (4 CPU) 10:26:34 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 10:26:34 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.99 10:26:34 PM 0 0.01 0.00 0.01 0.01 0.00 0.00 0.00 0.00 99.98 10:26:34 PM 1 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98 10:26:34 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10:26:34 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10:26:34 PM CPU intr/s 10:26:34 PM all 36.51 10:26:34 PM 0 0.00 10:26:34 PM 1 0.00 10:26:34 PM 2 0.04 10:26:34 PM 3 0.00 10:26:34 PM CPU 0/s 1/s 8/s 9/s 12/s 14/s 15/s 16/s 19/s 20/s 21/s 33/s NMI/s LOC/s SPU/s PMI/s PND/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s 10:26:34 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 7.47 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:26:34 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4.90 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:26:34 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 3.32 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:26:34 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0. mpstat Opción-P ALL, muestra todas las CPU individual (o núcleos), junto con sus estadísticas, como se muestra a continuación. $ mpstat -P ALL Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011 _x86_64_ (4 CPU) 10:28:04 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 10:28:04 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.99 10:28:04 PM 0 0.01 0.00 0.01 0.01 0.00 0.00 0.00 0.00 99.98 10:28:04 PM 1 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98 10:28:04 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10:28:04 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 6. vmstat vmstat informa las estadísticas de memoria virtual. Los siguientes son algunos de los ejemplos de comandos vmstat. vmstat por defecto se mostrará el uso de la memoria (incluyendo swap) como se muestra a continuación. $ vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 305416 260688 29160 2356920 2 2 4 1 0 0 6 1 92 2 0 Para ejecutar vmstat cada 2 segundos durante 10 veces, haga lo siguiente. Después de ejecutar 10 veces, se detendrá automáticamente. $ vmstat 2 10 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 537144 182736 6789320 0 0 0 0 1 1 0 0 100 0 0 0 0 0 537004 182736 6789320 0 0 0 0 50 32 0 0 100 0 0 .. iostat y vmstat forman parte de la utilidad sar. Usted debe instalar el paquete sysstat para obtener iostat y de trabajo vmstat. 7. Comando Ps Proceso es una instancia de ejecución de un programa. Linux es un sistema operativo multitarea, que significa que más de un proceso puede estar activo a la vez. Utilice el comando ps para averiguar qué procesos se están ejecutando en el sistema. ps comando también le dan mucha información adicional sobre el proceso en ejecución que le ayudará a identificar los cuellos de botella en el sistema. Los siguientes son algunos ejemplos de comandos ps. Use la opción-u para mostrar el proceso que pertenece a un usuario específico. Cuando tienes nombre de usuario múltiple, sepárelos mediante una coma. El siguiente ejemplo muestra todo el proceso que son propiedad del usuario wwwrun o sufijo. $ ps -f -u wwwrun,postfix UID PID PPID C STIME TTY TIME CMD postfix 7457 7435 0 Mar09 ? 00:00:00 qmgr -l -t fifo -u wwwrun 7495 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 7496 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 7497 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 7498 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 7499 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 10078 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 10082 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf postfix 15677 7435 0 22:23 ? 00:00:00 pickup -l -t fifo -u El siguiente ejemplo muestra el ID de proceso y comandos en una jerarquía. --forest es un argumento para el comando ps que muestra el arte ASCII del árbol de procesos. A partir de este árbol, podemos identificar cuál es el proceso primario y los procesos hijo se bifurca de manera recursiva. $ ps -e -o pid,args --forest 468 _ sshd: root@pts/7 514 | _ -bash 17484 _ sshd: root@pts/11 17513 | _ -bash 24004 | _ vi ./790310__11117/journal 15513 _ sshd: root@pts/1 15522 | _ -bash 4280 _ sshd: root@pts/5 4302 | _ -bash 8. Free El comando free muestra información sobre la memoria física (RAM) y el swap del sistema. En el siguiente ejemplo, la memoria física total en este sistema es de 1 GB. Los valores que se muestran a continuación están en KB. # free total used free shared buffers cached Mem: 1034624 1006696 27928 0 174136 615892 -/+ buffers/cache: 216668 817956 Swap: 2031608 0 2031608 El siguiente ejemplo muestra la memoria total del sistema incluyendo RAM y Swap. En el siguiente comando: Las opción m muestra los valores en MB La opción t muestra el "Total", que es la suma de los valores de la memoria física y swap. La opción o para ocultar la línea buffers/cache del ejemplo anterior. # free -mto total used free shared buffers cached Mem: 1010 983 27 0 170 601 Swap: 1983 0 1983 Total: 2994 983 2011 9. TOP Comando top muestra todo el proceso que se ejecuta en el sistema ordenado por ciertas columnas. Esto visualiza la información en tiempo real. Usted puede matar a un proceso desde la parte superior. Una vez que haya localizado un proceso que debe ser asesinado, pulsar la tecla "k", que le pedirá el identificador de proceso (PID), y la señal para enviar. Si usted tiene el privilegio de matar a ese PID particular, se matan con éxito. PID to kill: 1309 Kill PID 1309 with signal : PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent 5136 root 16 0 38040 14m 9836 S 0 0.2 0:00.39 nautilus Usar top-u para mostrar un procesos específicos de usuarios sólo en la salida del comando top. $ top -u geek Mientras comando unix top se está ejecutando, pulse u que le pedirá el nombre de usuario como se muestra a continuación. Which user (blank for all): geek PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent 10. pmap Comando pmap muestra el mapa de memoria de un proceso dado. Tiene que pasar el pid como argumento al comando pmap. El siguiente ejemplo muestra el mapa de memoria de la shell bash en curso. En este ejemplo, 5732 es el PID del shell bash. $ pmap 5732 5732: -bash 00393000 104K r-x-- /lib/ld-2.5.so 003b1000 1272K r-x-- /lib/libc-2.5.so 00520000 8K r-x-- /lib/libdl-2.5.so 0053f000 12K r-x-- /lib/libtermcap.so.2.0.8 0084d000 76K r-x-- /lib/libnsl-2.5.so 00c57000 32K r-x-- /lib/libnss_nis-2.5.so 00c8d000 36K r-x-- /lib/libnss_files-2.5.so b7d6c000 2048K r---- /usr/lib/locale/locale-archive bfd10000 84K rw--- [ stack ] total 4796K pmap -x gives some additional information about the memory maps. $ pmap -x 5732 5732: -bash Address Kbytes RSS Anon Locked Mode Mapping 00393000 104 - - - r-x-- ld-2.5.so 003b1000 1272 - - - r-x-- libc-2.5.so 00520000 8 - - - r-x-- libdl-2.5.so 0053f000 12 - - - r-x-- libtermcap.so.2.0.8 0084d000 76 - - - r-x-- libnsl-2.5.so 00c57000 32 - - - r-x-- libnss_nis-2.5.so 00c8d000 36 - - - r-x-- libnss_files-2.5.so b7d6c000 2048 - - - r---- locale-archive bfd10000 84 - - - rw--- [ stack ] -------- ------- ------- ------- ------- total kB 4796 - - - Para visualizar la información del dispositivo de 'pamp-d pid "el uso proceso mapas. 11. Netstat Comando Netstat muestra información relacionada con varias redes, tales como conexiones de red, tablas de encaminamiento, estadísticas de la interfaz, conexiones de disfraces, membresías multicast, etc Los siguientes son algunos ejemplos de comandos netstat. Listar todos los puertos (tanto escuchar y no escuchar) utilizando netstat-a, como se muestra a continuación. # netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:30037 *:* LISTEN udp 0 0 *:bootpc *:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket Utilice el comando siguiente netstat para averiguar en qué puerto se está ejecutando un programa. # netstat -ap | grep ssh (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 1 0 dev-db:ssh 101.174.100.22:39213 CLOSE_WAIT - tcp 1 0 dev-db:ssh 101.174.100.22:57643 CLOSE_WAIT - Utilice el siguiente comando netstat para averiguar qué proceso está utilizando un puerto en particular. # netstat -an | grep ':80' 12. IPTraf Instalacion: apt-get install iptraf IPTraf es un programa informático basado en consola que proporciona estadísticas de red.1 Funciona recolectando información de las conexiones TCP, como las estadísticas y la actividad de las interfaces, así como las caídas de tráfico TCP y UDP. Se encuentra disponible en sistemas operativos GNU/Linux. Además de un menú de opciones a pantalla completa, IPTraf posee las siguientes características: Monitor de tráfico IP que muestra información del tráfico de la red. Estadísticas generales de las Interfaces. Módulo de estadísticas de LAN que descubre hosts y muestra datos sobre su actividad. Monitor TCP, UDP que muestra la cuenta de los paquetes de red para las conexiones de los puertos de aplicaciones. Utiliza el "raw socket interface" que lleva el kernel permitiendo ser usado por un amplio rango de "tarjetas de red". Aca les dejo un link donde pueden descargar un buen manual para empezar a utilizar iptraf. 13. strace Strace se utiliza para depurar y solucionar problemas de la ejecución de un ejecutable en entorno Linux. Se muestra el sistema de llamadas que utiliza el proceso, y las señales recibidas por el proceso. Strace controla las llamadas al sistema y las señales de un programa específico. Es útil cuando no se dispone del código fuente y desea depurar la ejecución de un programa. strace le proporciona la secuencia de ejecución de un binario de principio a fin. Traza llama un sistema específico en un ejecutable usando la opción-e Por defecto, strace muestra todas las llamadas al sistema para el ejecutable suministrado. El siguiente ejemplo muestra la salida de strace para el comando ls de Linux. $ strace ls execve("/bin/ls", ["ls"], [/* 21 vars */]) = 0 brk(0) = 0x8c31000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb78c7000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=65354, ...}) = 0 Para mostrar sólo una llamada al sistema específico, utilice la opción strace-e, como se muestra a continuación. $ strace -e open ls open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libselinux.so.1", O_RDONLY) = 3 open("/lib/librt.so.1", O_RDONLY) = 3 open("/lib/libacl.so.1", O_RDONLY) = 3 open("/lib/libc.so.6", O_RDONLY) = 3 open("/lib/libdl.so.2", O_RDONLY) = 3 open("/lib/libpthread.so.0", O_RDONLY) = 3 open("/lib/libattr.so.1", O_RDONLY) = 3 open("/proc/filesystems", O_RDONLY|O_LARGEFILE) = 3 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3 open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3 14. lsof Lsof es sinónimo de ls archivos abiertos, en el que figurarán todos los archivos abiertos en el sistema. Los archivos abiertos incluyen la conexión de red, dispositivos y directorios. La salida del comando lsof tendrá las siguientes columnas: COMMAND nombre del proceso. PID proceso de identificación USER Nombre de usuario FD descriptor de fichero TYPE tipo de nodo del archivo DEVICE número de dispositivo SIZE El tamaño del archivo NODE Número de nodo NAME Ruta completa del nombre del archivo. Para ver todos los archivos abiertos del sistema, ejecute el comando lsof sin ningún parámetro, como se muestra a continuación. # lsof | more COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME init 1 root cwd DIR 8,1 4096 2 / init 1 root rtd DIR 8,1 4096 2 / init 1 root txt REG 8,1 32684 983101 /sbin/init init 1 root mem REG 8,1 106397 166798 /lib/ld-2.3.4.so init 1 root mem REG 8,1 1454802 166799 /lib/tls/libc-2.3.4.so init 1 root mem REG 8,1 53736 163964 /lib/libsepol.so.1 init 1 root mem REG 8,1 56328 166811 /lib/libselinux.so.1 init 1 root 10u FIFO 0,13 972 /dev/initctl migration 2 root cwd DIR 8,1 4096 2 / skipped.. Para ver los archivos abiertos por un usuario específico, utilice lsof-u opción para mostrar todos los archivos abiertos por un usuario específico. # lsof -u ramesh vi 7190 ramesh txt REG 8,1 474608 475196 /bin/vi sshd 7163 ramesh 3u IPv6 15088263 TCP dev-db:ssh->abc-12-12-12-12. Para una lista de usuarios de un determinado archivo, utilice lsof como se muestra a continuación. En este ejemplo, se muestra todos los usuarios que actualmente están usando vi. # lsof /bin/vi COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME vi 7258 root txt REG 8,1 474608 475196 /bin/vi vi 7300 ramesh txt REG 8,1 474608 475196 /bin/vi 15. Ntop Ntop es lo mismo que arriba, pero para el tráfico de red. ntop es un monitor de tráfico de red que muestra el uso de la red. También se puede acceder desde el navegador de ntop para obtener la información de tráfico y estado de la red. Las siguientes son algunas de las características clave de los ntop: Es un proyecto de software libre. Su interfaz muy sencilla y via web. Dispone de gran variedad de informes: globales de carga de red, de tráfico entre elementos, de sesiones activas de cada elemento, etc. Es un software multiplataforma (Windows, Linux, BSD, Solaris y MacOSX) y muy fácil y rápido de instalar. Para capturar los paquetes, la interfaz de red de la máquina que ejecute NTOP debe entrar en modo promiscuo, lo que implica que hay que disponer de permisos de administrador en dicha máquina. NTOP usa por defecto el puerto 3000/TCP para el servidor web de la interfaz. En Linux, NTOP está presente en las principales distribuciones y es fácilmente instalable desde el gestor de paquetes de software de la distribución. Analiza protocolos TCP/UDP/ICMP. Dentro de TCP/UDP es capaz de agruparlos por tipo de servicio que se este utilizando como FTP, HTTP, SSH, DNS, Telnet,SMTP/POP/IMAP, SNMP, NFS, X11. 16. gkrellm Instalacion: apt-get install gkrellm GKrellM las siglas de GNU Monitores Krell, o Metros GTK Krell. Es GTK + toolkit programa de monitoreo basado, que supervisa los diversos recursos sytem. La interfaz de usuario es stakable. es decir, se puede agregar como objetos de control muchas desea una encima de otra. Al igual que cualquier otras herramientas de escritorio de interfaz de usuario de control basados, se puede controlar la CPU, memoria, sistema de archivos, uso de la red, etc, pero el uso de plugins que puedas aplicaciones de monitoreo externos. 17. w y uptime Mientras controla el rendimiento del sistema, el comando w ayudará a saber quién ha iniciado sesión en el sistema. $ w 09:35:06 up 21 days, 23:28, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 :0 24Oct11 21days 1:05 1:05 /usr/bin/Xorg :0 -nr -verbose ramesh pts/0 192.168.1.10 Mon14 0.00s 15.55s 0.26s sshd: localuser john pts/0 192.168.1.11 Mon07 0.00s 19.05s 0.20s sshd: localuser jason pts/0 192.168.1.12 Mon07 0.00s 21.15s 0.16s sshd: localuser Por cada usuario que ha iniciado sesión, se muestra la siguiente información: Nombre de usuario tty info El anfitrión remoto dirección IP Tiempo de acceso del usuario El tiempo que el usuario ha estado inactivo JCPU y pCUP El mandato del actual proceso el usuario está ejecutando La línea 1 de la salida del comando w es similar a la salida del comando uptime. Se mostrará lo siguiente: Tiempo corriente Por cuánto tiempo el sistema ha estado funcionando El número total de usuarios que están actualmente conectado al sistema Carga promedio para los últimos minutos 1, 5 y 15 Si desea que sólo el tiempo de actividad de información, utilice el comando uptime. $ uptime 09:35:02 up 106 days, 28 min, 2 users, load average: 0.08, 0.11, 0.05 Por favor, tenga en cuenta que tanto w comando uptime y obtiene la información de los directorios /var/run/utmp . 18. /proc / proc es un sistema de archivos virtual. Por ejemplo, si usted hace un ls-l / proc / stat, te darás cuenta de que tiene un tamaño de 0 bytes, pero si lo haces "cat / proc / stat", podrás ver algunos contenidos dentro del archivo. Hacer un ls-l / proc, y verá gran cantidad de directorios con los números justos. Estos números representan los identificadores de proceso, los archivos dentro de este directorio numerado corresponde al proceso con el PID particular. Los siguientes son los archivos importantes ubicados en cada directorio numerado (por cada proceso): cmdline - línea de comandos del comando. environ - Variables de entorno. fd - Contiene los descriptores de archivo que está vinculado a los archivos correspondientes. limits - Contiene la información acerca de los límites específicos al proceso. moutns - Información relacionada Los siguientes son los importantes vínculos dentro de cada directorio numerado (por cada proceso): cwd - Enlace al directorio de trabajo actual del proceso. exe - Enlace al ejecutable del proceso. root - Enlace al directorio raíz del proceso. 19. Vnstat vnstat es una utilidad de línea de comandos que muestra y registra el tráfico de red de las interfaces en los sistemas. Esto depende de las estadísticas de la red proporcionados por el kernel. Por lo tanto, vnstat no añade ninguna carga adicional a su sistema de seguimiento y registro del tráfico de red. vnstat sin ningún argumento le dará un breve resumen con la siguiente información: La última vez que el datbase vnStat ubicado en / var / lib / vnstat / modificado se Desde que se comenzó a recopilar las estadísticas de una interfaz específica Los datos estadísticos de la red (bytes transmitidos, bytes recibidos) durante los últimos dos meses, y la última dos días. # vnstat Database updated: Sat Oct 15 11:54:00 2011 eth0 since 10/01/11 rx: 12.89 MiB tx: 6.94 MiB total: 19.82 MiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Sep '11 12.90 MiB | 6.90 MiB | 19.81 MiB | 0.14 kbit/s Oct '11 12.89 MiB | 6.94 MiB | 19.82 MiB | 0.15 kbit/s ------------------------+-------------+-------------+--------------- estimated 29 MiB | 14 MiB | 43 MiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- yesterday 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s today 2.03 MiB | 1.07 MiB | 3.10 MiB | 0.59 kbit/s ------------------------+-------------+-------------+--------------- estimated 4 MiB | 2 MiB | 6 MiB | Use "vnstat-t" o "vnstat top10-" para visualizar todo el tiempo 10 días de tránsito. $ vnstat --top10 eth0 / top 10 # day rx | tx | total | avg. rate -----------------------------+-------------+-------------+--------------- 1 10/12/11 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s 2 10/11/11 4.07 MiB | 2.17 MiB | 6.24 MiB | 0.59 kbit/s 3 10/10/11 2.48 MiB | 1.28 MiB | 3.76 MiB | 0.36 kbit/s .... -----------------------------+-------------+-------------+--------------- 20. Htop Htop es un interactivo sistema de monitor de procesos espectador escrito para Linux. Está diseñado para sustituir el programa Unix superior . Se muestra una lista actualizada de los procesos que se ejecutan en un ordenador, normalmente ordenadas por la cantidad de uso de CPU. A diferencia de top , htop proporciona una lista completa de los procesos en ejecución, en lugar de los primeros procesos que consumen muchos recursos. Htop utiliza el color y proporciona información visual sobre el procesador , canje y la memoria de estado. Los usuarios suelen desplegar htop en los casos en Unix top no proporciona información suficiente acerca de los procesos de sistemas, por ejemplo cuando se trata de encontrar pequeñas pérdidas de memoria en las aplicaciones. En comparación con top , que resultará más conveniente, cursor interfaz controlada para matar procesos. Htop está escrito en el lenguaje de programación C con el ncurses biblioteca. Su nombre se deriva del nombre del autor original. Es posible ejecutar htop en FreeBSD , ya que puede emular de Linux procfs . Instalacion: apt-get install htop 21. Socket Estadísticas - SS Ss es sinónimo de estadísticas de socket. Muestra información que son similares a comando netstat. Para mostrar todos los sockets de escucha, hacer ss -l, como se muestra a continuación. $ ss -l Recv-Q Send-Q Local Addressort Peer Addressort 0 100 :::8009 :::* 0 128 :::sunrpc :::* 0 100 :::webcache :::* 0 128 :::ssh :::* 0 64 :::nrpe :::* A continuación se muestra sólo la conexión establecida. $ ss -o state established Recv-Q Send-Q Local Addressort Peer Addressort 0 52 192.168.1.10:ssh 192.168.2.11:55969 timeron,414ms,0) Las siguientes pantallas socket estadísticas de resumen. Esto muestra el número total de tomas desglosadas por tipo. $ ss -s Total: 688 (kernel 721) TCP: 16 (estab 1, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 11 Transport Total IP IPv6 * 721 - - RAW 0 0 0 UDP 13 10 3 TCP 16 7 9 INET 29 17 12 FRAG 0 0 0 Si utilizas alguna otra herramienta por favor compartila con un comentario..!

61
16
Instalar y configurar Samba en Ubuntu o Debian
Instalar y configurar Samba en Ubuntu o Debian
LinuxporAnónimo11/21/2011

Instalar y configurar Samba en Ubuntu o Debian¿Qué es samba?Samba son un conjunto de aplicaciones libres para Linux que implementan el protocolo de comunicación SMB utilizado por los sistemas operativos Microsoft Windows para compartir carpetas e impresoras.Básicamente samba permite a PCs que utilizan Linux conectarse a carpetas compartidas en PCs con Windows y compartir carpetas como si de un Windows se tratara. Gracias a samba, en una red podemos tener PCs con Windows y PCs con Linux de forma que puedan intercambiar información en carpetas compartidas de la misma forma que se haría si todos los PCs fueran Windows.Las funcionalidades de samba no se quedan solo en una simple compartición de archivos e impresoras sino que permite a un PC con Linux comportarse como un controlador de dominio de Windows para redes Microsoft con prestaciones superiores a las que nos ofrecería un servidor con Windows NT Server 4.0. En las páginas siguientes veremos como hacer que un PC con Linux haga las veces de controlador de dominio de nuestra red Windows.Instalación de sambaLa 'suite' completa de samba se compone de varios paquetes. Se pueden localizar en http://packages.debian.org buscando 'samba' en la descripción de los paquetes. Destacamos los más importantes: samba - Servidor de archivos e impresoras tipo LanManager para Unix. samba-common - Archivos comunes de samba utilizados para clientes y servidores. smbclient - Cliente simple tipo LanManager para Unix. swat - Herramienta de administración de Samba via web samba-doc - Documentación de Samba. smbfs - Comandos para montar y desmontar unidades de red samba winbind: Servicio para resolver información de usuarios y grupos de servidores Windows NTInstalaremos los paquetes necesarios para disfrutar del servicio. Para ello ejecutaremos: #apt-get install samba samba-common smbclient samba-doc smbfsasí tendremos instalados y actualizados a la última versión, los paquetes básicos para disfrutar del servicio SAMBA.Configuración de sambaIntroducciónSamba, al igual que todas las aplicaciones para Linux, dispone de un archivo de texto para su configuración. Se trata del archivo:// Archivo de configuración de samba /etc/samba/smb.confLa sintaxis del archivo de configuración de samba es bastante sencilla ya que está dividido en secciones que se limitan a establecer el valor de unos cuantos parámetros y a determinar cuáles son las carpetas compartidas y sus permisos. No obstante, para facilitar la configuración de samba existe una herramienta llamada swat que permite, vía web, configurar la aplicación.Puesto que editando el archivo smb.conf se pueden configurar más de 300 parámetros, dando lugar a miles de configuraciónes, nos limitaremos a analizar los parámetros más relevantes y a la compartición de archivos e impresoras directamente.Archivo smb.confPodemos ver un ejemplo del archivo de configuración de samba haciendo clic »http://www.ite.educacion.es/formacion/materiales/85/cd/REDES_LINUX/upload/smb.txtA continuación analizaremos un sencillo archivo smb.conf: # Ejemplo de archivo de configuración de samba smb.conf // Sección global, parámetros generales security = user // Seguridad por usuarios workgroup = Aula5 // Grupo de trabajo 'Aula5' encrypt passwords = yes // Las contraseñas se deberán enviar encriptadas wins support = yes // Samba será servidor wins log level = 1 max log size = 1000 read only = no // Por defecto, lectura y escritura load printers = yes // Se comparten también las impresoras // Sección homes, carpetas home de usuarios comment = Carpetas home // Comentario browsable = no // No explorables create mask = 0700 // Máscara de creación de archivos (rxw------) directory mask = 0700 // Máscara de creación de carpetas // Sección printers, impresoras path = /var/tmp printable = yes min print space = 2000 // Carpeta común profesores path = /home/samba/profesores // Ruta de la carpeta compartida browsable = yes // Explorable read only = no // Lectura y escritura create mask = 0770 // Máscara de creación de archivos (rxwrxw---) directory mask = 0770 // Máscara de creación de carpetas // Carpeta común alumnos browsable = yes read only = no path = /home/samba/profesores/alumnos // Carpeta común del centro (solo lectura) browsable = yes read only = yes guest ok = yes // Se admiten invitados path = /home/samba/programas // Parámetros impresora path = /tmp printable = yes // Se permite imprimir Todas las líneas que comienzan por almoadilla (#) o punto y coma ( son líneas de comentarios y son ignoradas por samba.El archivo smb.conf está dividido en secciones identificadas con corchetes [ ] . Ninguna de las secciones son obligatorias aunque normalmente suelen tener las siguientes secciones: Sección En la sección se configuran los parámetros generales (globales) que determinarán el modo de comportamiento general del servidor samba. Todos los parámetros que se omitan tomarán el valor predefinido por defecto. Existen unos 300 parámetros que se pueden configurar en ésta sección. A continuación exponemos los parámetros más significativos y ejemplo de valor: hosts allow = 192. 127. Permite especificar desde qué direcciones IPs se podrá acceder al servicio. Ej.: Si ponemos 192.168. significa todas las que empiecen por 192.168.Se pueden poner IPs concretashosts deny = 10. Igual que hosts allow pero para especificar los rangos no permitidossecurity = sharePermite determinar el modo de compartición de recursos de samba. Hay cinco opciones posibles: share, user, domain, server y ads.'Share' significa compartir los recursos con contraseña (como W95, 98,...).'User' gestiona los permisos por usuario (como W2000 y WXP).'Domain' gestiona los permisos por dominio.'Server' indica que los permisos son gestionados por otro servidor.'Ads' hace que samba se comporte como un miembro de un dominio Active Directory y por lo tanto requiere un servidor W2000 Server o W2003 Server.Samba no puede actuar como controlador de dominio de Active Directory, es decir, no puede sustituir a Windows 2000 Server, pero sí puede actuar como controlador de dominio de Windows NT.domain logons = yesPara que samba sea autentificador del dominio. En este caso, habrá que poner 'security = user' porque no tiene sentido que el samba sea servidor de dominio y que comparta los recursos con contraseña.domain master = yesPara que samba sea controlador de dominio. Lo lógico es que domain logons esté a 'yes'encrypt passwords = yesHace que samba solo reconozca passwords encriptados. Las primeras versiones de W95 enviaban las contraseñas en texto plano pero tanto las últimas versiones de Windows 95 como W98, 2000 y XP las encriptan. Se puede impedir que W98 las encripte cambiando un valor del registro (ver encription.txt en samba) pero lo recomendable es que se envíen encriptadas para impedir que otros usuarios puedan descubrirlas capturando paquetes de datos (sniffing). Los password encriptados de samba se guardan en otro archivo:smb passwd file = /etc/smbpasswdArchivo que guarda las contraseñas encriptadas de acceso a samba. Para que un usuario pueda acceder a samba debe existir en el sistema pero no tiene por qué coincidir la contraseña de un usuario en el sistema linux con la de samba aunque es aconsejable.logon script = INICIO.BATIndica el script que ejecutarán los clientes windows al loguearsepassword server = 192.168.0.10Indica qué servidor autentificará a los usuarioswins server = 192.168.0.10Indica quién es el servidor de nombres winswins support = yesHace que nuestro samba sea servidor winsload printers = yesPara que automáticamente comparta todas las impresoras del sistemaSección En ésta sección se configuran los parámetros para compartir la carpeta home (carpeta donde se almacena el perfil y todos los documentos) de cada usuario. Esta sección es opcional. Si no existe, no se compartirán las carpetas home de cada usuario. Se utiliza cuando se desean crear perfiles móviles de forma que cuando se identifique el usuario en cualquiera de los PCs de la red, se mapee de forma automática su perfil.Sección En ésta sección se configuran los parámetros para compartir las impresoras o colas de impresión disponibles en el servidor.Una sección por cada carpeta compartidaCada vez que se comparte una carpeta, hay que crear una sección denominada como se desee ya que dicho nombre será el nombre del recurso compartido. Ejemplo, si deseamos compartir la carpeta /home/samba/alumnos crearemos una sección donde se configurará dicho recurso compartido con los parámetros específicos para dicho recurso. Parámetros destacables: browseable = yesIndica si el recurso compartido será visible cuando se escanea la red, por ejemplo haciendo clic en 'Mis sitios de red' en Windowscreate mask = 0770Establece la máscara de creación de archivos, igual con directory mask para la creación de carpetasguest ok = yesIndica que cualquier usuario sin contraseña tiene permiso de accesovalid users = pepe, juanIndica qué usuarios pueden acceder al recursoConsejosEs conveniente crear en /home una carpeta llamada samba y que cuelguen de ella todas las carpetas compartidas, para tener todos los datos de usuario dentro de /home y sea sencillo hacer las copias de seguridad.Si somos servidores de dominio y vamos a tener en nuestra red clientes Windows, es conveniente crear un recurso compartido llamado netlogon para poder almacenar scripts de inicio y archivos de políticas ya que los clientes Windows están preconfigurados para acceder a dicho recurso compartido: // Si samba es controladores de dominio se recomienda crear recurso 'netlogon' path = /home/samba/netlogon public = no writeable = no browsable = no Si deseamos almacenar los drivers de impresora para los clientes Windows crearemos una sección [print$]Samba analiza cada 60 segundos el archivo smb.conf y si ha habido cambios, estos tomarán efecto. Es conveniente crear una copia de seguridad del archivo smb.conf antes de hacer ningún cambio para poder retornar al estado anterior en caso de que hagamos una modificación incorrecta del archivo que impida que arranque el servicio.Para comprobar que nuestro archivo smb.conf está correcto, podemos utilizar el comando testparm que analiza cada línea en busca de errores.Para tener una descripción detallada de todos los parámetros se puede consultar la página del manual de smb.conf:// Página del manual de smb.conf $ man smb.confArranque y parada manualSamba, al igual que todos los servicios en Debian, dispone de un script de arranque y parada en la carpeta /etc/init.d.Si deseamos iniciar o reiniciar el servidor samba, debemos ejecutar:// Iniciar o reiniciar el servidor samba # /etc/init.d/samba restartEste comando reiniciará los dos demonios (procesos residentes) necesarios que necesita samba para su funcionamiento: nmbd y smbd.Si deseamos detener el servidor samba, debemos ejecutar:// Parada del servidor samba # /etc/init.d/samba stopSi deseamos reiniciar el servidor samba, debemos ejecutar: :// Iniciar o reiniciar el servidor samba # /etc/init.d/samba restartArranque automático de samba al iniciar el sistema.// Tras situarnos en el directorio /etc/init.d# update-rc.d samba defaultsGestión de usuarios, grupos y permisos de sambaSamba es un servicio que requiere de administración de usuarios para poder gestionar los permisos de éstos. En función del usuario que acceda, samba se comportará de una forma u otra ya que cuando accede un usuario normal, generalmente tiene unos permisos limitados y cuando accede un usuario administrador, deberá disponer de todos los permisos.Para que esa administración sea posible, samba dispone de su propia base de datos de 'usuarios samba' pero como los usuarios utilizan otros recursos del servidor como carpetas e impresoras, es necesario que estén creados en el sistema Unix. Resumiendo, podemos decir que para poder ser usuario de samba, es necesario disponer de una cuenta de usuario en Unix y de una cuenta de usuario en samba.Todo lo relativo a la creación y administración de usuarios y grupos en Unix se puede consultar en el apartado 'Usuarios del sistema Unix'. Clic aquí para acceder al índice:http://www.ite.educacion.es/formacion/materiales/85/cd/REDES_LINUX/indice.htmGestión de usuarios de sambaLa gestión de usuarios de samba se realiza con el comando smbpasswd. Con él podremos crear y eliminar usuarios, cambiar su contraseña y algunas cosas más.Creación de un usuario de sambaPara crear un usuario de samba debemos utilizar el comando smbpasswd, pero antes debemos haber creado el usuario en Unix. Ejemplo, supongamos que queremos crear en Unix al usuario pepe: // Creación de un usuario en unix # useradd pepe Si deseamos que pepe pueda disfrutar de los servicios samba, debemos crear a pepe como usuario de samba ejecutando el siguiente comando:// Creación de un usuario de samba # smbpasswd -a pepeCon la opción -a indicamos que añada al usuario. Acto seguido nos preguntará dos veces la contraseña que deseamos poner al usuario. Lo razonable es que sea la misma contraseña que tiene el usuario en Unix. A continuacion veremos un ejemplo de utilización: root@knoppix36:~# smbpasswd -a pepeNew SMB password: // Establecemos contraseñaRetype new SMB password: // Repetimos la contraseña'''Added user pepe.Eliminar un usuario de sambaPara eliminar un usuario de samba debemos ejecutar smbpasswd con la opción -x, ejemplo: // Eliminar un usuario de samba # smbpasswd -x pepeInmediatamente el usuario habrá desaparecido de la base de datos de 'usuarios samba' aunque seguirá siendo un usuario de Unix.Otras opciónes de smbpasswd -d: Deshabilitar un usuario -e: Habilitar un usuario -n: Usuario sin password. Necesita parámetro null passwords = yes en sección 'global' del archivo de configuración de samba. -m: Indica que es una cuenta de máquina (equipo) Para más información se puede consultar la página del manual de smbpasswd: // Manual de smbpasswd $ man smbpasswdGestión de grupos y permisos con sambaLa gestión de grupos y permisos de usuarios y grupos es sustancialmente diferente en Sistemas Unix y en Sistemas Microsoft Windows.En los Sistemas Unix, la gestión de los permisos que los usuarios y los grupos de usuarios tienen sobre los archivos se realiza mediante un sencillo esquema de tres tipos de permisos (lectura, escritura y ejecución) aplicables a tres tipos de usuarios (propietario, grupo propietario y resto). Este sencillo esquema se desarrolló en los años 70 y aún hoy resulta adecuado para la gran mayoría de los sistemas en red que podamos encontrar en cualquier tipo de organización, desde pequeñas redes a las más grandes. Es cierto que tiene algunas limitaciones pero la ventaja de ser sencillo hace que su administración sea fácil y su rendimiento muy elevado.En los Sistemas Microsoft Windows, la gestión de los permisos que los usuarios y los grupos de usuarios tienen sobre los archivos, se realiza mediante un complejo esquema de listas de control de acceso (ACLs = Access Control Lists) para cada carpeta y cada archivo. El sistema de ACLs tiene la ventaja de ser mucho más flexible que el sistema Unix ya que se pueden establecer más tipos de permisos, establecer permisos solo a algunos usuarios y algunos grupos, denegar permisos, etc..., pero como hemos comentado anteriormente, en la mayoría de los casos, con las prestaciones del Sistema Unix es suficiente. En el lado contrario, el sistema de ACLs es más complejo de administrar y más lento ya que antes de acceder a las carpetas o archivos, el sistema debe comprobar listas mientras que en Unix hace una operación lógica de los bits que especifican los permisos lo cual es muchísimo más rápido.Samba tiene también implementado el sistema de ACLs y se gestiona utilizando el comando smbcacls, no obstante, la recomendación es utilizar el sistema de gestión de permisos de Unix. Aunque existan carpetas compartidas con samba, en última estancia imperan los permisos de Unix. Por ejemplo, si tenemos compartida una carpeta llamada 'profesores' con permisos de escritura para el grupo profesores, todos los usuarios que pertenezcan al grupo profesores podrán realizar cambios en la carpeta, pero si dentro de dicha carpeta existe otra llamada 'confidencial' sobre la cual no tiene permiso para entrar el grupo profesores, ningún profesor podrá ver su contenido aunque esté dentro de una carpeta compartida.Para realizar una gestión eficaz de usuarios, grupos y permisos, se recomienda utilizar los permisos de Unix que permiten asignar permisos de lectura, escritura y ejecución al usuario propietario del archivo, al grupo propietario del archivo y al resto de usuarios del sistema. Todo lo relativo a la administración de usuarios, grupos y permisos en Unix se puede consultar en el apartado 'Usuarios del sistema Unix'. Clic aquí para acceder al índice:http://www.ite.educacion.es/formacion/materiales/85/cd/REDES_LINUX/indice.htmSobrecarga de permisosPuede ocurrir que exista contradicción entre los permisos del sistema Unix y los permisos del recurso compartido en samba, por ejemplo, podemos tener una carpeta compartida llamada almacen-software con permisos Unix de lectura, escritura y ejecución para todos, en cambio si en el archivo de configuración de samba, dicho recurso tiene el parámetro read only = yes, no será posible realizar cambios ya que está compartido con permiso de 'solo lectura'. Cuando los permisos Unix se contradicen con los permisos samba, el permiso efectivo es el más restrictivo de los dos.Para simplificar la administración de los permisos, se recomienda no ser restrictivos en los permisos de recurso compartido con samba y aplicar los permisos en el Sistema Unix, de ésta forma, además de ser efectivos cuando accedemos a través de samba, también lo seguirán siendo si accedemos de otra forma como por ssh, ftp, o nos sentamos en la consola del servidor. Espero que les sea util...Cualquier consulta no duden en preguntar...

11
2
Servidor en Debian 6
Servidor en Debian 6
LinuxporAnónimo9/30/2012

Servidor Debian Squeeze primera parte Antes de iniciar La configuración del servidor consiste, básicamente, en la instalación de paquetes de software y de su configuración específica para nuestro sistema. Cuando un paquete de software es instalado, se genera una configuración básica que ofrece unas funcionalidades relativamente reducidas o limitadas. Algunas de estas funcionalidades quedan inactivas después de la instalación, por motivos de seguridad. Por tanto, para obtener el máximo potencial de un software, es necesario personalizar y afinar su configuración. Sin embargo, debido a que un pequeño error de configuración puede vulnerar el sistema y hacerlo inútil, siempre deben tomarse en cuenta algunas precauciones antes de alterar cualquier configuración. Copias de respaldo El siguiente principio es fundamental, seguirlo le ahorrará dolores de cabeza: nunca altere un archivo sin hacerle antes una copia de seguridad. Por ejemplo, si es necesario alterar el archivo de configuración /etc/network/interfaces, primero deberá hacerse una copia de respaldo del original: root@server:~# cp /etc/network/interfaces /etc/network/interfaces.ori En seguida, sí puede editar el archivo: root@server:~# nano -w /etc/network/interfaces Pueden contrastarse las diferencias entre el archivo original y el modificado con el comando diff: root@server:~# diff /etc/network/interfaces.ori /etc/network/interfaces 9,10c9,20 < allow-hotplug eth0 < iface eth0 inet dhcp --- > #allow-hotplug eth0 > #iface eth0 inet dhcp > > # Endereco IP fixo > auto eth0 > iface eth0 inet static > address 192.168.1.100 > netmask 255.255.255.0 > network 192.168.1.0 > broadcast 192.168.1.255 > gateway 192.168.1.1 En caso de que pretenda restaurar el archivo original, se puede borrar el archivo modificado y reemplazarlo por el original, así: root@server:~# rm /etc/network/interfaces root@server:~# cp /etc/network/interfaces.ori /etc/network/interfaces ¿Qué editor usar? Los archivos de configuración son, por regla general, archivos de texto. Por esto, pueden ser modificados con un editor de texto. Los puristas defienden el vi o vim como editor de elección (Debian 6.0 instala de forma predeterminada una versión más liviana de vim, llamada vim.tiny). Una alternativa posible y, eventualmente más amigable, es nano. Para editar un archivo con vi o vim.tiny basta ejecutar el programa ejecutado con el archivo como argumento. Por ejemplo, para editar el archivo /etc/network/interfaces: con vi: root@server:~# vi /etc/network/interfaces con vim.tiny: root@server:~# vim.tiny /etc/network/interfaces Para usar nano se debe emplear la opción -w para evitar la inserción de saltos de línea, cosa que podría ocasionar problemas en un archivo de configuración: root@server:~# nano -w /etc/network/interfaces Red local La red local es un elemento esencial para un servidor. Su configuración es muy fácil. El diagrama de una red casera Este manual tiene en mente la integración de un servidor en un red casera típica y cerrada. El acceso a Internet se hace a través de un router/modem ADSL, con un firewall. El gateway Un gateway es un dispositivo que posibilita el acceso a Internet a partir de una red interna o intranet. Este dispositivo también filtra o impide los accesos externos a la red interna, formando así una barrera de seguridad (firewall) entre la red interna y la internet. El router/firewall requiere una dirección IP estática, para que pueda ser fácilmente accesible desde los restantes dispositivos de la red. En este ejemplo, el nombre router/firewall será gateway.home.lan y el enderezo IP será 192.168.1.1. El servidor El servidor Debian, al estar integrado a la red interna, está protegido de accesos indiscriminados e indeseados que provengan de la internet. El servidor, también requiere una dirección IP estática, de modo que pueda ser fácilmente accesible para los dispositivos restantes de la red. Entre otras tareas, el servidor podrá atribuir de forma automática las direcciones IP a los clientes, así como indicar el acceso a Internet a través del gateway. En este ejemplo, el nombre del servidor es server.home.lan y la dirección IP es 192.168.1.100. Los clientes Los clientes serán todos los dispositivos ligados a la red interna. Su configuración será gestionada por los varios servicios que ofrezca el servidor. El acceso al exterior es hecho exclusivamente a través del gateway, lo que resulta en un ambiente seguro y protegido de eventuales accesos externos mal intencionados. Dirección IP estática Objetivo La instalación de Debian, configura automáticamente la red para obtener una dirección dinámica vía DHCP. Sin embargo, para que el sistema esté configurado como servidor, éste debe tener una dirección IP estática. Nuestro objetivo es configurar la interfaz de red eth0 con una dirección IP estática 192.168.1.100. También es necesario indicar la dirección del dispositivo de acceso a Internet, el gateway (192.168.1.1). En una configuración casera, este será la dirección estática del router ADSL. Configuración La configuración de las interfaces de red está guardada en el archivo /etc/network/interfaces: # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface # allow-hotplug eth0 # iface eth0 inet dhcp # Static IP address auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 También es necesario indicar la dirección del servidor DNS. En esta configuración, el servidor DNS funciona en el router/modem ADSL, por lo que el parámetro para nameserver debe tener el valor 192.168.1.1, en el archivo /etc/resolv.conf: domain localdomain search localdomain nameserver 192.168.1.1 Ahora debe reiniciarse la interfaz de red para activar la nueva configuración: root@server:~# ifdown eth0 root@server:~# ifup eth0 Verificación El comando ifconfig suministra información detallada sobre la configuración de las interfaces de red. La configuración de la interfaz eth0 debe exhibir, los parámetros previamente definidos: root@server:~# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:84:4c:b2 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe84:4cb2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:32 errors:0 dropped:0 overruns:0 frame:0 TX packets:68 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5657 (5.5 KiB) TX bytes:9091 (8.8 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) También, debe ser posible contactar a servidores en la Internet: root@server:~# ping -c3 www.debian.org PING www.debian.org (206.12.19.7) 56(84) bytes of data. 64 bytes from bellini.debian.org (206.12.19.7): icmp_seq=1 ttl=43 time=188 ms 64 bytes from bellini.debian.org (206.12.19.7): icmp_seq=2 ttl=43 time=190 ms 64 bytes from bellini.debian.org (206.12.19.7): icmp_seq=3 ttl=43 time=185 ms --- www.debian.org ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2005ms rtt min/avg/max/mdev = 185.808/188.217/190.108/1.793 ms Nombre del sistema Objectivo Después de la instalación del sistema, su nombre puede ser alterado. Configuración El nombre del sistema, o hostname, está guardado en el archivo /etc/hostname. Este archivo debe contar sólo con el nombre del sistema y no con el nombre completo del dominio: server El nombre debe ser atribuido al sistema a partir del archivo recién creado: root@server:~# hostname -F /etc/hostname Finalmente, el nombre del servidor debe ser asociado a un nombre completo de dominio y a una dirección IP, en el archivo /etc/hosts: 127.0.0.1 localhost 192.168.1.100 server.home.lan server # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters Verificación root@server:~# hostname --short server root@server:~# hostname --domain home.lan root@server:~# hostname --fqdn server.home.lan root@server:~# hostname --ip-address 192.168.1.100 ******************************************************************************************************************************* Acceso Remoto En principio, no debe accederse físicamente a un servidor a no ser por razones excepcionales (como la actualización o la reparación de hardware, por ejemplo). La mejor manera de gestionar un servidor es remotamente. Sin embargo, este acceso deber ser hecho de una manera segura, para garantizar que la comunicación no sea interceptada por terceros. El protocolo ssh La regla general indica que no se debe acceder físicamente a un servidor, a no ser por razones excepcionales. La mejor manera de gestionar un servidor es con un acceso remoto. Pero, el acceso remoto debe ser hecho de forma segura, para garantizar que la comunicación no sea interceptada por terceros. El protocolo SSH Es la solución para garantizar conexiones remotas seguras. ssh es un protocolo de comunicaciones que encripta los datos intercambiados, haciendo virtualmente imposible la violación de la privacidad de la comunicación. El acrónimo ssh viene del inglés: Secure SHell. El protocolo ssh es muy versátil, cuenta con un software cliente que posibilita el acceso a la línea de comandos, la transferencia de archivos y la creación de túneles seguros con soportes de comunicaciones para otros protocolos. Clientes SSH Los clientes ssh se dividen en dos grupos: Terminal SSH Es un emulador de terminal que permite acceder de forma remota a la línea de comandos, utilizando el protocolo SSH. Cliente SFTP Se trata de un cliente para transferencia de archivos que utiliza el Protocolo de Transferencia Segura de Archivos. Su sigla indica en inglés (Secure File Transfer Protocol (SFTP)) Clientes Linux openssh-client este software ofrece utilidades para acceso remoto (cliente ssh), copia de seguridad de archivos (scp) y transferencia segura de archivos (sftp), entre otras. FileZilla Cliente SFTP. Clientes Windows PuTTY Terminal SSH. WinSCP Cliente SFTP. FileZilla Cliente SFTP. Servidor ssh Instalación root@server:~# aptitude install openssh-server openssh-client Configuración Todas las configuraciones del servidor ssh se encuentran en el archivo /etc/ssh/sshd_config. Para configurar el servidor debe indicarse las direcciones donde el servicio debe responder. En este caso serán conexiones ligadas a la dirección 192.168.1.100, a través del puerto 22 y utilizando la versión 2 del protocolo ssh: # Package generated configuration file # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 ListenAddress 192.168.1.100 Protocol 2 #[...] Por seguridad, se debe desactivar el login como root. on esta configuración, para adquirir los privilegios del root, se debe hacer un login usuario normal y, después, adquirir los privilegios de root. De este modo, prevenimos que el password del root sea objeto de un ataque. #[...] # Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes #[...] También se debe verificar que no sean permitidos los logins con contraseñas vacías: #[...] # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no #[...] Reiniciar el servicio: root@server:~# /etc/init.d/ssh restart Verificación Clientes Linux Debe ser posible establecer una conexión ssh a la dirección 192.168.1.100. La primera vez que la conexión se efectúe, ésta debe ser confirmada, porque el servidor no está registrado en la lista de los sistemas conocidos por el cliente. fribeiro@laptop:~$ ssh 192.168.1.100 The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established. RSA key fingerprint is ee:16:b0:c9:1b:ef:b4:64:e1:86:80:f4:36:9f:08:03. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.100' (RSA) to the list of known hosts. [email protected]'s password: Linux server 2.6.32-5-amd64 #1 SMP Fri Oct 15 00:56:30 UTC 2010 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. fribeiro@server:~$ logout Connection to 192.168.1.100 closed. fribeiro@laptop:~$ Las conexiones con el login root no serán aceptadas: fribeiro@laptop:~$ ssh -l root 192.168.1.100 [email protected]'s password: Permission denied, please try again. [email protected]'s password: Permission denied, please try again. [email protected]'s password: Permission denied (publickey,password). Clientes Windows El acceso a partir de clientes Windows es posible con un programa emulador del terminal que soporte ssh, como Putty: Obtener privilegios de root Como el login como root está desactivado, la manera de obtener privilegios de root en una conexión ssh es a través de un usuario común que escala privilegios con el comando su: fribeiro@laptop:~$ ssh 192.168.1.100 [email protected]'s password: Linux server 2.6.32-5-amd64 #1 SMP Fri Oct 15 00:56:30 UTC 2010 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Oct 27 11:01:21 2010 from laptop.home.lan fribeiro@server:~$ su - root Password: root@server:~# ******************************************************************************************************************************* Reloj del sistema En un servidor es fundamental asegurarse de que el reloj del sistema funcione correctamente. No sólo porque varios servicios dependan del reloj, sino también porque el reloj puede ser utilizado para sincronizar y poner en punto a los demás equipos. Fecha, hora y huso horario Objetivo Poner en punto el reloj y la fecha del sistema. Configuración Uso horario Es imperativo configurar adecuadamente el uso horario correspondiente al servidor. La información sobre el huso horario se encuentra en el archivo /etc/timezone y puede ser consultada con el comando cat: root@server:~# cat /etc/timezone Europe/Lisbon Para configurar el huso horario, se utiliza el comando dpkg-reconfigure tzdata y se escoge la zona correcta en el menú interactivo: root@server:~# dpkg-reconfigure tzdata Un diálogo permite seleccionar la región geográfica: En seguida, puede señalarse la región o el país donde el servidor se encuentra físicamente localizado: Luego, el resultado queda registrado así: Current default time zone: 'Europe/Lisbon' Local time is now: Wed Oct 27 11:54:26 WEST 2010. Universal Time is now: Wed Oct 27 10:54:26 UTC 2010. Fecha y hora El comando date muestra la fecha actual del sistema: root@server:~# date Wed Oct 27 12:00:57 WEST 2010 El comando date también permite poner en punto la hora del sistema manualmente. Para esto se utiliza la sintaxis reducida “date MMDDhhmm”: root@server:~# date 10271201 Wed Oct 27 12:01:00 WEST 2010 Protocolo NTP El protocolo NTP (Network Time Protocol) se utiliza para mantener en punto el reloj del sistema, sincronizándolo a partir de una red de servidores NTP a través de Internet. Objetivo Utilizar la red de servidores NTP para poner en punto el reloj de sistema. Instalación root@server:~# aptitude install ntpdate ntp-doc Utilización En primer lugar, se debe verificar que el uso horario del sistema esté definido de forma correcta. Después se puede poner en punto el reloj del sistema, teniendo como referencia uno de los servidores NTP: root@server:~# ntpdate -u pool.ntp.org 28 Oct 12:09:17 ntpdate[2493]: adjust time server 194.117.9.136 offset -0.030742 sec Servidor NTP Objetivo El protocolo NTP se usa para mantener en punto el reloj del sistema. Esto es posible gracias a su sincronización con otros servidores NTP vía internet. Instalación root@server:~# aptitude install ntp ntp-doc Configuración Verificar la configuración del uso horario y de la fecha y hora del sistema. Verificación El comando ntpq -p permite verificar cuáles son los servidores NTP a los que estamos conectados. Los *, + e - indican respectivamente conexiones exitosas, sincronizaciones en curso y servidores poco confiables. Esto puede demorar algunos minutos hasta que aparezca la lista y hasta 30 minutos para que ocurra la primera corrección. root@server:~# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== +ns4.lerfjhax.co 198.60.22.240 2 u 20 64 1 157.121 -20.776 20.808 -ns1.vibit.eu 195.13.1.153 3 u 19 64 1 80.428 25.345 9.081 *68.68.18.78.cus 192.43.244.18 2 u 18 64 1 144.241 -3.047 3.650 +nagios.rack911. 128.138.188.172 2 u 17 64 1 159.292 -4.013 9.109 El servidor NTP está listo para ser utilizado. Utilización Para poner en punto la hora y fecha de un sistema cliente, es suficiente con usar el comando ntpdate (ver Protocolo NTP), indicando la dirección del servidor: root@laptop:~# ntpdate -u 192.168.1.100 4 Feb 22:38:01 ntpdate[15071]: adjust time server 192.168.1.100 offset -0.027193 sec Espero que les sea de utilidad... Segunda Parte: http://www.taringa.net/posts/linux/15669973/Servidor-Debian-Squeeze-2.html Lo volvi a postear porque me lo borraron porque supuestamente no cumplia el protocolo...

63
12
Comandos para identificar hardware y algunas configuraciones
Comandos para identificar hardware y algunas configuraciones
LinuxporAnónimo10/23/2012

Comandos para identificar hardware y algunas configuraciones de software INTRODUCCIÓN Un equipo de cómputo consta de dispositivos físicos llamados de forma global hardware, y componentes lógicos llamados software. Existen herramientas que permiten identificar ambas partes, ya sea para conocer las características del equipo como para medir su desempeño y/ó diagnosticar posibles fallas. Cuando existe la necesidad de solicitar apoyo en la resolución d dijo:# lshw | grep -i audio | grep producte problemas es importante el poder aportar toda la información que sea posible y necesaria sobre el hardware y software que conforman el equipo. CONVENCIONES Al ejecutar los comandos se debe observar que el signo $ al inicio de la línea indica que el comando se puede ejecutar con cualquier usuario ordinario, por ejemplo: $ free -o -m Mientras que signo # al inicio de la línea indica que el comando se debe ejecutar con el usuario root, por ejemplo: # fdisk -l En algunos comandos la información resultante excede la altura de la pantalla, así que para facilitar la lectura de dicha información se usa el paginador less y de esta manera es posible desplazarse hacia abajo y hacia arriba visualizando toda la información. Para salir del paginador simplemente se presiona la tecla Q (quit). A continuación 2 ejemplos de cómo se usará dicho paginador: $ dmesg | less y $ less /etc/apt/sources.list INFORMACIÓN DEL FABRICANTE Y DEL MODELO Fabricante del equipo: # dmidecode -s system-manufacturer Nombre del producto: # dmidecode -s system-product-name Versión del producto: # dmidecode -s system-version Número de serie del equipo: # dmidecode -s system-serial-number SKU (Stock Keeping Unit) ó P/N (Part Number) del producto: # dmidecode | grep -i sku Más información detallada: # dmidecode INFORMACIÓN DEL PROCESADOR Mostrar el nombre del fabricante, modelo, y velocidad: $ grep 'vendor_id' /proc/cpuinfo ; grep 'model name' /proc/cpuinfo ; grep 'cpu MHz' /proc/cpuinfo Mostrar la arquitectura (32 o 64 bits): # lshw -C CPU | grep width Nota: El paquete lshw no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación. Mostrar el tipo de máquina: $ uname -m Mostrar si el procesador soporta "Extensiones de Virtualización" (Intel-VT ó AMD-V), las cuales se activan desde la configuración de BIOS del equipo: Si el procesador es Intel, se necesita saber si aparece el valor "vmx": $ grep -i vmx /proc/cpuinfo Si el procesador es AMD, se necesita saber si aparece el valor "svm": $ grep -i svm /proc/cpuinfo INFORMACIÓN DE LA BATERÍA $ acpi -bi o $ acpitool -B Nota: el comando acpitool no se encuentra instalado de forma predeterminada. MEMORIA RAM Y PARTICIÓN SWAP Mostrar el total de memoria RAM y la partición swap (cambiar el último parámetro por: -b = Bytes, -k = Kilobytes, -m = Megabytes, -g = Gigabytes, según convenga): $ free -o -m y otra forma de hacerlo es así: $ grep 'MemTotal' /proc/meminfo; grep 'SwapTotal' /proc/meminfo Para mostrar en qué partición (y el tamaño) está swap: # swapon -s KERNEL Mostrar el nombre y versión del kernel: $ uname -sr SHELL Mostrar el shell en uso: $ echo $SHELL DISTRIBUCIÓN Mostrar el nombre, versión y nombre clave de la distribución: $ lsb_release -idc ENTORNO DEL USUARIO Nombre del usuario actual: $ echo $USER Nombre del equipo: $ echo $HOSTNAME Directorio base del usuario actual: $ echo $HOME Directorio de trabajo actual: $ echo $PWD o $ pwd DISPOSITIVOS FÍSICOS (HARDWARE) Listar los dispositivos PCI / PCIe $ lspci Listar todos los dispositivos PCMCIA(En mi Debian no se encontro este archivo pero lo dejo por las dudas..!) $ /sbin/lspcmcia Listar todos los dispositivos USB: $ lsusb Listar todos los dispositivos detectados como SCSI: $ lsscsi Nota: El paquete anterior no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación. Módulos que se han indicado al kernel que cargue durante el arranque: $ cat /etc/modules Listar todos los módulos que cargó el sistema: $ lsmod | less Listar el hardware (información resumida): # lshw -short Listar el hardware (información extensa): # lshw | less Nota: El paquete lshw no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación. MEDIOS DE ALMACENAMIENTO, ARRANQUE Listar las particiones en los medios de almacenamiento: # fdisk -l Conocer el espacio usado y disponible en las particiones: $ df -h Conocer en qué partición (y el tamaño) está swap: # swapon -s Mostrar las entradas registradas para el gestor de arranque GRUB "Legacy" (hasta la versión 0.97): # grep -i title /boot/grub/menu.lst | grep "#" -v Mostrar las entradas registradas para el gestor de arranque GRUB 2: # grep -i menuentry /boot/grub/grub.cfg | grep "#" -v Mostrar la tabla de particiones (File System TABle) que el sistema monta automáticamente durante el arranque: $ less /etc/fstab Mostrar el valor UUID (Universally Unique IDentifier) de todas las particiones: # blkid REDES Listar los dispositivos de red alámbricos PCI: $ lspci | grep -i ethernet Listar los dispositivos de red inalámbricos PCI: $ lspci | grep -i network Listar los dispositivos de red USB: $ lsusb | grep -i ethernet ; lsusb | grep -i network Mostrar los módulos cargados por el sistema, para controlar tarjetas de red inalámbricas: $ lsmod | grep iwl Mostrar información del controlador usado por un dispositivo de red específico (se debe sustituir la palabra interfaz por el nombre lógico de la tarjeta de red, por ejemplo eth0, wlan0, ath0, etc.): # ethtool -i interfaz Nota: El paquete anterior no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación. Configuración de las tarjetas de red y sus direcciones IP asignadas: $ cat /etc/network/interfaces Resolución de Nombres de Dominio: $ cat /etc/resolv.conf Mostrar el contenido del archivo HOSTS: $ cat /etc/hosts Nombre del equipo, tal y como se verá en la red local: $ cat /etc/hostname o $ grep 127.0.1.1 /etc/hosts o $ echo $HOSTNAME Direcciones IP locales de las tarjetas de red alámbricas (resumen): $ /sbin/ifconfig | grep -i direc | grep -i bcast si el sistema está en inglés se usa: $ /sbin/ifconfig | grep -i addr | grep -i bcast Direcciones IP locales de las tarjetas de red alámbricas (detalle): $ /sbin/ifconfig Direcciones IP locales de las tarjetas de red inalámbricas (resumen): $ /sbin/iwconfig | grep -i direc | grep -i bcast si el sistema está en inglés se usa: $ /sbin/iwconfig | grep -i addr | grep -i bcast Direcciones IP locales de las tarjetas de red inalámbricas (detalle): $ /sbin/iwconfig Mostrar la tabla de enrutamiento: # route -n Para conocer la dirección IP pública (externa): $ curl ip.appspot.com REPOSITORIOS / ACTUALIZACIONES DEL SISTEMA "Unicamente en distros basadas en Debian" Visualizar el contenido del archivo sources.list, el cual contiene las direcciones de los repositorios: $ less /etc/apt/sources.list VIDEO Listar las tarjetas de vídeo (PCI / PCIe): $ lspci | grep -i vga Para determinar si el equipo soporta aceleración de gráficos es necesario que esté instalado el paquete de herramientas mesa-utils. Dicho paquete contiene el comando glxinfo: $ glxinfo | grep -i render Para calcular los FPS (frames per second) se ejecuta el siguiente comando: $ timeout 60 glxgears el cual mostrará durante 60 segundos (con la ayuda del comando timeout) una ventana pequeña con una animación de 3 engranajes, mientras que al mismo tiempo en la ventana de la terminal se mostrarán los valores promedios de fotogramas por segundo (FPS, frames per second): Ejemplo del desempeño gráfico de un sistema: 338 frames in 5.4 seconds = 62.225 FPS 280 frames in 5.1 seconds = 55.343 FPS 280 frames in 5.2 seconds = 54.179 FPS 280 frames in 5.2 seconds = 53.830 FPS 280 frames in 5.3 seconds = 53.211 FPS 338 frames in 5.4 seconds = 62.225 FPS 280 frames in 5.1 seconds = 55.343 FPS 280 frames in 5.2 seconds = 54.179 FPS 280 frames in 5.2 seconds = 53.830 FPS 280 frames in 5.3 seconds = 53.211 FPS Ejemplo de un mejor desempeño gráfico en otro sistema: 2340 frames in 5.0 seconds = 467.986 FPS 2400 frames in 5.0 seconds = 479.886 FPS 2080 frames in 5.0 seconds = 415.981 FPS 2142 frames in 5.0 seconds = 428.346 FPS 2442 frames in 5.0 seconds = 488.181 FPS 2295 frames in 5.0 seconds = 458.847 FPS 2298 frames in 5.0 seconds = 459.481 FPS 2416 frames in 5.0 seconds = 483.141 FPS 2209 frames in 5.0 seconds = 441.624 FPS 2437 frames in 5.0 seconds = 487.332 FPS Para mostrar la configuración actual del servidor X (X Window System)En mi Debian no se encontro este archivo pero lo dejo por las dudas..!) $ less /etc/X11/xorg.conf Para conocer la resolución actual (anchura x altura) y frecuencia de barrido (MHz): $ xrandr | grep '*' Para conocer todas las resoluciones que la configuración actual soporta: $ xrandr Para mostrar las cámaras web (USB): $ lsusb | grep -i camera El siguiente ejemplo muestra el resultado de 2 cámaras web conectadas a un mismo equipo: Bus 001 Device 003: ID 0c45:62c0 Microdia Sonix USB 2.0 Camera Bus 002 Device 004: ID 0ac8:3420 Z-Star Microelectronics Corp. Venus USB2.0 Camera Las cámaras web se "montan" en orden consecutivo en la ruta /dev/ : Bus 001 ---> /dev/video0 Bus 002 ---> /dev/video1 Bus 003 ---> /dev/video2 [...] Para comprobar que las cámaras web se han "montado" en su ruta correspondiente: $ ls /dev/video* -lh AUDIO Listar hardware de audio: $ lspci | grep -i audio ó # lshw | grep -i audio | grep product Nota: El paquete anterior no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación. Listar los dispositivos de reproducción de audio: $ aplay -l | grep -i tarjeta si el sistema está en inglés entonces se usa: $ aplay -l | grep -i card Listar todos los módulos que cargó el sistema, para ser usados por los dispositivos de sonido: $ lsmod | grep -i snd Las siguientes son pruebas para verificar si los altavoces están correctamente conectados y distribuidos. Los altavoces deben estar encendidos y durante la prueba se puede ajustar el volumen, cables, y disposición. Cada prueba emite un sonido en un ciclo, y se repite 2 veces más: Si el sistema de sonido es de 1 canal (monoaural): $ speaker-test -l 3 -t sine -c 1 Si el sistema de sonido es de 2 canales (stereo): $ speaker-test -l 3 -t sine -c 2 Si el sistema de sonido es de 5.1 canales (surround): $ speaker-test -l 3 -t sine -c 6 REGISTROS (logs) Visualizar las 30 últimas líneas del buffer del kernel: $ dmesg | tail -30 Visualizar todo el buffer del kernel: $ dmesg | less Los registros del servidor X dan información útil sobre la configuración actual del mismo, y sobre la tarjeta de video: $ cd /var/log/ $ ls Xorg* -hl ello mostrará todos los archivos de registros del servidor X, siendo el archivo Xorg.0.log el más reciente. Para ver los mensajes de error (errors) y mensajes de advertencia (warnings): $ grep -E "(WW)|(EE)" Xorg.0.log | grep -v unknown Si se desea ver toda la información del registro: $ less Xorg.0.log Si se desea ver el contenido de algún registro anterior al actual sólo basta sustituir el nombre de archivo Xorg.0.log por el nombre del archivo que se desee visualizar. Para visualizar el registro de arranque (boot) es necesario activarlo primeramente. Se debe abrir el archivo /etc/default/bootlogd y sustituir el valor no por yes, quedando así: # Run bootlogd at startup ? BOOTLOGD_ENABLE=yes Durante el próximo inicio del sistema se generará el archivo /var/log/boot el cual ya podrá ser revisado: # less /var/log/boot Los registros anteriores de arranque pueden visualizarse con: # ls /var/log/boot* -hl y consultarse como ya se ha mostrado. Para ver otros registros: La mayoría de los registros (logs) del sistema se encuentran en el directorio /var/log/, así como también en varios subdirectorios, por lo tanto sólo basta entrar a dicho directorio y realizar un listado para conocerlos: # cd /var/log/ # ls -hl OTRAS FORMAS DE CONOCER EL SISTEMA Aunque existen también herramientas gráficas que permiten conocer el sistema, es posible que el ambiente gráfico no funcione, por ello el uso de la terminal es indispensable para el trabajo. Algunas de las herramientas gráficas son hardinfo y sysinfo, y para instalarlas desde la terminal: # aptitude install hardinfo sysinfo Posteriormente se ejecutan desde las subcategorías en el menú K: hardinfo aparece como System Profiler and Benchmark, y sysinfo aparece con el nombre Sysinfo. Nota: EL contenido de este post fue probado unicamente en Debian, por tal motivo no garantizo el que todos los comandos funcionen en distros No basadas en Debian... Bueno amigos eso es todo por hoy, espero que les sea de utilidad el post y si es asi no duden en recomendarlo ya que a otros tambien les puede servir...

149
18
Introduccion a AWK
Introduccion a AWK
LinuxporAnónimo11/28/2012

Hola amig@s de T! bueno hoy voy a compartir con ustedes una pequeña guia introductoria para aprender a usar el comando o lenguaje de programacion AWK Ok empecemos..! Introduccion a AWK Acerca de AWK. AWK, cuyo nombre deriva de la primera letra de los apellidos de sus autores Alfred Aho, Peter Weinberger y Brian Kernighan, es un lenguaje de programación que fue diseñado con el objetivo de procesar datos basados sobre texto y una de las primeras herramientas en aparecer en Unix. Utiliza listas en un índice ordenado por cadenas clave (listas asociativas) y expresiones regulares. Es un lenguaje ampliamente utilizado para la programación de guiones ejecutables pues añade funcionalidad a las tuberías en los sistemas operativos tipo POSIX. Está incluido en las instalaciones básicas de prácticamente todas las distribuciones de GNU/Linux. Estructura de los programas escritos en AWK. El comando awk utiliza un archivo o emisión de ordenes y un archivo o emisión de entrada. El primero indica como procesar al segundo. El archivo de entrada es por lo general texto con algún formato que puede ser un archivo o bien la salida de otro mandato. La sintaxis general utilizada para el mandato awk sigue el siguiente patrón: awk 'expresión-regular { orden }' Cuando se utiliza el comando awk, este examina el archivo de entrada y ejecuta la orden cuando encuentra la expresión regular especificada. El siguiente modelo ejecutaría la orden al inicio del programa y antes de que sean procesados los datos del archivo de entrada: awk 'BEGIN { orden }' El siguiente modelo ejecutaría la orden al final del programa y después de que sean procesados los datos del archivo de entrada: awk 'BEGIN { orden }' El siguiente modelo ejecutaría la orden por cada una de las líneas del archivo de entrada: awk '{ orden }' Procedimientos A continuación se mostrarán ejemplos del uso de AWK. El siguiente comando específica que al inicio se imprima en la salida la frase "Hola mundo" y terminar el procesamiento. awk 'BEGIN { print "Hola mundo"; exit }' La linea anterior debera devolver una salida como la siguiente: Hola Mundo Ahora generaremos un archivo "ejemplo.txt" del siguiente modo: echo -e "Columna1\tColumna2\tColumna3\tColumna4\n" > ejemplo.txt Ahora lo visualizaremos con el comando cat: cat ejemplo.txt Devolvera el siguiente contenido: Columna1 Columna2 Columna3 Columna4 Ahora utilizaremos el comando awk para que solo muestre la columna 1 y la columna 3 del siguiente modo: awk '{ print $1, $3}' ejemplo.txt La salida anterior devolvera lo siguiente: Columna1 Columna3 Ahora utilizaremos el comando awk para que solo muestre la columna 3 y la columna 1 del siguiente modo: awk '{ print $3, $1}' ejemplo.txt La salida anterior devolvera lo siguiente: Columna3 Columna1 Para añadir datos al archivo ejemplo.txt se hace de la siguiente manera: echo -e "Dato1\tDato2\tDato3\tDato4\n" >> ejemplo.txt echo -e "Dato5\tDato6\tDato7\tDato8\n" >> ejemplo.txt echo -e "Dato9\tDato10\tDato11\tDato12\n" >> ejemplo.txt Se visualizara de la siguiente manera: cat ejemplo.txt Para utilizar nuevamente el comando awk para que solo muestre la columna 1 y la columna 3 se hace del siguiente modo: awk '{ print $1, $3}' ejemplo.txt Si se utiliza el comando awk del siguiente modo para que solo muestre solo la línea cuya columna contenga la expresión regular Dato5: awk '/Dato5/ { print }' ejemplo.txt La salida devolvera lo siguiente: Dato5 Dato6 Dato7 Dato8 Si se utiliza el comando awk del siguiente modo para que solo muestre solo la línea cuya columna contenga la expresión regular Dato5, y además solo las columnas 1 y 4: awk '/Dato5/ { print $1, $4 }' ejemplo.txt La salida devolvera lo siguiente: Dato5 Dato8 Si se utiliza el comando awk del siguiente modo para que muestre solo las líneas con más de 35 caracteres en el archivo /etc/crontab: awk 'length > 35' /etc/crontab La salida devolvera lo siguiente: 17 ** * *root cd / && run-parts --report /etc/cron.hourly 25 6* * *roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6* * 7roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 61 * *roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) Si se utiliza el comando awk del siguiente modo para que muestre solo las líneas con menos de 35 caracteres en el archivo /etc/crontab: awk 'length < 35' /etc/crontab La salida devolvera lo siguiente: SHELL=/bin/sh # m h dom mon dow usercommand # Ahora si utilizamos "VI, NANO o algun otro editor de texto" para crear un archivo usuario.txt: vi usuario.txt Ingresamos el siguiente contenido: Fulano Algo Calle Mengana 123 Colonia Perengana Ciudad de Zutano, C.P. 123456 Para que el comando awk reconozca cada línea como un registro completo, en lugar de considerar cada palabra como una columna, se utiliza 'BEGIN { FS="n" ; RS=""}', donde el valor de FS (Field Separator o separador de campo) se establece como un retorno de carro y el valor de RS (Record Separator o separador de registro) se establece como una línea vacía. Si utiliza el siguiente mandato donde se establecen los valores mencionados para FS y RS y se pide se impriman los valores de cada registro (cada línea) separados por una coma y un espacio: awk 'BEGIN { FS="\n"; RS="" } { print $1 ", " $2 ", " $3 ", " $4 }' usuario.txt La salida le devolvera lo siguiente: Fulano Algo, Calle Mengana 123, Colonia Perengana, Ciudad de Zutano, C.P. 123456 El comando awk puede realizar conteo de líneas, palabras y caracteres. El el siguiente mandato se establece que el valor de w sea igual al número de campos (New Field o NF), c sea igual la longitud de cada campo, y que se imprima el número de campos, el valor de w y el valor de c: awk '{ w += NF; c += length} \ END { print \ "Campos: " NR , "\nPalabras: " w, "\nCaracteres: " c }' \ usuario.txt La salida le devolvera lo siguiente: Campos: 5 Palabras: 12 Caracteres: 74 Ahora generaremos un archivo "numeros.txt" con el siguiente contenido, donde las columnas serab separadas por un tabulador: 1 2 3 4 5 6 7 8 9 10 11 12 El comando awk puede realizar operaciones matemáticas. el siguiente mandato establece que s es igual a la suma del valor de los campos de la primera columna del archivo numeros.txt, e imprime el valor de s: awk '{ s += $1 } END { print s }' numeros.txt La salida devolvera lo siguiente (resultado de la suma de 1+5+9): 15 Tambien se puede hacer lo mismo pero con los valores de la columna 2: awk '{ s += $2 } END { print s }' numeros.txt La salida devolvera lo siguiente (resultado de la suma de 2+6+10): 18 Para hacer conteo de frecuencia de palabras, Se establece que el valor para FS (Field Separator o separador de línea) sea igual a expresiones regulares que van desde la a a la z y desde la A a la Z, se establece que el valor de la variable i es igual a 1 y menor al número de campos. awk 'BEGIN { FS="[^a-zA-Z]+"} \ { for (i=1; i<=NF; i++) words[tolower($i)]++ } \ END { for (i in words) print i, words }' /etc/crontab La salida devolvera lo siguiente o algo parecido : 18 of 1 version 1 bin 4 fields 1 this 1 anacron 3 sh 1 monthly 1 sbin 6 local 2 new 1 any 1 run 5 test 3 to 2 cd 4 user 1 usr 7 h 1 dow 1 etc 6 m 1 unlike 1 other 2 install 1 shell 1 system 1 root 4 Bueno amigos eso es todo espero que les sea útil... Nota: Ya he corregido el inconveniente con la barra invertida \ gracias @alband por el dato ...

137
0
Formas basicas para mantener un servidor SSH seguro
Formas basicas para mantener un servidor SSH seguro
LinuxporAnónimo12/23/2012

Hola amig@s de T! Bueno esta vez voy a compartir con ustedes una guia basica para mantener un servidor SSH seguro. Ok empecemos. Formas basicas para mantener un servidor SSH seguro Bueno para empezar ahi que abrir para editar el archivo de configuracion localizado en la siguiente ruta: /etc/ssh/sshd_config Bueno luego de haber localizado el archivo vamos empezamos a hacerle unos pequeños cambios... 1. Cambiar el puerto que viene por defecto en el servicio ssh La primera regla de seguridad es cambiar el puerto que viene por defecto ya que la mayoria de herramientas automatizadas de hoy en dia que se utilizan para realizar ataques de fuerza bruta atacan directamente en ese puerto. En el archivo sshd_config ahi que cambiar el puerto que viene por decfeto. Es recomendable usar un puerto superior a 1024. Port 22 Lo cambiaran por: Port 2222 o algun otro 2. Deshabilitar el acceso a root Para desactivar la conexion directa del administrador ahi que configurar la siguiente opcion: PermitRootLogin no Si esta en YES ahi cambiarlo por NO. 3. Permitir que solo algunos usuarios puedan conectarse al servidor. Para permitir que solo algunos usuarios tengan permiso de usar el servicio ssh tenemos que hacer lo siguiente: Deben agregar su usuario en la siguiente linea si no se encuentra deben agregarla. AllowUsers piruo7 En el caso de ser varios los usuarios deben separarlos con comas [ user1, user2 ]. 4. Para controlar el maximo de intentos de logueos fallidos debemos hacer lo siguiente: Si no se encuentra la siguiente linea deben agregarla... MaxAuthTries 3 Pueden cambiar el 3 por las veces que ustedes deseen... Al terminar de modificar el archivo solo falto reiniciar el servicio. Para lograrlo tienen que ejecutar el siguiente comando como root: /etc/init.d/ssh restart Tambien pueden hacerlo con: service ssh restart Nota: Hay otras formas mas complejas para asegurar el servicio SSH pero como dije anteriormente estas formas son basicas. Bueno amigos esto es todo por esta vez si conocen de alguna otra forma no duden en compartirla.

27
7
I
Instalacion y configuracion de Fail2ban
LinuxporAnónimo12/19/2012

Hola amigos de T! Bueno hoy voy a compartir con ustedes una pequeña guia para instalar y configurar Fail2ban en Debian. Ok empecemos..! Instalacion y configuracion de Fail2ban Fail2ban es una aplicación escrita en Python para la prevención de intrusos en un sistema, que se basa en la penalización de conexión (bloquear conexión) a los orígenes que intentan accesos por fuerza bruta. Se distribuye bajo la licencia GNU y típicamente funciona en todos los sistemas POSIX que tengan interfaz con un sistema de control de paquetes o un firewall local. Más info... Instalacion apt-get install fail2ban Configuracion Para configurar fail2ban tenemos que acceder a los archivos ubicados en en/etc/fail2ban/. El archivo principal y el que vamos a configurar en este post en jail.conf Les dejo un pequeño listado con las palabras y definiciones mas comunes que vamos a encontar en este archivo: ignoreip : IP que deseamos que ignore fail2ban bantime : Tiempo que tendra que esperar el usuario que supero la cantidad maxima de logueos (segundos) maxretry : Numero de intentos de logeo. destemail: Dirección de correo donde nos enviará las nuevas alertas (se debe tener configurado un SMTP) action : Simboliza la manera en que iptables aplicara las reglas enable : Activa o desactiva la verificación del servicio para Fail2ban (TRUE , FALSE) port : Nombre del servicio que está relacionado con el puerto por ejemplo "ssh" logpath : Ruta donde se ubicaran los ficheros Logs para ver toda la información según cual sea el servicio. Bueno empecemos a modificar el archivo jail.conf Ahora modificaremos la siguiente linea para agregar el correo de destino para las notificaciones de fail2ban, en caso de no estar presente en el archivo la podemos agregar. destemail = [email protected] Es recomendable que agreguemos en la linea “ignoreip” nuestra ip local, o la de algun servidor con el que podamos conectar en caso de que por error nos bloqueemos nosotros mismos: ignoreip = 127.0.0.1 Buscar la siguiente linea y establecer el tiempo de prohibicion: bantime = 600 Proteger el servidor SSH contra intentos de accesos fallidos: enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6 Habilitar proteccion para Apache: enabled = true port = http,https filter = apache-auth logpath = /var/log/apache*/*error.log maxretry = 6 Habilitar proteccion para vsftpd: enabled = true port = ftp,ftp-data,ftps,ftps-data filter = vsftpd logpath = /var/log/vsftpd.log maxretry = 4 Tambien podemos habilitar y configurar la proteccion otros servicios como, Nginx, qmail, proftpd, sasl, asterisk, postfix, courier, Bind, etc. Reiniciareamos Fail2ban /etc/init.d/fail2ban restart Probar la configuracion fail2ban-client -d El comando anterior vertera la configuracion y mostrara los errores de la misma Monitorear el registro de Fail2ban: tail -f /var/log/fail2ban.log Si quieren monitorear el servicio SSH lo que tiene que hacer es lo siguiente: tail -f var/log/auth.log La ruta del archivo cambia dependiendo a la configuracion que ustedes pusieron. Nota: si me olvide de algo en el post o hay algo mal detallado no duden en avisame. Tambien quiero aclarar que esta es una configuracion basica y todo lo que se realizo en el post fue probado en Debian 6. Bueno amigos esto es todo por hoy y espero que les sea util...

83
4
¿Quien es Richard M. Stallman?
¿Quien es Richard M. Stallman?
LinuxporAnónimo1/31/2013

¿Quien es Richard M. Stallman? Richard Stallman es el fundador de la Free Software Foundation (FSF) ("Fundación para el Software Libre") y también el responsable del proyecto GNU. Creador del movimiento más revolucionario de la historia de la informática, tal vez, hasta, el mayor desde la Revolución Industrial. El hombre que creó el software libre y es doctor honorario en dos facultades europeas. Dejó de lado una prometedora y rica carrera en la gran industria del software, y una vida bien tipo "american way of life", para defender sus principios y la libertad del conocimiento. Es inventor del concepto Copyleft, una tipo de licenciar el software de tal forma que siempre permanezca libre y su uso y modificaciones siempre se reviertan en la comunidad. Más info... Es el creador de innumerables y divertidas frases, algunas de las cuales son estas: "He recibido tantas colaboraciones para el software libre que desarrollo, que administrar esas ayudas se vuelve un problema. Microsoft no tiene ese problema" "A Microsoft no le gusta que escapemos a su poder" "Hoy tenemos algo que hace 21 años no teniamos: enemigos poderosos. Grandes empresas y su gobierno mascota, el de Bush" "El éxito es la meta? Pienso que no. La meta es conseguir, defender y mantener nuestra libertad" "Poner patentes a licencias sobre el software es como poner patentes sobre las recetas culinarias. Nadie podría comer a menos que pagara por la licencia de la receta" "Beethoven era un buen compositor porque utilizaba ideas nuevas en combinación con ideas antiguas. Nadie, ni siquiera Beethoven podría inventar la música desde cero. Es igual con la informática" "Software privativo (o licenciado) significa que priva a los usuarios de su libertad" "La libertad no es poder elegir entre unas pocas opciones impuestas, sino tener el control de tu propia vida. La libertad no es elegir quien será tu amo, es no tener amo" "En la actualidad nos hacen creer que ayudar a un amigo es moralmente equivalente a atacar un barco. Te llaman pirata" "Enseñar a los niños el uso de software libre en las escuelas, formará individuos con sentido de libertad" "Ahora la libertad en mi pais es una palabra sin significado y sin aplicación práctica en la vida" "Voy a escribir software libre, o moriré en el intento" "La elección fácil era unirme al mundo del software propietario, firmar los acuerdos de no revelar, y prometer que no iría en ayuda de mi amigo hacker. Podría haber hecho dinero de esta manera, y tal vez me hubiera divertido escribiendo codigo. Pero sabía que al final de mi carrera, al mirar atrás los años la pase construyendo paredes para dividir a la gente, sentiría que usé mi vida para empeorar el mundo... " "No sólo hay el trabajo de desarrollar buenos programas bajo software libre, sino el trabajo de resistir, contra las patentes de software" "Bill Gates está espiándote.... "

104
58
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.