No soy administrador del sistema, pero tengo un buen conocimiento de Linux, Unix, Windows y hardware.
¿Cuáles son los temas más necesarios que un administrador de Linux debe saber de memoria? )?
El FOCUS que me gustaría establecer para esto sería desde la red de la empresa hasta la administración del servidor, que puede tener algunas características iguales y la mayoría de las veces también tendrá algunas diferentes. Por ejemplo, no siempre verá un servidor FTP para el servidor de una empresa, pero probablemente verá Samba la mayor parte del tiempo ...
No estoy diciendo "libro que debes leer" o cosas así, pero me refería a las características más necesarias que probablemente serán necesarias en tu vida diaria como administrador de Linux.
Me gusta:
- Kernel, iptables
- Sendmail, Postfix, qmail, exim
- Calamar, Samba, NFS, LDAP
- Apache, ngxix, lighthttpd
- vsftpd, proftpd
- enlazar
- Problemas diarios enfrentados
- ¿Cuál es la característica que más usaste durante el día?
Esta no es una lista en orden ni la más necesaria. Simplemente nombra algo que se me ocurrió.
PD: Ya tengo los conocimientos básicos, pero no tengo una experiencia diaria en el campo. He tenido servidores, he creado algunas redes, etc. Además, incluso tengo un profundo conocimiento en algunas partes de él. Solo quería actualizar esto aquí, como dije, es más una LISTA DIARIA DE UNA VIDA DE SYSADMIN DE LINUX.
Les agradecería si ustedes / chicas pudieran enumerar temas y, por ejemplo, qué campo es el más utilizado o importante para memorizar.
Si crees que mi pregunta no es adecuada, házmelo saber y la eliminaré yo mismo o si crees que es adecuada pero necesita una nueva revisión, házmelo saber también y haré todo lo posible.
Are you really sure you care about the day-to-day things?
mmmmm pero ¿hay problemas que suceden como parte de la vida diaria de uno? que le llevará a las funciones más utilizadas, por ejemplo, la red DHCP ifconfig como dijiste ... debuging a qué nivel el problema suceder, etcSepa qué herramientas tiene
Nunca lo sabrás todo antes de tiempo. Pero se puede saber lo que tiene que trabajar. Cuantas más herramientas conozca, más podrá usar. Si sabe qué es la herramienta, qué hace y dónde encontrar más información al respecto, entonces es lo suficientemente bueno para comenzar.
Familiarízate realmente con las
man
páginas. No tiene que memorizarlos, pero debe saber dónde encontrar lo que está buscando.man
las páginas son mejores que Google para buscar detalles de sintaxis, ya que las páginas instaladas en un sistema dado reflejan las diversas peculiaridades o información específica de la versión que corresponde al sistema que está viendo.Si usa
apache
mucho, le recomiendo aprender la sintaxis de configuración de apache. Si usanginx
en su lugar, aprenda eso en su lugar. Pero de cualquier manera, debes saber qué son y cómo son diferentes.Herramientas de sistema
Hay algunas herramientas que lo ayudarán sin importar qué tipo de trabajo de administrador de sistemas esté haciendo. Suponiendo que conoce los conceptos básicos, como
chmod
,mount
etc., aquí hay algunas herramientas muy útiles que algunos administradores no entienden lo suficientemente bien:Línea de comando Ninja
Diría que una comprensión sólida de las secuencias de comandos de shell hace maravillas para hacer que las cosas difíciles sean rápidas y fáciles. Si tiene que buscar la sintaxis, lo más probable es que no lo haga en absoluto, por lo que conocerlo con anticipación es fundamental.
Por ejemplo, supongamos que tiene un directorio lleno de
mysqldump
archivos ".sql", cada uno de los cuales representa una base de datos que debe importarse al servidor. ¿Importan los 35 de forma manual? Si está razonablemente familiarizado con las secuencias de comandos de shell, es realmente rápido y fácil simplemente escribir un comando y luego ir a tomar un café:Nota: Lo dividí en líneas separadas para facilitar la lectura; Si deja los puntos y comas, puede ponerlo todo en una línea. De lo contrario, no se necesitan puntos y comas al final de cada línea.
Además, recomiendo repasar el uso
sed
. Piense en ello como una forma de aplicar expresiones regulares en cualquier lugar. http://www.grymoire.com/Unix/Sed.htmlSupongamos que cambió su número de teléfono y necesita actualizar todas sus páginas web en consecuencia (y guardar una copia de seguridad en caso de que se equivoque).
Saber cómo encadenar adecuadamente las herramientas existentes para hacer cosas nuevas también puede ser realmente útil. Digamos que necesita hacer lo mismo que antes, pero también buscar dentro de subdirectorios:
También es útil tener algo de experiencia
perl
. Es posible que no necesite escribir programas serios con él, pero fue diseñado para hacer muchas de las cosas que hacersed
yawk
hacer, solo tal vez un poco más flexible.Perl se puede usar para hacer magia de línea de comandos usando la
-e
opción. Usando con-p
,-n
y-i
, puede escribir rápidamente filtros simples para hacer cosas realmente útiles. Por ejemplo, supongamos que necesita encontrar la dirección IP de todos los que accedieron a "/admin.php" en septiembre:¿Ver? Eso no estuvo tan mal. Como administrador del sistema, se espera que sepa cómo hacer estas cosas.
fuente
Soy un administrador de Windows que incursiona un poco en Linux, por lo que no estoy en condiciones de responder la pregunta directamente. Sin embargo, en mi opinión, una vez que tenga una comprensión decente de los conceptos básicos, la única cosa más importante que un administrador debe saber, independientemente del sistema operativo, es dónde y cómo encontrar las respuestas.
fuente
Además de las otras respuestas:
Creo que también debe saber cómo se manejan los procesos:
Creo que no necesitas dominar sed (sé que al menos no), me las arreglo con uno de los greps (grep, egrep, zgrep, etc.) fácilmente. Sin embargo, debe conocer la sintaxis básica de las expresiones regulares.
Creo que debe conocer los comandos básicos para manipular y / o monitorear MTA (postfix o exim) y MDA (dovecot, cyrus, courier) si mantiene un servidor de correo. Incluso si no ejecuta uno, tendrá que poder ejecutar pruebas SMTP básicas en un MTA, aunque solo sea por problemas de entrega local.
Debe conocer el sistema de autenticación que está utilizando (PAM, LDAP). ¿Dónde se almacenan sus contraseñas? utilizando qué procedimientos? ¿Qué aplicaciones usan qué mecanismos de autenticación?
fuente
Hay algunas cosas que NECESITA saber.
Debe tener una buena comprensión de su shell (cómo analiza los argumentos, cómo expande los comodines, dónde están los casos de esquina cursi).
Debe poder editar archivos sin ejecutar X11.
Debe poder montar y desmontar sistemas de archivos.
Debe tener la capacidad de absorber nueva información, rápidamente. Debido a que estas son las habilidades que necesita cuando la granja de servidores de toda la empresa falla y solo tiene acceso a través de un servidor de consola (que es "consola" como en el puerto serie) y / o una conexión VPN muy lenta (haciendo cualquier cosa basada en X11 también doloroso). Y sucederá, así que planifícalo.
fuente
Los ejemplos dados son excelentes respuestas relacionadas con el servidor ... sin embargo ... La administración del sistema nunca es 100% computadoras ... ¡Ojalá lo fuera!
También tiene que tratar con personas, en nuestro caso, eso significa Manglement, Lusers, Contratistas y Proveedores. Arg ^ n
Habilidades de servicio al cliente saber cómo hablar sobre lo que necesita / desea / debe hacer, obtener información para otras personas, documentación, todo es esencial para mantener su trabajo de administrador de sistemas.
Si desea que sus proyectos se financien y utilicen: No tiene sentido tratar de obtener un nuevo servidor si no sabe cómo solicitar el dinero, si no tiene las cifras / alternativas / plan DR / presupuestos / plan de implementación etc. La política de la oficina es un B ** CH, el dinero siempre es "apretado" ... lo que sea que eso signifique ... no afecta a los autos de los ejecutivos, pero afectará la seguridad de su sitio y la capacidad de estandarizar si puede No les imprimas tus razones.
Yo diría lo más importante para recordar: NO CONFÍES EN LO QUE DICE UN USUARIO . Tenlo en cuenta cuando contestes el teléfono ... no importa lo que digan, aún tendrás que resolverlo por ti mismo, porque en última instancia es tu trasero, no el de ellos, y generalmente no tienen idea. El hecho de que puedan armar un párrafo cargado de palabras de moda para engañar a su jefe, no significa que realmente sepan lo que acaban de decir.
Otros pensamientos:
Asegúrese de tener suficiente tiempo en el UPS para apagar todo CUANDO la energía falla
Monitoreo, asegúrese de que usted sabe que tiene bajado .. no esperar a que los lusers a teléfono.
BACKUPS BACKUPS BACKUPS ... los sistemas multiusuario son propensos a horas extras si no tiene un buen sistema de respaldo ... las horas extras son malas (no para su bolsillo, sino para su presupuesto y apariencia de profesionalismo).
NUNCA CAMBIE NADA EL VIERNES, o el día antes de un feriado ... lo llamarán durante el fin de semana, tendrá que arreglarlo, lo pasará muy mal ...
Estandarice y automatice ... ¡tanto como pueda! Si puedes escribirlo, ¿por qué no?
Descubra cómo usar / instalar un sistema de servicio de asistencia, hacer que los usuarios registren las llamadas a través de él, le permitirá realizar un seguimiento de sus actividades, proporcionará a los superiores incentivos para pagarle más por el trabajo que realiza y le permitirá grabar sus respuestas (de facto KB) ... todo mientras informa al usuario del progreso. Asegura que las consultas / problemas de los usuarios no se pierdan en la inundación ... (Spiceworks es gratis, hay muchos otros)
Compré una copia de: The Practice of System Administration , de Limoncelli, lo recomiendo encarecidamente.
fuente
Un administrador de Linux necesita comprender a fondo los permisos de los archivos , así como el uso de herramientas como su y sudo , chmod y chown , etc., cómo agregar un usuario a un grupo o crear nuevos usuarios, cómo otorgar privilegios SSH a ciertos usuarios o grupos
fuente
Necesita ser rápido con un editor en la línea de comando.
fuente
Aprenda
sed
,grep
yawk
: mucho de lo que hago a diario como administrador de sistemas Linux es desplegar una gran lista de archivos / computadoras / usuarios / etc. y transforma la entrada en otro conjunto de salidas para que otro programa las use.Un ejemplo concreto de esto es tomar una lista de computadoras reventadas de, por ejemplo, bugzilla o RT, eliminar toda la información extraña que he copiado y pegado rápidamente en un documento de texto usando una de las tres herramientas anteriores, y luego generar una lista delimitada por espacios de un grupo de nodos en los que necesito SSH.
Además, definitivamente tendrá que conocer los límites superiores del shell que está utilizando. En la mayoría de los casos, si tiene que eliminar un montón de archivos obsoletos, es probable que se encuentre con una carpeta con más de 30k archivos.
rm *
no funcionará, ya que el asterisco se expandirá a una lista con más de 30,000 entradas, y el shell que está utilizando probablemente no podrá contener una lista de ese tamaño. La forma de resolver esto es conxargs
: en lugar derm *
usarls | xargs -i{} rm {}
, lo que funcionará.fuente
Como administrador de sistemas, me considero un médico digital (o, dependiendo del día, a veces un cirujano cerebral de clase mundial).
Cuando todo funcione, tendrá mucho tiempo para mejorar sus propias habilidades y los sistemas que administra.
Cuando algo falla, deberá poder diagnosticar el problema de inmediato y darse cuenta de cómo solucionarlo.
Por lo tanto, debe aprender / memorizar los conceptos básicos (y también hasta cierto punto los aspectos internos) de los servidores y aplicaciones que administra. Supongamos que su empresa aloja un sitio web con la raíz web que se sirve a través de NFS. De repente, todos los nodos www comienzan a alarmarse y el sitio deja de responder. ¿Qué sospechar? Ah-ha! El servidor NFS simplemente dejó de funcionar y el clúster de conmutación por error tampoco funcionó por alguna razón.
Otro aspecto importante para aprender es la carga base de los servidores que administra. Aprenda a memorizar su carga promedio, uso de CPU, uso de memoria y cosas por el estilo. OK, no tiene que memorizar todo eso: los gráficos creados con Cacti o net-snmp + mrtg pueden ayudar mucho, pero si su buscapersonas se alarma sobre el comportamiento del servidor X y, al mismo tiempo, el servicio de asistencia lo llama para informarle sobre algún otro el servidor o el servicio se vuelven locos, es posible que pueda combinar esas dos cosas e ir a arreglarlo antes de mirar los registros, el historial de alarmas o los gráficos.
También prepárese para lo peor: piense qué haría si todo el centro de datos se apagara debido al corte de energía. ¿Cómo arrancarías todo después de que la electricidad volviera a estar disponible? ¿Qué harías si algo no se iniciara? ¿Cómo restaurarías las copias de seguridad? ¿O qué harías si alguien te alertara sobre un cracker que acaba de ingresar a tus servidores? (Este tipo de cosas deben documentarse como una lista de verificación, pero también es bueno tener algún tipo de intuición)
Y, como lo mencionaron otros, continúe y escriba las cosas que deberían ejecutarse (semi) automáticamente. Aprende y juega con el shell / Perl, realmente son tus mejores amigos y muy a menudo pueden resolver problemas muy complejos con solo un par de comandos conectados.
fuente