Este libro presenta métodos de programación en el entorno Linux, incluidos comandos del sistema Linux, scripts de Shell, lenguajes de programación (gawk, Perl), kernel del sistema, sistema de seguridad, X Window, etc. Es rico en contenido y completo en discusión. , que cubre todos los aspectos del sistema Linux. El CD que viene con este libro incluye la última versión del sistema RedHat Linux y el método de instalación, así como una gran cantidad de código de programa en este libro, lo que facilita enormemente a los lectores y proporciona una referencia completa para los técnicos que usan y usarán. Sistemas Linux.
Contenido Prefacio Capítulo 1 Introducción al sistema Linux Capítulo 1 Introducción a Linux…1
1.1 El origen de Linux 1
1.2 Proyecto GNU 1 de la Free Software Foundation
1.3 Pronunciación de Linux 2
1.4 Características de Linux 2
1.5 Requisitos básicos de hardware 3
1.6 Cómo obtener Linux 3
1.6.1 Descargar Linux 3 de Internet
1.6.2 Obtención de Linux 3 desde CD
1.7 Sitios web y grupos de discusión de noticias relacionados con Linux 6
1.8 Desventajas de Linux 7
Capítulo 2 Shell y comandos comunes 8
2.1 Iniciar sesión y cerrar sesión8
2.2 Shell del sistema Linux 8
2.3 Comandos de shell comunes 9
2.3.1 Cambiar contraseña de cuenta 9
2.3.2 Ayuda en línea 9
2.3.3 Inicio de sesión remoto 9
2.3.4 Procesamiento de archivos o directorios 9
2.3.5 Cambiar el directorio de trabajo 10
2.3.6 Copiar archivo 10
2.3.7 Mover o cambiar nombres de archivos y directorios 10
2.3.8 Crear un nuevo directorio10
2.3.9 Eliminar directorio 11
2.3.10 Eliminar archivos 11
2.3.11 Listar la ubicación del directorio actual 11
2.3.12 Ver contenido del archivo 11
2.3.13 Ver el contenido del archivo por páginas 11
2.3.14 Verifique el espacio en disco que ocupa el directorio 11
2.3.15 Transferencia de archivos 11
2.3.16 Configuración de permisos de archivos 12
2.3.17 Verifica el nombre del grupo de trabajo al que perteneces13
2.3.18 Cambiar la propiedad del grupo de trabajo de archivos o directorios 13
2.3.19 Cambiar la hora de la última modificación de un archivo o directorio13
2.3.20 Enlaces a archivos 13
2.3.21 Buscando cadenas en archivos 14
2.3.22 Buscar la ruta de un archivo o comando 14
2.3.23 Comparar el contenido de archivos o directorios14
2.3.24 Impresión de archivos 14
2.3.25 Impresión de documentos generales 14
2.3.26 Impresión de archivos troff 14
2.3.27 Comando de control de la impresora 14
2.3.28 Control de procesos 15
2.3.29 Variable de shell 16
2.3.30 Variables ambientales 16
2.3.31 Alias 16
2.3.32 Comandos históricos 17
2.3.33 Compresión de archivos 17
2.3.34 Uso de comandos de canalización 17
2.3.35 Control de entrada/salida 18
2.3.36 Ver usuarios en el sistema 18
2.3.37 Cambiar nombre de usuario18
2.3.38 Ver nombre de usuario 18
2.3.39 Ver usuarios de todas las estaciones de trabajo en el sistema actual 19
2.3.40 Chatear con un usuario en una estación de trabajo 19
2.3.41 Verifique si el sistema remoto es normal 19
2.3.42 Introducción al uso del correo electrónico 19
Capítulo 3 Funciones de red de los sistemas Linux 21
3.1 Protocolos de red soportados por Linux 21
3.1.1 TCP/IP 21
3.1.2 TCP/IP versión 6 21
3.1.3 IPX/SPX 21
3.1.4 Conjunto de protocolos AppleTalk 21
3.1.5 Red de área amplia 22
3.1.6 RDSI 22
3.1.7 PPP, SLIP y PLIP 22
3.1.8 Radioaficionados 22
3.1.9 Cajero automático 22
3.2 Compartir archivos e imprimir en el sistema Linux 22
3.2.1 Entorno Machintosh 22
3.2.2 Entorno Windows 22
3.2.3 Entorno Novell 23
3.2.4 Entorno UNIX 23
3.3 Funciones de Internet/Intranet en sistemas Linux 23
3.3.1 Correo electrónico 23
3.3.2 Servidor web 24
3.3.3 Navegador web 24
3.3.4 Servidor y Cliente FTP 24
3.3.5 Servicio de noticias 24
3.3.6 Sistema de nombres de dominio 24
3.3.7 DHCP y arranque 24
3.3.8 NIS 24
3.4 Ejecución remota de aplicaciones bajo sistema Linux 24
3.4.1 Telnet 25
3.4.2 Comandos remotos 25
3.4.3 Ventana X 25
3.5 Función de interconexión de red del sistema Linux 25
3.5.1 Enrutador 25
3.5.2 Puente 25
3.5.3 Enmascaramiento de IP 25
3.5.4 Estadísticas de propiedad intelectual 26
3.5.5 Alias de IP 26
3.5.6 Limitador de flujo 26
3.5.7 Cortafuegos 26
3.5.8 Descarga de puerto 26
3.5.9 Equilibrio de carga 26
3.5.10 EQL 27
3.5.11 Servidor proxy 27
3.5.12 Marcar bajo demanda 27
3.5.13 Tuberías, IP Móvil y Redes Personales Virtuales 27
3.6 Gestión de redes en sistemas Linux 27
3.6.1 Aplicaciones de gestión de red en el sistema Linux 27
3.6.2 SNMP 28
3.7 Red empresarial Linux 28
3.7.1 Alta disponibilidad 28
3.7.2 RAID 28
3.7.3 Redes redundantes 28
Capítulo 4 Introducción a la gestión del sistema Linux 29
4.1 cuenta raíz 29
4.2 Iniciar y apagar el sistema 29
4.2.1 Arrancar desde un disquete 29
4.2.2 Comenzando con LILO 29
4.2.3 Apagar el sistema Linux 30
4.3 Montaje del sistema de archivos 30
4.3.1 Montar el disquete 30
4.3.2 Crear un nuevo sistema de archivos 30
4.3.3 Desmontaje del sistema de archivos 31
4.4 Comprobación del sistema de archivos 31
4.5 Usar archivos como áreas de intercambio 31
4.6 Copia de seguridad del sistema y de los archivos 32
4.7 Configuración del sistema 33
4.7.1 Establecer el nombre del sistema 33
4.7.2 Uso del disco de mantenimiento 33
4.7.3 Restablecer la contraseña de la cuenta raíz 33
4.7.4 Establecer información de inicio de sesión 33
Parte 2 Programación de administración y lenguaje de alto nivel de Linux Capítulo 5 Programación de Shell 35
5.1 Crear y ejecutar shells 35
5.1.1 Creando un caparazón 35
5.1.2 Ejecutando el shell 35
5.2 Usando variables de shell36
5.2.1 Asignar valores a variables 36
5.2.2 Lectura del valor de una variable 37
5.2.3 Variables de posición y otras variables del sistema 37
5.2.4 El papel de las comillas 37
5.3 Comandos de operación numéricos 38
5.4 Expresión condicional 40
5.4.1 si expresión 40
5.4.2 expresión de caso 41
5.5 Declaración de bucle 42
5.5.1 para la declaración 43
5.5.2 mientras declaración 43
5.5.3 hasta la declaración 44
5.6 comando de cambio 44
5.7 declaración selecta 45
5.8 repetir afirmación 46
5.9 Subfunción 46
Capítulo 6 Programación en lenguaje gawk 48
6.1 Funciones principales de gawk 48
6.2 Cómo ejecutar el programa gawk 48
6.3 Archivos, registros y campos 48
6.4 Patrones y acciones 49
6.5 Operaciones de comparación y operaciones numéricas 50
6.6 Funciones internas 50
6.6.1 Números aleatorios y funciones matemáticas 51
6.6.2 Funciones internas de cadena 51
6.6.3 Funciones internas de entrada y salida 52
6.7 Cadenas y números52
6.8 Salida formateada 52
6.9 Cambiar los separadores de campo 54
6.10 Metacaracteres 54
6.11 Llamar al programa gawk 55
6.12 COMIENZO y FINAL 55
6.13 Variables 56
6.14 Variables integradas 56
6.15 Estructura de control 57
6.15.1 si expresión 57
6.15.2 mientras bucle 57
6.15.3 para el bucle 58
6.15.4 siguiente y salida 58
6.16 Matriz 58
6.17 Funciones definidas por el usuario 58
6.18 Varios ejemplos 59
Capítulo 7 Programación en lenguaje Perl 60
7.1 ¿Qué es Perl 60?
7.2 Estado actual de Perl 60
7.3 Primer intento con Perl 60
7.4 Variables Perl 60
7.4.1 Escalar 60
7.4.2 Matriz 63
7.4.3 Matrices relacionadas 65
7.5 Identificadores de archivos y operaciones de archivos 65
7.6 Estructura del bucle 66
7.6.1 bucle para cada 66
7.6.2 Operación de juicio 66
7.6.3 para el bucle 67
7.6.4 bucles while y Until 67
7.7 Estructura condicional 67
7.8 Coincidencia de caracteres 68
7.9 Reemplazo y traducción 69
7.9.1 Reemplazo 69
7.9.2 Traducción 70
7.10 Subproceso 70
7.10.1 Definición de subproceso 70
7.10.2 Parámetro 70
7.10.3 Valor de retorno 70
7.11 Ejemplo completo de un programa Perl 71
Parte 3 Análisis del kernel del sistema Linux Capítulo 8 Introducción al kernel de Linux 73
8.1 Inicialización del sistema 73
8.2 Operación del sistema 73
8.3 Varias llamadas al sistema proporcionadas por el kernel 74
8.3.1 Conceptos básicos de procesos y estructuras de datos básicas del sistema 74
8.3.2 Crear y destruir procesos 74
8.3.3 Ejecutar programa 74
8.4 Acceso a sistemas de archivos 75
Capítulo 9 Procesos del sistema 76
9.1 ¿Qué es un proceso 76?
9.2 Estructura de procesos 76
9.3 Programación de procesos 78
9.4 Archivos utilizados por los procesos 79
9.5 Memoria virtual utilizada por los procesos 80
9.6 Creación de procesos 81
9.7 Tiempo de proceso y temporizadores 81
9.7.1 Reloj en tiempo real 81
9.7.2 Reloj virtual 81
9.7.3 Reloj de imagen 81
9.8 Ejecución del programa 82
9.8.1 Archivos ELF 82
9.8.2 Archivos de script 82
Capítulo 10 Gestión de la memoria 83
10.1 El papel de la gestión de la memoria 83
10.2 Modelo abstracto de memoria virtual 83
10.3 Carga de páginas bajo demanda 84
10.4 Intercambio 85
10.5 Memoria virtual compartida 85
10.6 Control de acceso 85
10.7 Almacenamiento en caché 86
10.7.1 Caché del búfer 86
10.7.2 Caché de páginas 86
10.7.3 Intercambiar caché 86
10.7.4 Caché de hardware 86
10.8 Tabla de páginas del sistema 86
10.9 Asignación y desasignación de páginas 87
10.9.1 Asignación de páginas 88
10.9.2 Liberación de páginas 88
10.10 Mapeo de memoria 88
10.11 Solicitar paginación 89
10.12 Almacenamiento en caché de páginas 89
10.13 Demonio de intercambio de kernel 90
Capítulo 11 Comunicación entre procesos 91
11.1 Mecanismo de señalización 91
11.2 Mecanismo de canalización 92
11.3 Mecanismo IPC del Sistema V 93
11.3.1 Cola de mensajes 93
11.3.2 Semáforos 94
11.3.3 Memoria compartida 96
Capítulo 12 PCI 98
12.1 Sistema PCI 98
12.2 Espacio de direcciones PCI 98
12.3 Encabezado de configuración PCI 99
12.4 E/S PCI y dirección de memoria PCI 100
12.5 Puente PCI-ISA 100
12.6 Puente PCI-PCI 100
12.7 Inicialización de PCI 101
12.7.1 Estructura de datos del kernel del sistema Linux relacionada con PCI 101
12.7.2 Controladores de dispositivos PCI 102
12.7.3 Funciones del BIOS PCI 105
12.7.4 Reparación de PCI 105
Capítulo 13 Interrupciones y manejo de interrupciones 106
13.1 Interrupciones 106
13.2 Controlador de interrupción programable 106
13.3 Inicialización de la estructura de datos para el procesamiento de interrupciones 107
13.4 Manejo de interrupciones 108
Capítulo 14 Controladores de dispositivos 109
14.1 Gestión de dispositivos de hardware 109
14.2 Sondeos e interrupciones 110
14.3 Acceso directo a la memoria 110
14.4 Memoria 111
14.5 Interfaz entre el controlador del dispositivo y el kernel 111
14.5.1 Dispositivos de caracteres 112
14.5.2 Dispositivos de bloque 113
14.6 Disco duro 113
14.6.1 Disco duro IDE 115
14.6.2 Inicialización del subsistema de disco duro IDE 115
14.6.3 Disco duro SCSI 115
14.6.4 Inicialización del subsistema de disco SCSI 116
14.6.5 Pasar solicitudes de dispositivos de bloqueo 118
14.7 Equipo de red 118
14.7.1 Nombre de archivo del dispositivo de red 118
14.7.2 Información del autobús 118
14.7.3 Etiquetas de interfaz de red 119
14.7.4 Información del protocolo 119
14.7.5 Inicialización de dispositivos de red 119
Capítulo 15 Sistemas de archivos 121
15.1 Descripción general del sistema de archivos Linux 121
15.2 sistema de archivos ext2 122
15.2.1 Nodo de índice de ext2 122
15.2.2 superbloque ext2 124
15.2.3 Descriptor de grupo de bloques de datos ext2 124
15.2.4 Directorios en ext2 125
15.2.5 Encontrar archivos en un sistema de archivos ext2 125
15.2.6 Cambiar el tamaño de los archivos en el sistema de archivos ext2 126
15.3 VFS 127
15.3.1 Superbloque VFS 128
15.3.2 Inodo 129 VFS
15.3.3 Registrar el sistema de archivos 129
15.3.4 Montar el sistema de archivos 130
15.3.5 Encontrar archivos en VFS 131
15.3.6 Deshacer un sistema de archivos 131
15.3.7 Caché de inodos VFS 132
15.3.8 Almacenamiento en caché del directorio VFS 132
15.4 Almacenamiento en caché del búfer 133
15.5 /proc sistema de archivos 135
Capítulo 16 Sistemas de red 136
16.1 Introducción a la red TCP/IP 136
16.2 Capas de redes TCP/IP 137
16.3 Zócalos BSD 138
16.4 Capa de conexión INET 140
16.4.1 Creando un socket BSD 141
16.4.2 Especificación de una dirección para el socket INET BSD 141
16.4.3 Crear conexiones en sockets INET BSD 142
16.4.4 Escucha en el socket INET BSD 142
16.4.5 Recibir solicitudes de conexión 143
16.5 capa IP 143
16.5.1 Búfer de socket 143
16.5.2 Recibir paquetes IP 144
16.5.3 Envío de paquetes IP 144
16.5.4 Fragmentación de datos 144
16.6 Protocolo de resolución de direcciones 145
Capítulo 17 Mecanismo del kernel del sistema 147
17.1 Procesamiento de la mitad inferior 147
17.2 Cola de tareas 148
17.3 Temporizadores 149
17.4 Cola de espera 149
17.5 Semáforo 150
Parte 4 Programación avanzada de sistemas Linux Capítulo 18 Programación del módulo del kernel de Linux 151
18.1 Un programa sencillo Hola Mundo 151
18.2 Archivos de dispositivo 152
18.3 sistema de archivos /proc 156
18.4 Usando /proc para ingresar 158
18.5 Comunicación con archivos del dispositivo 162
18.6 Parámetros de inicio 169
18.7 Llamadas al sistema 170
18.8 Procesos de bloqueo 172
18.9 Reemplazo de impresión 177
18.10 Programación de tareas 178
Capítulo 19 Programación para la comunicación de procesos 181
19.1 Introducción a la comunicación entre procesos 181
19.2 Tuberías UNIX semidúplex 181
19.2.1 Conceptos básicos 181
19.2.2 Creación de canalizaciones utilizando lenguaje C 182
19.2.3 Una forma sencilla de crear una canalización 185
19.2.4 Automatización mediante tuberías 187
19.2.5 Cosas a tener en cuenta al utilizar tuberías semidúplex 188
19.3 Tuberías con nombre 188
19.3.1 Conceptos básicos 188
19.3.2 Creando FIFO 188
19.3.3 Operación FIFO 189
19.3.4 Bloqueo FIFO 190
19.3.5 Señal SIGPIPE 190
19.4 Sistema V IPC 190
19.4.1 Conceptos básicos 190
19.4.2 Conceptos básicos de cola de mensajes 191
19.4.3 Llamada al sistema msgget() 194
19.4.4 Llamada al sistema msgsnd() 195
19.4.5 Llamada al sistema msgctl() 197
19.4.6 Una instancia de msgtool 199
19.5 Programación con Semáforos 201
19.5.1 Conceptos básicos 201
19.5.2 Llamada al sistema semget() 202
19.5.3 Llamada al sistema semop() 203
19.5.4 Llamada al sistema semctl() 204
19.5.5 Ejemplos de uso de conjuntos de semáforos: semtool 205
19.6 Memoria compartida 209
19.6.1 Conceptos básicos 209
19.6.2 Estructura de datos del usuario interno del sistema
shmid_ds 209
19.6.3 Llamada al sistema shmget() 210
19.6.4 Llamada al sistema shmat() 211
19.6.5 Llamada al sistema shmctl() 211
19.6.6 Llamada al sistema shmdt() 212
19.6.7 Ejemplos de uso de memoria compartida: shmtool 212
Capítulo 20 Programación avanzada de subprocesos 215
20.1 El concepto y uso de hilos 215
20.2 Un ejemplo sencillo 215
20.3 Sincronización de subprocesos 217
20.4 Uso del coordinador de semáforos 218
20.5 Implementación del semáforo 220
20.5.1 Semáforo.h 220
20.5.2 Semáforo.c 221
Capítulo 21 Programación de la red del sistema Linux 225
21.1 ¿Qué es un enchufe 225?
21.2 Dos tipos de enchufes de Internet 225
21.3 Capas de protocolo de red 225
21.4 Estructuras de datos 225
21.5 Direcciones IP y cómo se utilizan 226
21.5.1 zócalo() 226
21.5.2 vincular() 226
21.5.3 conectar() 227
21.5.4 escuchar() 228
21.5.5 aceptar() 228
21.5.6 enviar() y recibir() 229
21.5.7 enviar a() y recvfrom() 230
21.5.8 cerrar() y apagar() 230
21.5.9 getpeername() 231
21.5.10 gethostname() 231
21.6 DNS 231
21.7 Modelo Cliente/Servidor 232
21.8 Programa de servidor de transmisión de datos simple 232
21.9 Un programa cliente de streaming sencillo 234
21.10 Datagrama Socket 235
21.11 Bloqueo 237
Capítulo 22 Programación del puerto de E/S de Linux 240
22.1 Cómo utilizar el puerto de E/S 240 en lenguaje C
22.1.1 Métodos generales 240
22.1.2 Otra alternativa: /dev/port 241
22.2 Interrupciones de hardware y acceso DMA 241
22.3 Hora de alta precisión 241
22.3.1 Tiempo de retardo 241
22.3.2 Medición del tiempo 243
22.4 Usar otros lenguajes de programación 243
22.5 Algunos puertos de E/S útiles 243
22.5.1 Puerto paralelo 243
22.5.2 Puerto de juego 244
22.5.3 Puerto serie 245
Parte 5 Análisis de seguridad del sistema Linux Capítulo 23 Seguridad del administrador del sistema 247
23.1 Gestión de seguridad 247
23.2 Superusuario 247
23.3 Seguridad del sistema de archivos 247
23.3.1 Descripción general del sistema de archivos Linux 247
23.3.2 Archivos de dispositivo 248
23.3.3 Comando /etc/mknod 249
23.3.4 Consideraciones de seguridad 249
23.3.5 buscar comando 250
23.3.6 programa seguro 250
23.3.7 comando ncheck 250
23.3.8 Instalar y eliminar sistemas de archivos 250
23.3.9 Directorios y archivos del sistema 251
23.4 Programas ejecutándose como root 251
23.4.1 Iniciar el sistema 251
23.4.2 proceso de inicio 251
23.4.3 Ingresar a multiusuario 252
23.4.4 comando de apagado 252
23.4.5 Programa cron del Sistema V 252
23.4.6 programas cron después de System V versión 252
23.4.7 /etc/perfil 253
23.5 archivo /etc/contraseña 253
23.5.1 Caducidad de la contraseña 253
23.5.2 UID y GID 254
23.6 archivo /etc/grupo 254
23.7 Agregar, eliminar y mover usuarios 254
23.7.1 Agregar usuarios 254
23.7.2 Eliminar usuario 255
23.7.3 Mover usuarios a otro sistema 255
23.8 Control de seguridad 255
23.8.1 Contabilidad 255
23.8.2 Otros comandos de verificación 256
23.8.3 Problemas con los procedimientos de inspección de seguridad 256
23.8.4 Qué hacer después de una fuga del sistema 257
23.9 Entornos restringidos 258
23.9.1 Recintos restringidos 258
23.9.2 Usar chroot() para restringir usuarios 258
23.10 Seguridad de sistemas pequeños 259
23.11 Seguridad física 259
23.12 Conciencia del usuario 260
23.13 Conciencia del administrador del sistema 261
23.13.1 Mantener seguros los inicios de sesión personales de los administradores del sistema 261
23.13.2 Mantener los sistemas seguros 261
Capítulo 24 Seguridad del programador del sistema 263
24.1 Subrutinas del sistema 263
24.1.1 Subrutinas de E/S 263
24.1.2 Control de procesos 263
24.1.3 Atributos de archivo 264
24.1.4 Procesamiento de UID y GID 265
24.2 Biblioteca C estándar 265
24.2.1 E/S estándar 265
24.2.2 Procesamiento de /etc/passwd 266
24.2.3 Procesamiento /etc/group 267
24.2.4 Subrutina de cifrado 268
24.2.5 Ejecutar el shell 268
24.3 Escribir programas C seguros 268
24.3.1 Cuestiones de seguridad a considerar268
24.3.2 Lineamientos del Programa SUID/SGID 269
24.3.3 Métodos de compilación e instalación de programas SUID/SGID 269
24.4 Diseño del programa de usuario root 270
Capítulo 25 Seguridad de red de sistemas Linux 272
25.1 Descripción general del sistema UUCP 272
25.1.1 Comandos UUCP 272
25.1.2 comandos uux 272
25.1.3 programa uucico 273
25.1.4 programa uuxqt 273
25.2 Cuestiones de seguridad del UUCP 273
25.2.1 Archivo ARCHIVO DE USUARIO 273
25.2.2 Archivo L.cmds 274
25.2.3 inicio de sesión uucp 274
25.2.4 Archivos y directorios utilizados por uucp 274
25.3 MIEL DANBER UUCP 275
25.3.1 Diferencias entre HONEYDANBER UUCP y el antiguo UUCP 275
25.3.2 Reglas de nombre de inicio de sesión 276
25.3.3 Reglas de la MÁQUINA 277
25.3.4 Combinando MÁQUINA y NOMBRE DE REGISTRO
Regla 278
25.3.5 comando uucheck 278
25.3.6 Puerta de enlace 278
25.3.7 Verificación del archivo de inicio de sesión 279
25.4 Otras redes 279
25.4.1 Inicio de sesión de trabajo remoto 279
25.4.2 Sistema de red NSC 280
25.5 Seguridad de las Comunicaciones 280
25.5.1 Seguridad Física 280
25.5.2 Cifrado 281
25.5.3 Autenticación de identidad del usuario 282
25.6 Seguridad de red del sistema SUN OS 283
25.6.1 Protección de NFS 283
25.6.2 Fallos de seguridad de NFS 284
25.6.3 Autenticación de llamada a procedimiento remoto 284
25.6.4 Mecanismo de autenticación de Linux 284
25.6.5 Sistema de autenticación DES 285
25.6.6 Codificación de palabras clave públicas 286
25.6.7 Nombrar entidades de red 286
25.6.8 Aplicación del sistema de identificación DES 287
25.6.9 Problemas de seguridad restantes 287
25.6.10 Rendimiento 288
25.6.11 Problemas causados por programas de inicio y setuid 288
25.6.12 Resumen 289
Capítulo 26 Seguridad del usuario de sistemas Linux 290
26.1 Seguridad de contraseña 290
26.2 Permisos de archivos 290
26.3 Licencias de directorio 291
26.4 comando umask 291
26.5 Establecer permisos de ID de usuario y de ID de usuario de grupo 291
26.6 cp mv ln y cpio comandos 291
26.7 comandos su y newgrp 292
26.7.1 su comando 292
26.7.2 comando nuevogrp 292
26.8 Cifrado de archivos 292
26.9 Otras cuestiones de seguridad 293
26.9.1 Archivo .profile del usuario 293
26.9.2 ls-a 293
26.9.3 Archivos .exrc 293
26.9.4 Archivos y directorios temporales 293
26.9.5 UUCP y otras redes 293
26.9.6 Caballo de Troya 294
26.9.7 Señuelo 294
26.9.8 Virus informáticos 294
26.9.9 Para salir del terminal estás logueado294
26.9.10 Terminal inteligente 294
26.9.11 Desconexión del sistema 294
26.9.12 comando cu 295
26.10 Consejos para mantener segura tu cuenta 295
Sexta parte: Estructura interna y uso del sistema X Window Capítulo 27 Conocimientos básicos del sistema X Window 297
27.1 Introducción al sistema X Window 297
27.1.1 Características de X 297
27.1.2 ¿Qué es un sistema de ventanas 298?
27.1.3 Historia del desarrollo de X 299
27.1.4 Producto de X 299
27.1.5 X 299 lanzado por el MIT
27.2 Estructura básica de X 302
27.2.1 Elementos básicos de X 303
27.2.2 Cómo interactúan y se comunican los programas de servicio y los programas de cliente 304
27.2.3 Descripción general de la red de X 306
27.3 Descripción general de X 307 desde la perspectiva de la interfaz de usuario
27.3.1 Interfaz de administración: Administrador de ventanas 307
27.3.2 Interfaces de aplicaciones y cajas de herramientas 309
27.3.3 Otras perspectivas del sistema 309
27.4 Terminología y notación 310
27.4.1 Terminología 310
27.4.2 Símbolos 311
27.5 Arrancar y apagar el X 312
27.5.1 Inicio X 312
27.5.2 Formas de ejecutar el programa X 313
27.5.3 Cerrar X 314
27.6 Conceptos básicos del administrador de ventanas—uwm 315
27.6.1 ¿Qué es un administrador de ventanas?315
27.6.2 Iniciar uwm 315
27.6.3 Operaciones básicas de ventana—uwm
Menú 315
27.6.4 Mover ventanas 316
27.6.5 Cambiar el tamaño de las ventanas 316
27.6.6 Creando una nueva ventana 316
27.6.7 Administrar el espacio de la pantalla 318
27.6.8 Abortar ventanas de aplicaciones 320
27.6.9 Otras formas de activar el menú uwm 320
27.7 Dispositivos de red que utilizan x 320
27.7.1 Especificar terminal remoto: pantalla
Opción 321
27.7.2 Uso práctico de pantallas remotas 322
27.7.3 Control de monitores de acceso: xhost 322
27.8 Emulador de terminal: introducción detallada a xterm 323
27.8.1 Selección de funciones xterm: opciones de menú y línea de comando 323
27.8.2 Desplazarse por la pantalla xterm 324
27.8.3 Grabar el proceso de interacción con el terminal: escribir registros 325
27.8.4 Cortar texto 325
27.8.5 Uso de las funciones de simulación de Tektronix 326
27.8.6 Usar diferentes fuentes 327
27.8.7 Usar colores 327
27.8.8 Otras opciones de xterm 327
27.8.9 Configurar el teclado del terminal 328
Capítulo 28 Utilidades y herramientas 329
28.1 Servicios públicos 329
28.2 Guardar, mostrar e imprimir imágenes de pantalla 330
28.3 Aplicaciones que utilizan X 332
28.3.1 Editor de texto—Xedit 333
28.3.2 Sistemas de correo/mensajería: xmh 336
28.4 Ejemplos y programas de juegos 336
28.4.1 Encontrar un camino a través de un laberinto aleatorio: laberinto 336
28.4.2 El ojo grande que sirve como puntero del mouse:
ojos x 336
28.4.3 Juego de mesa de sabiduría: rompecabezas 337
28.4.4 Imprimir un logotipo X grande: xlogo 337
28.4.5 Poliedro saltador—ico 337
28.4.6 Patrones geométricos dinámicos: masticador y
cuadros 337
28.7 Programas para mostrar información y estado 337
28.7.1 Enumerar las características de los programas de servicio X.
xdpyinfo 338
28.7.2 Obtener información sobre una ventana 338
28.7.3 Observación del evento de X—xev 340
Capítulo 29 Personalización del sistema X Window 341
29.1 Uso de fuentes y colores X 341
29.1.1 Fuentes preliminares 341
29.1.2 Nomenclatura de fuentes 342
29.1.3 Observar el contenido de una fuente específica: xfd 343
29.1.4 Guardar fuentes y posiciones 343
29.1.5 Ejemplo: Agregar una nueva fuente a su programa de servicio 345
29.1.6 Usando el color de X 346
29.2 Definición y uso de gráficos 347
29.2.1 Biblioteca de gráficos del sistema 347
29.2.2 Edición de gráficos interactivos: mapa de bits 347
29.2.3 Otras formas de editar gráficos 349
29.2.4 Personalización de la ventana raíz: xsetroot 349
29.3 Definición de opciones predeterminadas de la aplicación—
Recursos 350
29.3.1 ¿Qué son los recursos?350
29.3.2 XKit de herramientas 351
29.3.3 Gestión de recursos: Administrador de recursos 353
29.3.4 Tipos de recursos: cómo especificar valores 358
29.4 Uso real de los recursos 359
29.4.1 Dónde guardar los valores predeterminados para los recursos 359
29.4.2 Guardar valores predeterminados en programas de servicio—
xrdb 363
29.4.3 Errores comunes y correcciones 366
29.5 Personalización del teclado y el mouse 367
29.5.1 Uso práctico de las conversiones 368
29.5.2 Conversión: formatos y reglas 374
29.5.3 Problemas comunes en las especificaciones de conversión 377
29.6 Teclado y mouse: correspondencias y parámetros 379
29.6.1 Mapeo de teclado y mouse: xmodmap 379
29.6.2 Configuración de parámetros de teclado y mouse: xset 382
29.7 Mayor introducción y personalización de uwm 384
29.7.1 Nuevas funciones de uwm 384
29.7.2 Personalización de uwm 386
29.8 Administrador de pantalla: xdm 390
29.8.1 Qué hay que hacer 390
29.8.2 xdm 391
29.8.3 Más información sobre xdm 392
29.8.4 configuración uwm 395
Apéndice A Introducción al uso de Gcc 396
Apéndice B Instalación del sistema X Window Window 410
Expandir