Beruflich Dokumente
Kultur Dokumente
11.2 Linux Fundamentos Objetivos del examen En este capítulo se hará cargo de los temas de
los siguientes objetivos del examen Linux Essentials: Tema 4: El sistema operativo Linux (peso:
8) 4.3: ¿Dónde se almacenan los datos Peso: 3 Descripción: ¿Dónde se almacenan diversos
tipos de información en un sistema Linux .. Principales Áreas de Conocimiento: • Kernel •
Procesos • syslog, klog, dmesg • / lib, / usr / lib, / etc, / var / log La siguiente es una lista parcial
de los usados archivos, términos y utilidades: • Programas, bibliotecas, paquetes y paquetes
de bases de datos, la configuración del sistema • Procesos y tablas de proceso, las direcciones
de memoria, mensajes del sistema y registro • ps, top, gratis
11.3 El kernel y / procEn esta tarea, usted explorará el directorio / proc y comandos que se
comunican con el núcleo Linux. El directorio / proc parece ser un directorio ordinario, como /
usr o / etc, pero no lo es. A diferencia o etc directorios / usr /, que normalmente se escriben en
una unidad de disco, el directorio / proc es un sistema de archivos de pseudo mantenido en la
memoria de la computadora.El directorio / proc contiene un subdirectorio para cada proceso
que se ejecuta en el sistema. Los programas como ps y top leer la información sobre la
ejecución de los procesos de estos directorios. El directorio / proc también contiene
información sobre el sistema operativo y el hardware en archivos como / proc / cpuinfo, / proc
/ meminfo y / proc / devices.El subdirectorio / proc / sys contiene archivos seudo que se
pueden utilizar para modificar la configuración del núcleo en ejecución. A medida que estos
archivos no son archivos "reales", un editor no debe ser utilizado para cambiarlos; en lugar
usted debe utilizar el comando sysctl eco o para sobrescribir el contenido de estos archivos.
Por la misma razón, no intente ver estos archivos en un editor, pero usar el comando cat o
sysctl lugar.Para los cambios de configuración permanentes, el kernel utiliza el archivo
/etc/sysctl.conf. Por lo general, este archivo es utilizado por el kernel para hacer cambios a los
ficheros / proc cuando el sistema se está iniciando.
11.3.1 Paso 1 En esta tarea, se examinarán algunos de los archivos contenidos en el directorio
/ proc:
ls /proc
11.3.2 Paso 2 Utilice el cat y luego ps para ver la información sobre el / sbin / proceso init
(identificador de proceso (PID) del 1):
The other files in the /proc directory contain information about the operating system. The
following tasks will be used to view and modify these files.
Los otros archivos en el directorio / proc contienen información sobre el sistema operativo. Las
siguientes tareas serán utilizados para ver y modificar estos archivos
11.3.3 Paso 3 Ver el archivo / proc / cmdline para ver qué argumentos se pasa al kernel
durante el arranque
cat /proc/cmdline
11.3.5 Step 5
Change to the /proc/sys/net/ipv4 directory and view the icmp_echo_ignore_all file:
cd /proc/sys/net/ipv4
cat icmp_echo_ignore_all
Your output should be a single zero, 0, meaning "false" for this control file. This
Su salida debe ser un solo cero, 0, que significa "falso" para el archivo de control. Esto significa
que el sistema está configurado actualmente para no ignorar las peticiones de eco ICMP que el
comando ping genera. En pocas palabras, esto significa que alguien puede usar el comando
ping para determinar si el equipo está respondiendo a las solicitudes de red. Esto se utiliza a
menudo para determinar si un servidor está activo y conectado a la red
11.3.6 Paso 6 Utilice el comando ping para verificar que su sistema es "alcanzable". A
continuación, utilice el comando echo para sobrescribir el archivo icmp_echo_ignore_all con un
uno, 1, para representar un valor "verdadero". Verifique el archivo ha cambiado, usando el
comando cat. A continuación, utilice el comando ping de nuevo para ver el cambio en el
comportamiento
ping -c4 127.0.0.1
echo 1 > icmp_echo_ignore_all
cat icmp_echo_ignore_all
ping -c4 127.0.0.1
11.3.7 Paso 7 Cambie el archivo de nuevo mediante un comando sysctl, y verificar que el
sistema es "-ping poder":
sysctl -w net.ipv4.icmp_echo_ignore_all=0
cat icmp_echo_ignore_all
ping -c4 127.0.0.1
11.3.9 Paso 9 Ha completado los pasos de esta parte del laboratorio que requieren acceso
administrativo al sistema. Usted debe salir del cascarón de usuario root:
exit
La salida de su comando debe mostrar que usted ha regresado a la cuenta de administrador de
sistemas
By adding the ampersand (&) to the end of the command, the process is started in the
background allowing the user to maintain control of the terminal
Al añadir el ampersand (&) al final del comando, se inicia el proceso en segundo plano que
permite al usuario mantener el control del terminal.
Una forma más fácil de entrar en el comando anterior sería la de aprovechar el historial de
comandos.
Podrías haber pulsado la tecla de flecha hacia arriba en el teclado, agregue un espacio y y al
final del comando y luego presiona la tecla Enter. Este es un ahorro de tiempo al ingresar
comandos similares.
Observe que el comando anterior devuelve la información siguiente
[1] 158
Esto significa que este proceso tiene un número de trabajo de 1 (como se demuestra por la
salida de [1]) y una ID de proceso (PID) de 158. Cada terminal / shell tendrá números de
trabajo únicos.
El PID es de todo el sistema; cada proceso tiene un número de identificación único. Esta
información es importante al realizar ciertas manipulaciones del proceso, tales como detener
los procesos o cambiar su valor de prioridad.
Nota: El ID de proceso es probable que sea diferente a la que en el ejemplo
11.4.4 Paso 4 Para ver qué comandos se ejecuta en el terminal actual, escriba el siguiente
comando
jobs
11.4.5 Paso 5 A continuación, iniciar otro comando cat en segundo plano escribiendo lo
siguiente
cat /dev/zero > /dev/null &
Notice the different job number and process ID for this new command.
Observe el diferente número de trabajo y la ID del proceso para este nuevo comando
11.4.6 Paso 6 Ahora, debe haber dos comandos gato ejecutan en segundo plano. Para
verificarlo, el comando emita los puestos de jobs de nuevo
jobs
11.4.7 Paso 7 Una vez que haya comprobado que dos comandos gato se están ejecutando,
llevar el primer comando al primer plano escribiendo lo siguiente
fg %1
11.4.8 Paso 8 Observe que, control una vez más, el comando cat ha tomado del terminal. Para
suspender (pausa) el proceso y recuperar el control de la terminal, escriba Ctrl-z
11.4.9 Paso 9 Para que este proceso continúe ejecutando en segundo plano, ejecute el
siguiente comando:
bg %1
04/11/10 Paso 10 Ejecute el comando empleos de nuevo para verificar dos procesos en
ejecución
jobs
04/11/12 Paso 12 Ejecute el comando empleos de nuevo para verificar tres procesos en
ejecución
jobs
04/11/13 Paso 13 Utilizando el número de job, detener el último comando de gato con el
comando kill y verifique que se detuvo la ejecución del comando Jobs
kill %3
jobs
04/11/14 Paso 14
Por último, puede detener todos los comandos gato con el comando killall.
Después de ejecutar el comando killall, espere unos instantes, y luego ejecute
el comando empleos para verificar que todos los procesos se han detenido
killall cat
jobs
Make note of the PIDs on your system for the above commands! They will be different than
the examples that we are providing
Tome nota de los PID en el sistema de los comandos anteriores! Ellos serán diferentes a los
ejemplos que estamos ofreciendo
top
11.5.4 Paso 4 En el pid para señalar / kill:, escriba el PID del primer proceso en ejecución cat, a
continuación, pulse Intro. Observe que el prompt cambia como a continuación
changes as below:
11.5.5 Paso 5
Al Enviar pid # señal [15 / sigterm]: símbolo, pulse la tecla Intro. Observe que el
comando primer cat se retira y sólo un comando cat permanece en la lista
(puede que tenga que esperar unos segundos mientras se actualice comando
top):
11.5.6 Paso 6 A continuación, matar el proceso cat restante como antes, esta
vez, en el de kill del PID con la señal [15]:, escriba la letra k seguido del PID del
proceso cat, utilice un valor de 9 en lugar de aceptar el valor por defecto de 15 .
Pulse Intro para aceptar entonces la entrada. La señal de "kill" 9 es una señal
"contundente" de que no se puede ignorar a diferencia del valor por defecto de
15. Tenga en cuenta que todas las referencias al comando cat ahora se quitan
de arriba.
11.5.7 Paso 7 Escriba q para salir del comando top. La siguiente pantalla refleja
que ambos comandos gato se terminaron
Type q to exit the top command. The following screen reflects that both cat commands
were terminated:
11.6 Uso pkill y matar a terminar procesos En esta tarea, vamos a seguir
trabajando con los procesos. Utilizará pkill y kill a finalizar procesos
El comando del sleep se suele utilizar para hacer una pausa en un programa
(shell script) por un período de tiempo específico. En este caso, se utiliza sólo
para proporcionar un comando que le llevará mucho tiempo para ejecutarse.
Asegúrese de tomar nota de las PID en el sistema de los procesos del slep
para los próximos pasos! Sus PID serán diferentes a los demostrados en el
laboratorio
jobs
11.6.3 Paso 3 Ahora, utilice el comando kill para detener la primera instancia
del comando sleep escribiendo lo siguiente (sustituto PID con el identificador de
proceso de su comando primera sleep). También, ejecutar trabajos para
verificar el proceso se ha detenido
kill PID
jobs
Helpful Hint: If you can't remember the PID of the first process, just type the ps (process)
command, as shown above.
Consejo útil: Si usted no puede recordar el PID del primer proceso, sólo tienes
que escribir el comando ps (proceso), como se muestra arriba
.6.4 Paso 4 A continuación, utilice el comando pkill para terminar el comando
sleep restante, utilizando el nombre del programa en lugar del PID
pkill -15 sleep
11.7.1 Paso 1 Poner en marcha un proceso de fondo utilizando gato y ver los
procesos actuales con el comando ps:
ps -e
Due to this environment being a virtualized operating system, there are far fewer processes
than what would normally be shown with Linux running directly on hardware.
Debido a este ambiente que es un sistema operativo virtualizado, hay muchos
menos procesos que lo que normalmente se muestra con Linux corriendo
directamente en el hardware.
11.7.4 Paso 4 Utilice la opción --sort para especificar qué columna (s) para
ordenar por. De forma predeterminada, una columna especificada para la
clasificación será en orden ascendente, esto puede ser forzado con la
colocación de un plus + símbolo en frente del nombre de la columna. Para
especificar un orden descendente, utilice el signo menos - símbolo delante del
nombre de la columna. Ordenar la salida de ps por% mem
kill 170
jobs
su - root
{Enter the password: netlab123}
ls /var/log
ssh localhost
{At the first prompt, type yes}
{At the second prompt, type abc}
{At the third prompt, type abc}
{At the fourth prompt, type abc}
tail -5 /var/log/auth.log
The ssh command was used to generated data in the /var/log/auth.log file. Note the
failed login attempts are logged in the /var/log/auth.log file.
11.8.4 Paso 4 Para ver otro ejemplo de entradas de log, ejecute los siguientes
comandos
crontab –e
tail -5 /var/log/dmesg
dmesg | tail -5
Right about now you are likely thinking "what do all of these messages actually
Justo ahora que usted está probablemente pensando "¿Qué tienen todos estos mensajes
significa en realidad?". La respuesta a esa pregunta no es simple, sin embargo el punto
detrás de esta lección no es explicar el significado de todos los mensajes de registro, sino
más bien para aprender dónde encontrar los mensajes de registro. A medida que adquiera
más experiencia en Linux, usted comenzará a solucionar problemas. En la mayoría de los
casos, el primer lugar que desea buscar es los archivos de registro. Con el fin de
proporcionarle un ejemplo de solución de problemas realistas, siga el siguiente conjunto de
tareas.
11.8.6 Paso 6 Escriba el siguiente comando para deshabilitar la capacidad del usuario
administrador de sistemas de creación de entradas crontab y salir de nuevo al usuario
administrador de sistemas:
crontab -e
Note: This command fails because of the entry in the /etc/cron.deny. If a username
exists in this file, then that user can not use the crontab command
Nota: Este comando no funciona debido a la entrada en el /etc/cron.deny. Si existe un
nombre de usuario en este archivo, a continuación, que el usuario no puede usar el
comando crontab.
11.8.8 Paso 8 En lugar de cambiar de usuario para root con el comando su, el uso de sudo
para ejecutar el siguiente comando con privilegios de root
As you can see from the last line of the output of the tail command, the sysadmin user is
not allowed to use the crontab command.
Como se puede ver en la última línea de la salida del comando de la cola, no se permite
que el usuario sysadmin utilizar el comando crontab
Las bibliotecas compartidas son archivos que contienen código que los
archivos de programa ejecutables pueden enlazar con el fin de utilizar ese
código. Debido a múltiples programas a menudo vinculan a un único archivo de
biblioteca, esto ayuda a reducir la cantidad de espacio necesario para este
código ya que cada programa no tiene que tener su propia copia del código de
la biblioteca.
ldconfig -p | less
11.9.2 Paso 2 Con el fin de ver lo que las bibliotecas están vinculadas a un
ejecutable, como / bin / bash, ejecute el comando ldd:
ldd /bin/bash