Grupos comunes de informaci�n referente al kernel agrupado en directorios y subdirectorios en /proc/.
5.3.1. Directorios de proceso
Cada directorio /proc/ contiene unos cuantos directorios nombrados con un n�mero. Un listado de los mismos se ver�a de la siguiente manera:
dr-xr-xr-x 3 root root 0 Feb 13 01:28 1
dr-xr-xr-x 3 root root 0 Feb 13 01:28 1010
dr-xr-xr-x 3 xfs xfs 0 Feb 13 01:28 1087
dr-xr-xr-x 3 daemon daemon 0 Feb 13 01:28 1123
dr-xr-xr-x 3 root root 0 Feb 13 01:28 11307
dr-xr-xr-x 3 apache apache 0 Feb 13 01:28 13660
dr-xr-xr-x 3 rpc rpc 0 Feb 13 01:28 637
dr-xr-xr-x 3 rpcuser rpcuser 0 Feb 13 01:28 666
A estos directorios se les llama directorios de proceso, ya que pueden hacer referencia a un ID de proceso y contener informaci�n espec�fica para ese proceso. El propietario y grupo de cada directorio de proceso est� configurado para que el usuario ejecute el proceso. Cuando se finaliza el proceso, el directorio del proceso /proc desaparece. Sin embargo, mientras que se est� ejecutando el proceso, una gran cantidad de informaci�n espec�fica a ese proceso est� contenida en varios archivos del directorio de procesos.
Cada uno de los directorios de procesos contiene los siguientes archivos:
cmdline — Contiene el comando que se ejecut� cuando se arranc� el proceso.
cwd — Enlace simb�lico al directorio actual en funcionamiento para el proceso.
environ — Le da una lista de variables de entorno para el proceso. La variable de entorno viene dada toda en may�sculas y el valor en min�sculas.
exe — Enlace simb�lico al ejecutable de este proceso.
fd — Directorio que contiene todos los descriptores de archivos para un proceso en particular. Vienen dados en enlaces numerados:
total 0
lrwx------ 1 root root 64 May 8 11:31 0 -> /dev/null
lrwx------ 1 root root 64 May 8 11:31 1 -> /dev/null
lrwx------ 1 root root 64 May 8 11:31 2 -> /dev/null
lrwx------ 1 root root 64 May 8 11:31 3 -> /dev/ptmx
lrwx------ 1 root root 64 May 8 11:31 4 -> socket:[7774817]
lrwx------ 1 root root 64 May 8 11:31 5 -> /dev/ptmx
lrwx------ 1 root root 64 May 8 11:31 6 -> socket:[7774829]
lrwx------ 1 root root 64 May 8 11:31 7 -> /dev/ptmx
maps — Contiene mapas de memoria para los diversos ejecutables y archivos de bibliotecas asociados con este proceso. Este archivo puede ser bastante largo, dependiendo de la complejidad del proceso. Una muestra de la salida de datos desde el proceso sshd empezar�a de la siguiente manera:
statm — Estado de la memoria en uso por el proceso. Ejemplo de archivos statm:
263 210 210 5 0 205 0
Las siete columnas se relacionan a diferentes estad�sticas de memoria para el proceso. Dependiendo de como se visualizan, de derecha a izquierda, remiten diferentes aspectos de la memoria utilizada:
Tama�o total del programa, en kilobytes.
Tama�o de las porciones de memoria, en kilobytes.
N�mero de p�ginas compartidas.
N�mero de p�ginas que son c�digo.
N�mero de p�ginas de datos/pila.
N�mero de p�ginas de bibliotecas.
N�mero de p�ginas sucias.
status — Proporciona el estado del proceso en una forma mucho m�s legible que stat o statm. Un ejemplo de salida de datos de sshd se ver�a similar a:
La informaci�n en esta salida incluye el nombre y ID del proceso, el estado (tal como S (sleeping) o R (running)), ID del usuario/grupo ejecutando el proceso y detalles sobre el uso de la memoria.
5.3.1.1. /proc/self
El directorio /proc/self es un enlace al proceso en ejecuci�n. Esto le permite verse a si mismo sin tener que conocer su ID de proceso.
Dentro de un entorno de la shell, una lista del directorio /proc/self produce el mismo contenido que una lista del directorio del proceso para ese proceso.
5.3.2. /proc/bus/
Este directorio contiene informaci�n espec�fica sobre los diversos buses disponibles en el sistema. Por ejemplo, en un sistema est�ndar que contenga buses PCI y USB, los datos actuales en cada uno de estos buses est�n disponibles en un subdirectorio bajo /proc/bus/ con el mismo nombre, tal como /proc/bus/pci/ .
Los subdirectorios y archivos disponibles dentro de /proc/bus/ var�an dependiendo de los dispositivos conectados al sistema. Sin embargo, cada tipo de bus tiene al menos un directorio. Dentro de estos directorios de buses normalmente est�n, al menos, un subdirectorio con un nombre num�rico, tal como 001, el cual contiene los archivos binarios.
Por ejemplo, el subdirectorio /proc/bus/usb/ contiene archivos que hacen un seguimiento de los diferentes dispositivos en cualquier bus USB, as� como los controladores requeridos para su uso. El siguiente es un listado de ejemplo de un directorio /proc/bus/usb/
total 0
dr-xr-xr-x 1 root root 0 May 3 16:25 001
-r--r--r-- 1 root root 0 May 3 16:25 devices
-r--r--r-- 1 root root 0 May 3 16:25 drivers
El directorio /proc/bus/usb/001/ contiene todos los dispositivos del primer bus USB y el archivo devices identifica el concentrador ra�z USB en la tarjeta madre.
Lo siguiente es un ejemplo de un archivo /proc/bus/usb/devices:
Este directorio contiene informaci�n para drivers espec�ficos que el kernel est� utilizando.
rtc es un archivo habitual aqu�, que proporciona la salida desde el controlador para el reloj del sistema (Real Time Clock (RTC)): el dispositivo que mantiene la hora mientras que el sistema est� apagado. Un ejemplo de salida de datos desde /proc/driver/rtc ser�a similar a:
rtc_time : 16:21:00
rtc_date : 2004-08-31
rtc_epoch : 1900
alarm : 21:16:27
DST_enable : no
BCD : yes
24hr : yes
square_wave : no
alarm_IRQ : no
update_IRQ : no
periodic_IRQ : no
periodic_freq : 1024
batt_status : okay
Para m�s informaci�n sobre RTC, refi�rase a la siguiente documentaci�n instalada:
Este directorio muestra qu� sistemas de archivos est�n siendo exportados. Si est� usando un servidor NFS, escriba cat /proc/fs/nfsd/exports para visualizar los sistemas de archivos que se comparten y los permisos acordados a esos sistemas de archivos. Para mayor informaci�n sobre archivos compartidos con NFS, consulte el Cap�tulo 9.
5.3.5. /proc/ide/
Este directorio contiene informaci�n sobre los dispositivos IDE del sistema. Cada canal IDE est� representado como un directorio separado, tal como /proc/ide/ide0 y /proc/ide/ide1. Adem�s, tambi�n est� disponible un archivo drivers proporcionando el n�mero de versi�n de los varios controladores usados en los canales IDE:
ide-floppy version 0.99.newide
ide-cdrom version 4.61
ide-disk version 1.18
Muchos chipsets tambi�n proporcionan un archivo en este directorio con datos adicionales referentes a las unidades conectadas a trav�s de los canales. Por ejemplo, un chipset gen�rico Intel PIIX4 Ultra 33 produce el archivo /proc/ide/piix que le informar� de si DMA o UDMA est� o no habilitado para los dispositivos en los canales IDE:
Intel PIIX4 Ultra 33 Chipset.
------------- Primary Channel ---------------- Secondary Channel -------------
enabled enabled
------------- drive0 --------- drive1 -------- drive0 ---------- drive1 ------
DMA enabled: yes no yes no
UDMA enabled: yes no no no
UDMA enabled: 2 X X X
UDMA
DMA
PIO
Al navegar en un directorio para un canal IDE, como ide0, otorga informaci�n adicional. El archivo channel proporciona el n�mero de canal, mientras que el model indica el tipo de bus para el canal (tal como pci).
5.3.5.1. Directorios de dispositivos
Dentro de cada directorio de canal IDE hay un directorio de dispositivos. El nombre del directorio de dispositivos corresponde a la letra de la unidad en el directorio /dev/. Por ejemplo, la primera unidad IDE en ide0 ser�a hda.
Nota
Existe un enlace simb�lico para cada uno de estos directorios de dispositivos en el directorio /proc/ide/.
Cada dispositivo, como un disco duro o un CD-ROM, tendr� en ese canal su propio directorio en el que est�n incluidas su propia recopilaci�n de informaci�n y estad�sticas. Los contenidos de esos directorios var�an de acuerdo con el tipo de dispositivo conectado. Algunos de los archivos m�s �tiles habituales en diferentes dispositivos incluyen:
cache — La cach� del dispositivo.
capacity — La capacidad del dispositivo, en bloques de 512 bytes.
driver — El controlador y la versi�n usados para controlar el dispositivo.
geometry — La geometr�a f�sica y l�gica del dispositivo.
media — El tipo de dispositivo, como por ejemplo un disk.
model — El nombre del modelo del dispositivo.
settings — Recopilaci�n de par�metros actuales del dispositivo. Este archivo usualmente contiene bastante informaci�n t�cnica �til. Un ejemplo de archivo settings para un disco duro IDE est�ndar, se ver�a similar a lo siguiente:
Este directorio se usa para configurar la afinidad de una IRQ con una CPU, lo que le permite conectar una IRQ particular a una sola CPU. De manera alternativa, puede evitar que una CPU manipule cualquier IRQ.
Cada IRQ tiene su propio directorio, permitiendo que cada IRQ sea configurada individualmente. El archivo /proc/irq/prof_cpu_mask es una m�scara de bits que contiene los valores predeterminados para el archivo smp_affinity en el directorio IRQ. Los valores en smp_affinity especifican qu� CPUs manipulan esa IRQ en particular.
Para m�s informaci�n sobre el directorio /proc/irq/refi�rase a la siguiente informaci�n instalada:
El directorio proporciona una visi�n exhaustiva de diversos par�metros y estad�sticas de red. Cada directorio y archivo virtual dentro de este directorio describe aspectos sobre la configuraci�n de la red en el sistema. Abajo se muestra un listado parcial del directorio /proc/net/:
arp — Lista la tabla del kernel ARP. Este archivo es particularmente �til para conectar la direcci�n del hardware a una direcci�n IP de un sistema.
Directorio atm/ — Los archivos dentro de este directorio contienen las configuraciones de Asynchronous Transfer Mode (ATM) y estad�sticas. Este directorio es principalmente usado con redes ATM y tarjetas ADSL.
dev — Lista los diferentes dispositivos de red configurados en el sistema, complementado con estad�sticas de transmisi�n y recepci�n. Este archivo le indica el n�mero de paquetes que cada interfaz ha enviado y recibido, el n�mero de paquetes entrantes y salientes, n�mero de errores vistos, el n�mero de paquetes abandonados y mucho m�s.
dev_mcast — Lista los grupos multicast Layer2 en los que cada dispositivo est� escuchando.
igmp — Lista las direcciones IP con destinatarios m�ltiples (multicast) a las que el sistema se ha incorporado.
ip_conntrack — Lista las conexiones de red para las m�quinas que est�n reenviando conexiones IP.
ip_tables_names — Lista los tipos de iptables en uso. Este archivo s�lo est� presente si iptables esta activo en el sistema y contiene uno o m�s de los siguientes valores: filter, mangle o nat.
ip_mr_cache — Lista de la cach� de routing de m�ltiple destinatario.
ip_mr_vif — Lista las interfaces virtuales de m�ltiple destinatario (multicast).
netstat — Contiene una amplia colecci�n de estad�sticas de red, incluyendo la temporizaci�n TCP, los cookies enviados y recibidos y mucho m�s.
psched — Lista de par�metros de planificaci�n global del paquete.
raw — Lista las estad�sticas de dispositivo brutos (raw).
route — Lista la tabla de enrutamiento del kernel.
rt_cache — Contiene la cach� de ruta actual.
snmp — Lista de los datos del protocolo Simple Network Management Protocol (SNMP) para varios protocolos de red en uso.
sockstat — Proporciona estad�sticas de socket.
tcp — Contiene informaci�n detallada del socket TCP.
tr_rif — Lista la tabla de enrutamiento de token ring RIF.
udp — Contiene informaci�n detallada del socket UDP.
unix — Lista sockets de dominio UNIX.
wireless — Lista datos de la interfaz de radio.
5.3.8. /proc/scsi/
Este directorio es an�logo al directorio /proc/ide/, sin embargo, es s�lo para dispositivos SCSI conectados.
El archivo primario aqu� es /proc/scsi/scsi, que contiene una lista de cada dispositivo SCSI reconocido. A partir de esta lista se puede obtener el tipo de dispositivo, as� como tambi�n el nombre del modelo, fabricante, canal SCSI y el ID.
Por ejemplo, si un sistema contiene un CD-ROM SCSI, una unidad de cinta, un disco duro y un controlador RAID, este archivo se parecer� a:
Cada controlador SCSI usado por el sistema tiene su propio directorio en /proc/scsi/, que contiene archivos espec�ficos para cada controlador SCSI usando ese controlador. En el ejemplo anterior, los directorios aic7xxx y megaraid est�n presentes, puesto que hay dos controladores en uso. Los archivos en cada uno de los directorios contienen t�picamente un rango de direcciones de E/S, informaci�n de IRQ y estad�sticas para el controlador SCSI particular usando ese controlador. Cada controlador puede remitir un tipo y cantidad de informaci�n diferente. El archivo del adaptador Adaptec AIC-7880 Ultra SCSI en este ejemplo produce una salida como la siguiente:
Adaptec AIC7xxx driver version: 5.1.20/3.2.4
Compile Options:
TCQ Enabled By Default : Disabled
AIC7XXX_PROC_STATS : Enabled
AIC7XXX_RESET_DELAY : 5
Adapter Configuration:
SCSI Adapter: Adaptec AIC-7880 Ultra SCSI host adapter
Ultra Narrow Controller
PCI MMAPed I/O Base: 0xfcffe000
Adapter SEEPROM Config: SEEPROM found and used.
Adaptec SCSI BIOS: Enabled
IRQ: 30
SCBs: Active 0, Max Active 1,
Allocated 15, HW 16, Page 255
Interrupts: 33726
BIOS Control Word: 0x18a6
Adapter Control Word: 0x1c5f
Extended Translation: Enabled
Disconnect Enable Flags: 0x00ff
Ultra Enable Flags: 0x0020
Tag Queue Enable Flags: 0x0000
Ordered Queue Tag Flags: 0x0000
Default Tag Queue Depth: 8
Tagged Queue By Device array for aic7xxx host instance 1:
{255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255}
Actual queue depth per device for aic7xxx host instance 1:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Statistics:
(scsi1:0:5:0)
Device using Narrow/Sync transfers at 20.0 MByte/sec, offset 15
Transinfo settings: current(12/15/0/0), goal(12/15/0/0), user(12/15/0/0)
Total transfers 0 (0 reads and 0 writes)
< 2K 2K+ 4K+ 8K+ 16K+ 32K+ 64K+ 128K+
Reads: 0 0 0 0 0 0 0 0
Writes: 0 0 0 0 0 0 0 0
(scsi1:0:6:0)
Device using Narrow/Sync transfers at 10.0 MByte/sec, offset 15
Transinfo settings: current(25/15/0/0), goal(12/15/0/0), user(12/15/0/0)
Total transfers 132 (0 reads and 132 writes)
< 2K 2K+ 4K+ 8K+ 16K+ 32K+ 64K+ 128K+
Reads: 0 0 0 0 0 0 0 0
Writes: 0 0 0 1 131 0 0 0
Esta salida revela la velocidad de transmisi�n a los dispositivos SCSI conectados al controlador basado en el canal ID, as� como estad�sticas detalladas referentes a la cantidad y tama�o de los archivos le�dos o escritos por ese dispositivo. Por ejemplo, este controlador se est� comunicando con el CD-ROM a 20 megabytes por segundo, mientras que la unidad de cinta s�lo se est� comunicando a 10 megabytes por segundo.
5.3.9. /proc/sys/
El directorio /proc/sys/ es diferente de otros en /proc/ porque no s�lo proporciona informaci�n sobre el sistema pero tambi�n permite al administrador activar y desactivar inmediatamente caracter�sticas del kernel.
Atenci�n
Tenga mucho cuidado al cambiar la configuraci�n de un sistema en producci�n usando los diversos archivos en el directorio /proc/sys/. La modificaci�n del valor incorrecto puede dejar el kernel inestable, requiriendo que se reinicie el sistema.
Por esta raz�n, aseg�rese de que las opciones sean v�lidas para ese archivo antes de intentar cambiar un valor en /proc/sys/.
Una buena forma de determinar si un archivo particular se puede configurar o si tan s�lo est� dise�ado para proporcionar informaci�n, es list�ndolo con la opci�n -l en el int�rprete de comandos de la shell. Si se puede escribir en el archivo, quiz�s podr� utilizarlo para configurar el kernel de alg�n modo. Por ejemplo, un listado parcial de /proc/sys/fs ser�a de la siguiente manera:
-r--r--r-- 1 root root 0 May 10 16:14 dentry-state
-rw-r--r-- 1 root root 0 May 10 16:14 dir-notify-enable
-r--r--r-- 1 root root 0 May 10 16:14 dquot-nr
-rw-r--r-- 1 root root 0 May 10 16:14 file-max
-r--r--r-- 1 root root 0 May 10 16:14 file-nr
En este listado, los archivos dir-notify-enable y file-max pueden escribirse y, por consiguiente, usarse para la configuraci�n del kernel. Los otros archivos s�lo proporcionan retroalimentaci�n sobre las configuraciones actuales.
Para cambiar un valor en el archivo /proc/sys tiene que repetir el valor nuevo en el archivo. Por ejemplo, para habilitar la System Request Key en un kernel en ejecuci�n, escriba el comando:
echo 1 > /proc/sys/kernel/sysrq
Esto cambiar� el valor para sysrq de 0 (off) a 1 (on).
Unos cuantos archivos de configuraci�n /proc/sys contienen m�s de un valor. Para enviar nuevos valores correctamente, coloque un espacio entre cada valor traspasado con el comando echo, como se ha hecho a continuaci�n:
echo 4 2 45 > /proc/sys/kernel/acct
Nota
Cualquier cambio de configuraci�n que haga mediante el comando echo desaparecer� cuando vuelva a iniciar el sistema. Para hacer que cambios en la configuraci�n tengan efecto despu�s que el sistema es reiniciado, consulte la Secci�n 5.4.
El directorio/proc/sys contiene directorios diferentes que controlan diferentes aspectos de la ejecuci�n de un kernel.
5.3.9.1. /proc/sys/dev/
Este directorio proporciona par�metros para dispositivos particulares en el sistema. La mayor�a de sistemas tienen al menos dos directorios cdrom y raid. Los kernels personalizados pueden tener otros directorios, tales como parport, que proporciona la habilidad de compartir un puerto paralelo entre m�ltiples controladores de dispositivo.
El directorio cdrom contiene un archivo llamado info, que revela algunos par�metros importantes del CD-ROM:
CD-ROM information, Id: cdrom.c 3.20 2003/12/17
drive name: hdc
drive speed: 48
drive # of slots: 1
Can close tray: 1
Can open tray: 1
Can lock tray: 1
Can change speed: 1
Can select disk: 0
Can read multisession: 1
Can read MCN: 1
Reports media changed: 1
Can play audio: 1
Can write CD-R: 0
Can write CD-RW: 0
Can read DVD: 0
Can write DVD-R: 0
Can write DVD-RAM: 0
Can read MRW: 0
Can write MRW: 0
Can write RAM: 0
Este archivo se puede escanear con la finalidad de descubrir las cualidades de un CD-ROM desconocido. Si tiene a su disposici�n m�ltiples CD-ROMs en un sistema, cada dispositivo tendr� su propia columna de informaci�n.
Se pueden utilizar diversos archivos en /proc/sys/dev/cdrom, como autoclose y checkmedia, para controlar el CD-ROM del sistema. Use el comando echo para activar o desactivar estas caracter�sticas.
Si se compila el soporte RAID en el kernel, tendr� a su disposici�n un directorio /proc/sys/dev/raid/ con al menos dos archivos dentro del mismo: speed_limit_min y speed_limit_max. Estas configuraciones determinan la aceleraci�n de los dispositivos RAID para tareas intensivas de E/S, tales como la resincronizaci�n de discos.
5.3.9.2. /proc/sys/fs/
Este directorio contiene un compendio de opciones y de informaci�n referente a varios aspectos del sistema de archivos, incluyendo la informaci�n de cuotas, manipulaci�n del archivos, inode y dentry.
El directorio binfmt_misc se usa para proporcionar soporte del kernel para formatos binarios miscel�neos.
Los archivos importantes en /proc/sys/fs/ incluyen:
dentry-state — Proporciona el estado del directorio de la cach�. El archivo se ver�a de la siguiente manera:
57411 52939 45 0 0 0
El primer n�mero revela el n�mero total de las entradas de la cach� del directorio, mientras que el segundo n�mero visualiza el n�mero de entradas inutilizadas. El tercero, le indica el n�mero de segundos en que un directorio ha sido liberado y puede ser reclamado y el cuarto mide las p�ginas que han sido requeridas por el sistema en la actualidad. Los �ltimos dos n�meros no est�n en uso y tan s�lo visualizan ceros.
dquot-nr — Muestra el n�mero m�ximo de entradas de cuota de disco cacheado.
file-max — Lista el n�mero m�ximo de manejadores de archivos que el kernel puede asignar. Si incrementa el valor de este archivo puede solucionar los errores causados por la falta de manejadores de archivos disponibles.
file-nr — Lista el n�mero de manejadores de archivos asignados, manipuladores de archivos usados, as� como el n�mero m�ximo de manejadores de archivos.
overflowgid y overflowuid — Define el ID de grupo establecido y el ID de usuario, respectivamente, para el uso con el sistema de archivos que tan s�lo soporta los IDs de grupo y usuario de 16 bits.
super-max — Controla el n�mero m�ximo de superbloques disponible.
super-nr — Visualiza el n�mero actual de superbloques en uso.
5.3.9.3. /proc/sys/kernel/
Este directorio contiene una variedad de archivos de configuraci�n diferentes que afectan directamente a la operaci�n del kernel. Algunos de los archivos m�s importantes incluyen:
acct — Controla la suspensi�n del proceso de contabilizaci�n basado en el porcentaje de espacio libre disponible en el sistema de archivos conteniendo el registro (log). Por defecto, el archivo aparecer� de la siguiente manera:
4 2 30
El primer valor fija el porcentaje de espacio libre necesario para reanudar el proceso de inicio de sesi�n, mientras que el segundo valor indica el umbral del porcentaje de espacio libre cuando se suspende el inicio de sesi�n. El tercer valor fija el intervalo en segundos, en que el kernel interroga al sistema de archivos para ver si el inicio de sesi�n se suspende o continua.
cap-bound — Controla las configuraciones de las capability bounding, que proporcionan una lista de capacidades para cualquier proceso en el sistema. Si una capacidad no est� listada aqu�, ning�n proceso, por muy privilegiado que sea �ste, puede realizarlo. La idea inicial es hacer que el sistema sea m�s seguro asegurando que no acontezcan ciertas cosas, por lo menos llegados a un cierto nivel del proceso de arranque.
Para una lista de los valores v�lidos para este archivo virtual, refi�rase a la siguiente documentaci�n instalada:
ctrl-alt-del — Controla si [Ctrl]-[Alt]-[Delete] reiniciar� el ordenador adecuadamente mediante el uso de init (0) o si forzar� un rearranque inmediato sin la sincronizaci�n de los buffers modificados al disco (1).
domainname — Configura el nombre de dominio del sistema, tal como example.com.
exec-shield — Configura la caracter�stica Exec Shield del kernel. Exec Shield proporciona protecci�n en contra de ciertos tipos de ataques de sobrecarga de la memoria intermedia.
Hay dos valores posibles para este archivo virtual:
0 — Inhabilita Exec Shield.
1 — Habilita Exec Shield. Este es el valor predeterminado.
Importante
Si un sistema est� ejecutando aplicaciones de seguridad confidencial que se iniciaron mientras Exec Shield estaba desactivado, estas aplicaciones se deberan iniciar una vez m�s cuando Exec Shield est� habilitado nuevamente.
exec-shield-randomize — Habilita la ubicaci�n aleatoria de varios elementos en memoria. Esto ayuda a impedir que atacantes potenciales puedan ubicar programas y demonios en memoria. Cada vez que un programa o demonio arranca, se coloca en un espacio de memoria diferente, nunca la direcci�n de memoria es est�tica o absoluta.
Hay dos valores posibles para este archivo virtual:
0 — Desactiva la aleatorizaci�n de Exec Shield. Esto puede ser �til para prop�sitos de depuraci�n de aplicaciones.
1 — Permite la aleatorizaci�n de Exec Shield. Este es el valor predeterminado. Nota: el archivo exec-shield tambi�n se debe colocar a 1 para que exec-shield-randomize est� activo.
hostname — Configura el nombre del sistema host, por ejemplo www.example.com.
hotplug — Configura la utilidad a utilizar cuando se detecta un cambio en la configuraci�n del sistema. Principalmente se usa con USB y Cardbus PCI. El valor por defecto de /sbin/hotplug no deber�a ser cambiado a menos que est� probando un nuevo programa para cumplir con este papel.
modprobe — Fija la ubicaci�n del programa a usar para cargar los m�dulos del kernel. El valor por defecto es /sbin/modprobe que significa que kmod lo llamar� para cargar el m�dulo cuando un hilo del kernel llame kmod.
msgmax — Fija el tama�o m�ximo de cualquier mensaje enviado desde un proceso a otro y est� fijado en 8192 bytes por defecto. Deber�a tener cuidado al incrementar este valor, ya que los mensajes en cola entre procesos son almacenados en una memoria de kernel sin memoria de intercambio (swap). Cualquier incremento en msgmax incrementar� los requerimientos de RAM de su sistema.
msgmnb — Establece el n�mero m�ximo de bytes en una �nica cola de mensajes. Por defecto, 16384.
msgmni — Establece el n�mero m�ximo de identificadores de la cola de mensajes. Por defecto, 16.
osrelease — Lista el n�mero de versi�n del kernel de Linux. Este archivo tan s�lo puede ser alterado al cambiar la fuente del kernel y recompilarla.
ostype — Visualiza el tipo de sistema operativo. Por defecto, este archivo est� configurado para Linux y este valor tan s�lo puede ser cambiado al cambiar la fuente del kernel y recompilarla.
overflowgid y overflowuid — Define el ID de grupo establecido y el ID de usuario, respectivamente, para el uso con llamadas del sistema a arquitecturas que tan s�lo soportan IDs de grupo y usuario de 16 bits.
panic — Define el n�mero de segundos que el kernel pospone el arranque del sistema cuando se experimenta una emergencia en el kernel. Por defecto, el valor est� establecido en 0, lo que deshabilita el rearranque autom�tico tras una emergencia.
printk — Este archivo controla una variedad de configuraciones relacionadas con la impresi�n o los mensajes de error de registro. Cada mensaje de error remitido por el kernel tiene un nivel de registro asociado a �ste que define la importancia del mensaje. Los valores de loglevel aparecen en el orden siguiente:
0 — Emergencia del Kernel. No se puede utilizar el sistema.
1 — Alerta del kernel. Se debe actuar inmediatamente.
2 — La condici�n del kernel se considera cr�tica.
3 — Condici�n de error general del kernel.
4 — Condici�n de aviso general del kernel.
5 — Nota del kernel de una condici�n normal pero significativa.
6 — Mensaje informativo del kernel.
7 — Mensajes de depuraci�n del kernel.
En el archivo printk aparecen cuatro valores:
6 4 1 7
Cada uno de estos valores define una regla diferente para tratar con los mensajes de error. El primer valor, llamado nivel de registro de consola, define la prioridad m�s baja de mensajes que se imprimir�n en la consola. (Observe que, cuanto m�s baja sea �sta, m�s alto ser� el n�mero de nivel de registro.) El segundo valor establece el nivel de registro por defecto para mensajes sin un nivel de registro expl�cito. El tercer valor establece el nivel de registro m�s bajo posible para el nivel de registro de la consola. El �ltimo valor establece el valor por defecto para el nivel de registro de la consola.
Directorio random — Lista un n�mero de valores relacionados a la generaci�n de n�meros aleatorios para el kernel.
rtsig-max — Configura el n�mero m�ximo de se�ales en tiempo real POSIX que el sistema podr�a haber puesto en cola en un momento dado. El valor por defecto es 1024.
rtsig-nr — Lista el n�mero actual de se�ales POSIX en tiempo real que el kernel ha puesto en cola.
sem — Configura los valores de sem�foro dentro del kernel. Un sem�foro es un objeto System V IPC que es usado para controlar la utilizaci�n de un proceso particular.
shmall — Establece la cantidad total de memoria que se puede utilizar de una sola vez en el sistema, en bytes. Por defecto, este valor es 2097152.
shmmax — Establece el mayor tama�o de segmento de memoria compartida que permite el kernel, en bytes. Por defecto, este valor es 33554432. No obstante, el kernel soporta valores con mucho m�s margen.
shmmni — Establece el n�mero m�ximo de segmentos de memoria compartida para el sistema completo, en bytes. Por defecto, este valor es 4096
sysrq — Activa la llave de petici�n de sistema, si este valor difiere del establecido por defecto 0.
La llave de petici�n del sistema permite darle entradas inmediatas al kernel mediante combinaciones simples de teclas. Por ejemplo, se puede usar la llave de petici�n del sistema para apagar de inmediato el sistema o reiniciarlo, sincronizar todos los sistemas de archivos montados o volcar informaci�n importante a la consola. Para iniciar una llave de petici�n del sistema, escriba [Alt]-[SysRq]-[<system request code>]. Reemplace <system request code> con uno de los siguientes c�digos de petici�n de sistema.
r — Inhabilita el modo sin formato para el teclado y lo configura a XLATE (un modo de teclado m�s limitado el cual no reconoce modificadores tales como [Alt], [Ctrl], o [Shift] para todas las teclas).
k — Mata todos los procesos activos en una consola virtual. Tambi�n llamada llave de acceso segura (SAK), a menudo es utilizada para verificar que el indicador de comandos del inicio de conexi�n es generado desde init y no una copia troyana dise�ada para capturar nombres de usuarios y contrase�as.
b — Reinicia el kernel sin primero desmontar los sistemas de archivos o sincronizar los discos conectados al sistema.
c — Apaga el sistema sin primero desmontar los sistemas de archivos o sincronizar los discos conectados al sistema.
o — Apaga el sistema.
s — Intenta sincronizar los discos conectados al sistema.
u — Intenta desmontar y volver a montar todos los sistemas de archivos como de s�lo lectura.
p — Coloca en la salida todas las banderas y registros a la consola.
t — Coloca en la consola una lista de los procesos.
m — Coloca en la consola las estad�sticas de la memoria.
0 hasta 9 — Configura el nivel de registro para la consola.
e — Mata todos los procesos usando SIGTERM, excepto init.
i — Mata todos los procesos usando SIGKILL, excepto init.
l — Mata todos los procesos usando SIGKILL (incluyendo init). Despu�s de emitir este c�digo de llave de petici�n del sistema, el sistema no se puede utilizar.
h — Muestra texto de ayuda.
Esta caracter�stica es �til cuando se utiliza un kernel de desarrollo o cuando se est�n experimentando congelamientos del sistema.
Atenci�n
La caracter�stica de llave del petici�n del sistema es considerada un riesgo de seguridad porque una consola desatendida puede permitir a un atacante obtener acceso al sistema. Por esta raz�n, esta desactivada por defecto.
Para obtener m�s informaci�n sobre la llave de petici�n del sistema, rem�tase a /usr/share/doc/kernel-doc-<version>/Documentation/sysrq.txt
sysrq-key — Define el c�digo para la Llave de petici�n de sistema, (por defecto es 84).
sysrq-sticky — Define si la llave de petici�n del sistema es una combinaci�n de llaves acorde. Los valores aceptados son como sigue:
0 — [Alt]-[SysRq] y el c�digo solicitado por el sistema debe ser presionado de forma simult�nea. Este es el valor por defecto.
1 — [Alt]-[SysRq] se deben presionar simult�neamente, pero el c�digo de petici�n del sistema se puede presionar en cualquier momento antes de que se cumplan el n�mero de segundos especificados en /proc/sys/kernel/sysrq-timer.
sysrq-timer — Configura el n�mero m�ximo de segundos que pueden pasar antes de presentar el c�digo de petici�n del sistema. El valor por defecto es 10.
tainted — Indica si hay un m�dulo no GPL cargado.
0 — No se carg� ning�n m�dulo no GPL.
1 — Est� cargado al menos un m�dulo sin una licencia GPL (incluyendo m�dulos sin licencia).
2 — Al menos un m�dulo fu� cargado a la fuerza con el comando insmod -f.
threads-max — Establece el n�mero m�ximo de hilos que puede usar el kernel, con un valor por defecto de 2048.
version — Visualiza la fecha y la hora en los que el kernel fue compilado por �ltima vez. El primer campo en este archivo, tal como #3, est� relacionado con el n�mero de veces que se ha construido un kernel desde la base de la fuente.
5.3.9.4. /proc/sys/net
Este directorio contiene diversos subdirectorios que tratan t�picos sobre redes. Las diferentes configuraciones en el momento en que el kernel fue compilado colocan diferentes directorios aqu�, tales como appletalk, ethernet, ipv4, ipx y ipv6. Los administradores de sistemas podr�n ajustar la configuraci�n de la red en un sistema en funcionamiento alterando los archivos en estos directorios.
Debido a la amplia variedad de posibles opciones de red disponibles con Linux, tan s�lo se comentar�n los directorios /proc/sys/net/.
El directorio /proc/sys/net/core/ contiene una variedad de configuraciones que controlan la interacci�n entre el kernel y las capas de red. Los archivos m�s importantes son:
message_burst — Configura la cantidad de tiempo en d�cimas de segundos requeridos para escribir un mensaje nuevo de aviso. Este valor se utiliza para prevenir ataques de Rechazo de servicios (o Denial of Service, DoS) y la configuraci�n por defecto es 50.
message_cost — Configura un costo en cada mensaje de aviso. Cuanto m�s alto es el valor de este archivo (por defecto 5), m�s probable es que el mensaje de aviso sea ignorado. Tambi�n se utiliza para prevenir ataques de DoS.
La idea de un ataque DoS es bombardear su sistema con peticiones que generen errores y llenen sus particiones con archivos logs o necesiten todos los recursos del sistema para manipular el registro de errores. Las configuraciones en message_burst y message_cost est�n dise�adas para ser modificadas bas�ndose el riesgo aceptable del sistema contra la necesidad de un registro exhaustivo.
netdev_max_backlog — Establece el n�mero m�ximo de paquetes permitido para hacer cola cuando una interfaz en particular recibe paquetes a una velocidad superior a la que el kernel puede procesarlos. El valor por defecto para este archivo es 300.
optmem_max — Configura el tama�o m�ximo de la memoria intermedia auxiliar por socket.
rmem_default — Establece el tama�o por defecto de la memoria intermedia de recepci�n del socket en bytes.
rmem_max — Establece el tama�o m�ximo de la memoria intermedia de recepci�n en bytes.
wmem_default — Establece el tama�o por defecto de la memoria intermedia de env�os del socket en bytes.
wmem_max — Establece el tama�o m�ximo de la memoria intermedia de env�os del socket en bytes.
El directorio /proc/sys/net/ipv4/ contiene configuraciones de red adicionales. Muchas de estas configuraciones, usadas en conjunto, son muy �tiles para prevenir ataques al sistema o cuando se usa el sistema para que act�e como un enrutador.
Atenci�n
Un cambio err�neo en estos archivos puede afectar la conectividad remota del sistema.
Aqu� tiene una lista de algunos de los archivos m�s importantes en el directorio /proc/sys/net/ipv4/:
icmp_destunreach_rate, icmp_echoreply_rate, icmp_paramprob_rate y icmp_timeexeed_rate — Establece la tasa m�xima de paquetes ICMP a enviar, en cent�simas de un segundo, para hosts bajo ciertas condiciones. Una configuraci�n de 0 elimina cualquier retraso y no es una buena idea.
icmp_echo_ignore_all y icmp_echo_ignore_broadcasts — Permite que el kernel ignore paquetes ICMP ECHO desde cada host o tan s�lo aqu�llos que se originen desde direcciones broadcast y de destinatario m�ltiple, respectivamente. 0 permite que el kernel responda, mientras un 1 ignora los paquetes.
ip_default_ttl — Establece el Time To Live (TTL) predeterminado, que limita el n�mero de saltos que un paquete puede efectuar antes de alcanzar su destino. Si incrementa este valor, la ejecuci�n del sistema puede disminuir.
ip_forward — Permite interfaces en el sistema para reenviar paquetes a otro. Por defecto, este archivo est� fijado en 0. Si se configura este valor a 1 activa el reenv�o de paquetes.
ip_local_port_range — Especifica el rango de puertos a usar por TCP o UDP cuando se necesita un puerto local. El primer n�mero es el puerto m�s bajo que puede utilizar, y el segundo especifica el puerto m�s alto. Cualquier sistema que se crea que necesitar� m�s puertos que los predeterminados 1024 hasta 4999 deber�a usar el rango 32768 hasta 61000.
tcp_syn_retries — Proporciona un l�mite en el n�mero de veces que el sistema retransmitir� un paquete SYN cuando se intenta establecer una conexi�n.
tcp_retries1 — Establece el n�mero de retransmisiones permitidas que intentan responder una conexi�n de entrada. 3 por defecto.
tcp_retries2 — Establece el n�mero de retransmisiones permitidas de paquetes TCP. 15 por defecto.
El archivo /usr/share/doc/kernel-doc-<version>/Documentation/networking/ip-sysctl.txt contiene la lista completa de archivos y opciones disponibles en el directorio /proc/sys/net/ipv4/.
Existe un n�mero de otros directorios dentro del directorio /proc/sys/net/ipv4/ y cada uno cubre un aspecto diferente de la pila de red. El directorio /proc/sys/net/ipv4/conf/ permite a cada interfaz del sistema ser configurada en diferentes formas, incluyendo el uso de valores por defecto para dispositivos no configurados (en el subdirectorio /proc/sys/net/ipv4/conf/default/) y configuraciones que invalidan todas las configuraciones especiales (en el subdirectorio /proc/sys/net/ipv4/conf/all/).
El directorio /proc/sys/net/ipv4/neigh/ contiene configuraciones para la comunicaci�n con un host que est� conectado directamente al sistema (llamado un vecino de red) y tambi�n contiene configuraciones diferentes para sistemas que est�n a m�s de un salto de distancia.
Routing por encima de IPV4 tambi�n tiene su propio directorio, /proc/sys/net/ipv4/route/. A diferencia de conf/ y neigh/, el directorio /proc/sys/net/ipv4/route/ contiene especificaciones que aplican al enrutamiento con cualquier interfaz en el sistema. Muchas de estas configuraciones, tales como max_size, max_delay, y min_delay, est�n relacionadas con el control del tama�o de la cach� de enrutamiento. Para limpiar la cach� de enrutamiento, escriba cualquier valor al archivo flush.
Encontrar� informaci�n adicional sobre estos directorios y los posibles valores de sus archivos de configuraci�n en:
Este directorio facilita la configuraci�n del subsistema de memoria virtual (VM) del kernel de Linux. El kernel hace un uso extensivo e inteligente de la memoria virtual, conocida comunmente como espacio swap.
Los siguientes archivos se encuentran habitualmente en el directorio /proc/sys/vm:
block_dump — Configura la depuraci�n de bloques de E/S cuando est� activo. Se registran todas las operaciones de lectura/escritura o que impliquen ensuciar bloques hechas a archivos. Esto puede ser muy �til para efectos de diagn�stico del giros del disco para la conservaci�n de la bater�a de las port�tiles. Se pueden recuperar todas las salidas cuando block_dump est� activado, mediante dmesg. El valor por defecto es 0.
Sugerencia
Si block_dump est� activado a la vez que la depuraci�n del kernel, es prudente detener el demonio klogd, pues generar� actividad del disco err�nea causada por block_dump.
dirty_background_ratio — Configura la escritura de los datos sucios a este porcentaje total de memoria, a trav�s del demonio pdflush. El valor por defecto es 10.
dirty_expire_centisecs — Define cuando los datos en memoria que se encuentran marcados como 'dirty' son lo suficientemente antiguos como para ser candidatos a escritura. Los datos en memoria por m�s tiempo que este intervalo, son escritos la pr�xima vez que se active un demonio pdflush. El valor por defecto es 3000, expresado en cientos de segundos.
dirty_ratio — Comienza la escritura activa de los datos sucios a este porcentaje total de memoria para el generador de datos sucios, a trav�s de pdflush. El valor por defecto es 40.
dirty_writeback_centisecs — Define el intervalo entre activaciones del demonio pdflush, que escribe peri�dicamente los datos en memoria al disco. El valor por defecto es 500, expresado en cientos de segundos.
laptop_mode — Minimiza el n�mero de veces que un disco duro necesita girar manteniendo los giros por el mayor tiempo posible, y por ende, conservando energ�a en las bater�as de las portatiles. Esto inclementa la eficiencia al combinar todos los procesos futuros de E/S juntos, reduciendo la frecuencia de los giros. El valor por defecto es 0, pero se activa autom�ticamente en caso de que se use la bateria en la port�til.
Este valor es controlado autom�ticamente por el demonio acpid una vez que se le notifica al usuario que la energ�a de la bater�a est� activada. No se necesitan modificaciones o interacciones por parte del usuario si la port�til soporta la especificaci�n de ACPI (Advanced Configuration and Power Interface).
Para m�s informaci�n, consulte la siguiente documentaci�n instalada:
lower_zone_protection — Determina qu� tan agresivo es el kernel en defender las zonas de ubicaci�n de memoria baja. Esto es efectivo cuando se utiliza con m�quinas configuradas con el espacio de memoria highmem activado. El valor por defecto es 0, sin protecci�n. Todos los dem�s valores enteros est�n en megabytes, y por lo tanto, la memoria lowmem est� protegida de ser asignada por los usuarios.
Para m�s informaci�n, consulte la siguiente documentaci�n instalada:
max_map_count — Configura el n�mero m�ximo de �reas de mapa de memoria que puede tener un proceso. En la mayor�a de los casos, el valor por defecto de 65536 es apropiado.
min_free_kbytes — Obliga a que Linux VM (el gestor de memoria virtual) mantenga un n�mero m�nimo de kilobytes libres. El VM utiliza este n�mero para computarizar un valor pages_min para cada zona lowmem en el sistema. El valor por defecto es en relaci�n al n�mero total de memoria en la m�quina.
nr_hugepages — Lista el n�mero actual de p�ginas hugetlb configuradas en el kernel.
Para m�s informaci�n, consulte la siguiente documentaci�n instalada:
nr_pdflush_threads — Indica el n�mero de demonios pdflush que se est�n ejecutando actualmente. Este archivo es de s�lo lectura, y no deber�a ser cambiado por el usuario. Bajo grandes cargas de E/S, el kernel incrementa el valor por defecto de dos.
overcommit_memory — Configura las condiciones bajo las cuales una petici�n de gran memoria es aceptada o rechazada. Est�n disponibles los siguientes tres modos:
0 — El kernel lleva a cabo un manejo de memoria heur�stico, estimando la cantidad de memoria disponible y suspendiendo las peticiones que son obviamente inv�lidas. Desafortunadamente, puesto que la memoria es asignada usando heur�sticas en vez de un algoritmo preciso, esta configuraci�n puede algunas veces ocasionar la sobrecarga de la memoria disponible en el sistema. Esta es la configuraci�n por defecto.
1 — El kernel no lleva a cabo ning�n manejo de asignaciones extra de memoria. Con esta configuraci�n, el potencial de sobrecarga de memoria se incrementa, pero tambi�n el rendimiento para las tareas intensivas de memoria (tales como aquellas ejecutadas por software cient�fico).
2 — El kernel suspende las peticiones de memoria que consumen todo el swap m�s el porcentaje de memoria f�sica RAM especificado en /proc/sys/vm/overcommit_ratio. Esta configuraci�n es mejor para aquellos que deseen menos riesgos de comprometer en exceso la memoria.
Nota
Esta configuraci�n solamente es recomendada para los sistemas con �reas swap m�s grandes que la memoria f�sica.
overcommit_ratio — Especifica el porcentaje de memoria f�sica RAM considerada cuando /proc/sys/vm/overcommit_memory es configurado a 2. El valor por defecto es 50.
page-cluster — Establece el n�mero de p�ginas le�das en un solo intento. El valor por defecto de 3 establecido en 16 p�ginas, es apropiado para la mayor�a de los sistemas.
swappiness — Establece cu�nto swap deber�a hacer una m�quina. Mientras m�s alto es el n�mero, ocurrir� mayor swapping. Por defecto, este valor es 60.
Toda la documentaci�n basada en el kernel se puede encontrar en la ubicaci�n local siguiente:
/usr/share/doc/kernel-doc-<version>/Documentation/, la cual contiene informaci�n adicional.
5.3.10. /proc/sysvipc
Este directorio contiene informaci�n sobre los recursos System V IPC. Los archivos de este directorio est�n relacionados con las llamadas al System V IPC de mensajes (msg), sem�foros (sem), y memoria compartida (shm).
5.3.11. /proc/tty/
Este directorio contiene informaci�n sobre los dispositivos tty disponibles y usados actualmente en el sistema. Originalmente conocido como dispositivos teletipo, cualquier terminal de datos basado en car�cteres se le conoce como dispositivos tty.
En Linux existen tres tipos diferentes de dispositivos tty. Los Dispositivos serial son usados con conexiones seriales, tales como un m�dem o usando un cable serial. Los Terminales virtuales crean las conexiones de consola comunes, tales como las consolas virtuales disponibles al pulsar [Alt]-[<F-key>] en la consola del sistema. Los Pseudo terminales crean una comunicaci�n de dos sentidos que usan las aplicaciones de nivel alto, tales como XFree86. El archivo drivers es una lista de dispositivos tty actualmente en uso, como en el ejemplo siguiente:
El archivo /proc/tty/driver/serial lista las estad�sticas en uso y el estado de cada una de las l�neas de serie tty.
Para que se puedan utilizar los dispositivos tty como dispositivos de red, el kernel de Linux reforzar� la disciplina de l�nea en el dispositivo. Esto permite que el controlador coloque un tipo espec�fico de encabezamiento con cada bloque de datos transmitido por el dispositivo, haciendo posible que el lado remoto de la conexi�n vea el bloque de datos como uno m�s en la l�nea de bloques de datos. SLIP y PPP son disciplinas de l�nea comunes y se usan a menudo para conectar sistemas en un enlace serial.
En el archivo ldiscs encontrar� disciplinas de l�neas registradas e informaci�n m�s detallada en el directorio ldisc.