Administración de sistema ¿Dónde están los ficheros de configuración de arranque del sistema?

De la versión 2.0.5R a la 2.2.1R, el fichero principal de configuración es /etc/sysconfig. Todas las opciones son especificadas en este fichero y otros como y /etc/netstart.

Mira en el fichero /etc/sysconfig y cambia los valores para tu sistema. Este fichero está comentado para ayudar en la configuración

En versiones posteriores a la 2.2.1 y 3.0 el fichero /etc/sysconfig fue renombrado como . La sintaxis también fue retocada para ser mas descriptiva. El fichero /etc/netstart también fue renombrado como /etc/rc.network para que todos los ficheros de configuración puedan ser copiados con el comando /usr/src/etc/rc* /etc.

/etc/rc.local existe como siempre y debería ser usado para arrancar servicios locales adicionales como o programas propios.

El fichero /etc/rc.serial es para la inicialización de puertos serie.

El fichero /etc/rc.i386 es para especificaciones propias de Intel, como la emulación iBCS2 o la configuración de la cónsola del sistema.

A partir de la versión 2.1.0R, también puedes tener un directorio en el que instalar ficheros de arranque locales especificado en /etc/sysconfig (o /etc/rc.conf): # Localización de los ficheros de arranque locales. local_startup=/usr/local/etc/rc.local.d

Cada fichero acabado en Si quieres asegurarte de un cierto orden en la ejecución sin tener que cambiar todos los nombres de los ficheros, puedes usar un esquema similar al siguiente con dígitos al principio del nombre de cada fichero: 10news.sh 15httpd.sh 20ssh.sh

Puede ser visto como "malo" (o SysV :-)) pero nos provee de un esquema regular para programas añadidos localmente sin tener que hacer ediciones complicadas del fichero /etc/rc.local. Muchos de los ports/packages asumen que /usr/local/etc/rc.d es un directorio de arranque local. ¿Cómo añado un usuario facilmente?

Usa el comando . Para opciones más avanzadas, usa el comando

Para borrar a un usuario, usa el comando . ¿Cómo puedo añadir mi nuevo disco a FreeBSD?

La manera más fácil de hacer esto es desde el programa de instalación. Puedes arrancar el programa de instalacián ejecutando /stand/sysinstall como root.

Alternativamente, si todavía tienes el floppy de instalación, puedes arrancar desde él y usar el editor de etiquetas y particiones.

CUIDADO: Debes leer y entender perfectamente lo que estás haciendo!. Los comandos aquí descritos pueden BORRAR tu sistema. Procede con precaución!. Recuerda, un BACKUP es tu amigo.

antes de poder ejecutar /. Esto significa que tendrás que hacer tu mismo los cálculos para las particiones. Mira si puedes obtener información del disco con disklabel -r <diskname> por ejemplo disklabel -r /dev/rwd0s2 asumiendo que tu nuevo disco es wd0, el primer disco IDE, y FreeBSD es el segundo slice (s2). Deberías ver algo como esto:- # /dev/rwd0s2: type: ESDI disk: wd0s2 label: flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 64 sectors/cylinder: 4032 cylinders: 610 sectors/unit: 2459520 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609)

Aegurate que el tamaño es correcto, en este caso, 2459520 sectores x 512 bytes/sector / 2**20 (1 Megabyte) = 1200 MB. El resto de datos (b/s, t/c, s/c, interleave, etc.) deberían funcionar con los que salen por defecto con , pero mira para discos antiguos. fsize es el del sistema de ficheros y bsize es el . 'c' es la partición que ocupa FreeBSD (o el disco completo en caso de una única partición para FreeBSD), y debe quedar como esta. No deberia ser usada para un sistema de ficheros. La partición 'c' es mágica en que es reconocida y usada por el kernel aunque no exista ninguna etiqueta en ella.

En el caso trivial de querer usar todo el sistema de ficheros para FreeBSD, la entrada para el campo "e" tiene que ser corregida poniendo fsize a 1023 y bsize a 8192 (8 fragmentos/bloque), los cuales son razonables. La entrada correcta para "e" seria: e: 2459520 0 4.2BSD 1024 8192

Ahora el caso mas complicado, donde queremos 2 particiones para 2 sistemas de ficheros. Siguiendo la , las particiones serán 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) e: 614400 0 4.2BSD 1024 8192 f: 1843200 614400 4.2BSD 1024 8192

disklabel -e wd0s2''. Para más información mira en .

Si tienes la versión 2.1.5 o superior, y quieres dedicar enteramente el disco para FreeBSD sin compartirlo con otros sistemas operativos, se pueden reducir las operaciones a realizar de la siguiente manera: # dd if=/dev/zero of=/dev/rwd0 count=100 # disklabel -Brw wd0 auto # disklabel -e wd0

El primer comando asegura que no hay basura en el inicio del disco que pueda confundir al kernel. Lo siguiente a realizar es una generación automática de etiqueta usando los procesos por defecto ejecutados en el arranque del sistema. La edición de la etiqueta continua de la manera descrita anteriormente.

Has acabado!. Ahora debes inicializar el sistema de ficheros con algo como: newfs -d0 /dev/rwd0s2e newfs -d0 /dev/rwd0s2f

Dependiendo del nombre del disco y la partición, quizás sea requerida la ejecución del script para la creación de los dispositivos.

Y montar tus nuevos discos/particiones (mira el comando ) mount /dev/wd0s2e /mnt/foo mount /dev/wd0s2f /mnt/bar

Deberías editar el fichero para montar automaticamente los discos/particiones al arrancar el sistema.

Unidad básica de almacenamiento para en tu sistema. Un bloque se compone de uno o mas fragmentos. Mira la referencia correspondiente en: Necesitarás dar más información a si quieres usar un "disco verdadero". Necesitarás saber la geometría uniforme, cabezales reales, sectores y cilindros, como en los discos ESDI antiguos. Toda esta información debería ser facilmente localizable en la cubierta del propio disco, manual, etc. La partición 'a', por convención, está reservada para particiones 'bootables' y la partición 'b' para swap. Las particiones regulares deben empezar en la 'd'. La partición 'e' corresponde a la primera partición no bootable y a usar como sistema de ficheros. El espacio requerido por la tabla de partición de BSD está permitido en el sistema de ficheros. No empieces la partición swap en el cilindro 0. Tengo un nuevo disco removible, ¿como lo uso?

Se trate de un disco removible como un ZIP o EA (o un floppy, si quieres usarlo de esta manera), o un nuevo disco duro, una vez instalado y reconocido por el sistema, y tengas tu cartridge/floppy/etc en su interior, las cosas son como para la mayoría de dispositivos.

Si es un disco ZIP o floppy, y está formateado en DOS, puedes usar el comando: mount -t msdos /dev/fd0c /floppy

Si es un floppy, o este: mount -t msdos /dev/da2s4 /zip

para un disco ZIP con la configuración de fábrica.

Para otros discos, mira como configurarlos usando /stand/sysinstall.

El resto de ejemplos serán para un disco ZIP en da2, el tercer disco SCSI.

A no ser que se trate de un floppy o disco removible, lo que planeas compartir con otros usuarios, es aconsejable convertir el formato de ficheros a BSD. Obtendrás nombre de ficheros largos, como mínimo doblarás la velocidad de acceso del disco, y mucha más estabilidad. Antes, necesitas rehacer las particiones. Puedes usar el comando o la utilidad /stand/sysinstall. Si es un disco pequeño que quieres dedicar enteramente a FreeBSD, solo tienes que eliminar la FAT y tabla de particiones, y usar el sistema de particiones de FreeBSD: dd if=/dev/zero of=/dev/rda2 count=2 disklabel -Brw da2 auto

Puedes usar el comando disklabel (mas información en ) o /stand/sysinstall para crear múltiples particiones BSD.

Finalmente, crea un nuevo sistema de ficheros: newfs /dev/rda2c

y montalo: mount /dev/da2c /zip

Sería una buena idea añadir una línea como esta en el fichero para que solo tengas que teclear "mount /zip" las siguientes veces. /dev/da2c /zip ffs rw,noauto 0 0 ¿Cómo monto una partición secundaria DOS?

Las particiones DOS secundarias se encuentran después de TODAS las particiones primarias. Por ejemplo, si tienes una partición "E" como la segunda partición DOS en el segundo disco SCSI, necesitas crear los ficheros especiales para el dispositivo 5 en /dev, y después montar /dev/da1s5: # cd /dev # ./MAKEDEV da1s5 # mount -t msdos /dev/da1s5 /dos/e ¿Puedo montar otros sistemas de ficheros bajo FreeBSD?

para mas información.

. ¿Cómo puedo usar el "NT loader" para arrancar FreeBSD?

La idea general es que copies el primer sector de la partición root nativa de FreeBSD en un fichero en la partición DOS/NT. Asumiento que nombras a ese fichero como c:\bootsect.bsd puedes editar el fichero c:\boot.ini para conseguir algo como esto: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="FreeBSD" C:\="DOS"

Este proceso asume que DOS, NT, FreeBSD o cualquier otro sistema ha sido instalado en sus respectivas particiones en el mismo disco. En nuestro caso, DOS y NT están en la primera partición y FreeBSD en la segunda. Instalamos FreeBSD para arrancarlo desde su partición nativa y no desde el disco MBR.

Monta un floppy formateado en DOS bajo la partición /mnt. dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1

Rearranca en DOS o NT. Copia el fichero attrib -s -r c:\boot.ini

Edita y añade las líneas apropiadas del boot.ini mostrado enteriormente de ejemplo, y vuelve a poner los atributos originales: attrib +s +r c:\boot.ini

Si FreeBSD está arrancando desde el MBR, restauralo desde el comando ¿Cómo arranco FreeBSD y Linux desde LILO?

Si tienes FreeBSD y Linux en el mismo disco, solo tienes que seguir las instrucciones de instalación de LILO para arrancar un sistema operativo no Linux. Brevemente, son estas:

Arranca Linux, y añade las siguientes líneas en el fichero /etc/lilo.conf: other=/dev/hda2 table=/dev/hda label=FreeBSD (Asumiendo que tu partición FreeBSD es conocida por Linux como /dev/hda2). A continuación, ejecuta lilo como root y ya debería estar.

Si FreeBSD está en otro disco, necesitas añadir ``loader=/boot/chain.b'' al fichero lilo.conf. Por ejemplo: other=/dev/sdb4 table=/dev/sdb loader=/boot/chain.b label=FreeBSD

En algunos casos necesitarás especificar el número de disco en BIOS para que el cargador del boot funcione correctamente desde el segundo disco. Por ejemplo, si tu disco SCSI con FreeBSD es visto por la BIOS como disco 1, en el prompt del cargador de arranque necesitarás especificar: Boot: 1:da(0,a)/kernel

En FreeBSD 2.2.5 y posteriores, puedes configurar para que haga esto automaticamente.

El es una buena referencia para las opciones de interoperabilidad entre FreeBSD y Linux. ¿Cómo arranco FreeBSD y Linux usando BootEasy?

Instala el LILO al inicio de la partición de arranque del Linux en lugar de hacerlo en el "Master Boot Record". Así podrás arrancar el LILO desde BootEasy.

Si estas usando Windows-95 y Linux, también es recomendable hacer esto para simplificar el arranque de Linux en caso de que sea necesaria una reinstalación del Windows-95 (ya que no quiere convivir con otros sistemas operativos en el mismo Master Boot Record). ¿Puede un disco "dedicado" provocar problemas?

Mientras este es el caso más com&ún para gente proveniente del mundo de PC, para la gente proveniente del mundo Unix y quienes quieren instalar una máquina para funcionar con FreeBSD y solo FreeBSD, es más habitual usar el sistema de reservar todo el espacio del disco para un solo sistema operativo. Si seleccionas "A)ll FreeBSD" en el editor de fdisk de la utilidad sysinstall, y respondes la siguiente pregunta con "No", usarás este último sistema. Ten en cuenta que usando este sistema no te permitirá la instalación de ningún otro sistema operativo o selector de arranque (boot manager).

Entonces, por que se llama "peligroso"?. Un disco en este modo no contiene lo que las utilidades normales de un PC considerarían una tabla de partición de ficheros válida. Dependiendo del diseño de estas aplicaciones, puede que dañen el sector de arranque una vez entren en contacto con el disco. Por lo menos una BIOS Award usada por máquinas HP Netservers (pero no sólo por ellos) es concocida por ignorar los disco duros que no contengan lo que la BIOS entiende por una tabla de ficheros válida.

Para volver un disco "peligrosamente dedicado" a formato estandard de PC, hay básicamente dos opciones. La primera es, escribes suficientes bytes NULL sobre el MBR para hacer que las siguientes instalaciones crean que están en un disco sín usar. Puedes hacer esto así: dd if=/dev/zero of=/dev/rda0 count=15

Alternativamente, puedes hacer: fdisk /mbr

que instalará un nuevo master boot record. ¿Cómo puedo añadir más espacio de swap?

La mejor manera es incrementar el tamaño de tu partición de swap, o usar esta excusa para añadir un otro disco nuevo (mira si lo haces).

Añadir swap en discos separados hace las cosas más rápidas que simplemente añadir swap en el mismo disco. Como ejemplo, si estás compilando código fuente en un disco, y el swap está en otro disco, es mucho más rápido que si el swap y la compilación se realizaran en el mismo disco. Esto es cierto específicamente para discos SCSI.

Los discos IDE no son capaces de permitir el acceso a ambos discos en el mismo canal al mismo tiempo (FreeBSD no soporta el modo 4, ya que todas las I/O de discos IDE son "programadas").

Es realmente muy mala idea instalar el swap sobre NFS a no ser que trabajes en una red muy rápida con un muy buen servidor.

Aquí hay un ejemplo para un fichero de swap de 64Mb /usr/swap0, piensa que puedes usar el nombre que quieras).

Asegurate que el kernel está compilado con la línea pseudo-device vn 1 #Vnode driver (turns a file into a device)

en tu fichero de configuración. El kernel GENERIC la contiene. crea un vn-device cd /dev sh ./MAKEDEV vn0 crea un swapfile (/usr/swap0) dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 activa el fichero de swap en /etc/rc.conf swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. rebota la máquina.

Para activar el fichero de swap inmediatamente teclea vnconfig -ce /dev/vn0c /usr/swap0 swap Tengo problemas para poner en marcha mi impresora.

Por favor, revisa la sección de impresoras del manual. Cubre la mayoría de posibles problemas. Pásate por Mi teclado no coincide con los carácteres de pantalla.

El programa de control de teclado tiene una opción para cargar el mapa de teclado. En el directorio /usr/share/syscons/keymaps hay diferentes ficheros de mapas de teclado. Selecciona el que corresponde a tu sistema y cárgalo. kbdcontrol -l uk.iso

Tanto el directorio /usr/share/syscons/keymaps como la extensión .

Esto puede ser configurado en /etc/sysconfig (o ). Mira los comentarios correspondientes en el propio fichero.

En la versión 2.0.5R y posteriores, todo lo referente a fuentes, teclado, etc está en /usr/share/examples/syscons.

Actualmente se soportan los siguientes mapas de teclado: Belgian ISO-8859-1 Brazilian 275 keyboard Codepage 850 Brazilian 275 keyboard ISO-8859-1 Danish Codepage 865 Danish ISO-8859-1 French ISO-8859-1 German Codepage 850 German ISO-8859-1 Italian ISO-8859-1 Japanese 106 Japanese 106x Latin American Norwegian ISO-8859-1 Polish ISO-8859-2 (programmer's) Russian Codepage 866 (alternative) Russian koi8-r (shift) Russian koi8-r Spanish ISO-8859-1 Swedish Codepage 850 Swedish ISO-8859-1 Swiss-German ISO-8859-1 United Kingdom Codepage 850 United Kingdom ISO-8859-1 United States of America ISO-8859-1 United States of America dvorak United States of America dvorakx Las cuotas de usuario no funcionan correctamente.

No actives las cuotas en '/', Pon el fichero de cuotas en el sistema de ficheros en el que se vayan a forzar las cuotas de usuario: FS QUOTA FILE /usr /usr/admin/quotas /home /home/admin/quotas ... Mi ccd no funciona correctamente

El síntoma es: # ccdconfig -C ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format #

Esto actualmente ocurre cuando estás intentando concatenar las particiones c'. El driver ccd requiere que la partición sea del tipo FS_BSDFFS. Edita la etiqueta del disco (disklabel) que estás intentando concatenar y cambia el tipo de partición a '4.2BSD'. ¿Porqué no puedo editar el disklabel en mi ccd?

El síntoma es: # disklabel ccd0 (it prints something sensible here, so let's try to edit it) # disklabel -e ccd0 (edit, save, quit) disklabel: ioctl DIOCWDINFO: No disk label on disk; use "disklabel -r" to install initial label #

Esto es porque el disklabel retornado por el ccd es actualmente uno que no corresponde con el real. Puedes resolver este problema escribiendo explícitamente: # disklabel ccd0 > /tmp/disklabel.tmp # disklabel -Rr ccd0 /tmp/disklabel.tmp # disklabel -e ccd0 (this will work now) ¿Soporta FreeBSD primitivas IPC System V?

Sí, FreeBSD las soporta. Estas incluyen memoria compartida, mensajes y semáforos. Necesitas añadir las siguientes líneas en la configuración de tu kernel para activarlas. options SYSVSHM options "SHMMAXPGS=64" # 256Kb of sharable memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging

Recompila e instala.

¿Cómo uso sendmail para envio de mail UUCP?

La configuración de sendmail incluida en FreeBSD está preparada para sistemas que conectan directamente con Internet. Los sistemas que quieran usar UUCP para el envío de mail deben utilizar otro fichero de configuración.

Retocar /etc/sendmail.cf manualmente está considerado algo para puristas. La versión 8 de sendmail incluye un nuevo sistema de configuración llamado , en el cual la configuración se realiza en un nivel más alto. Deberías usar los ficheros de configuración situados en /usr/src/usr.sbin/sendmail/cf

Si no instalaste tu sistema con el código fuente completo, el paquete de configuración de sendmail está en una distribución aparte. Asumiendo que tienes tu CD-ROM montado, haz: cd /usr/src tar -xvzf /cdrom/dists/src/ssmailcf.aa

No te preocupes, solo son unos cientos de kilobytes de tamaño. El fichero README en el directorio cf puede servir como introducción a la configuración del m4.

Para envío y recepción va UUCP, te aconsejamos usar la opción mailertable. Se basa en una base de datos que sendmail puede usar como base para tomar las decisiones de enrutado del mail.

Primero tienes que crear tu fichero .mc. Estos ficheros se encuentran en el directorio /usr/src/usr.sbin/sendmail/cf/cf. Si miras, encontrarás algunos ejemplos. Asumiendo que tu fichero se llama foo.com, todo lo que necesitas hacer para convertirlo en un fichero sendmail.cf válido es: cd /usr/src/usr.sbin/sendmail/cf/cf make foo.cf cp foo.cf /etc/sendmail.cf

Un fichero típico .mc sería algo como: include(`../m4/cf.m4') VERSIONID(`Your version number') OSTYPE(bsd4.4) FEATURE(nodns) FEATURE(nocanonify) FEATURE(mailertable) define(`UUCP_RELAY', your.uucp.relay) define(`UUCP_MAX_SIZE', 200000) MAILER(local) MAILER(smtp) MAILER(uucp) Cw your.alias.host.name Cw youruucpnodename.UUCP

Las opciones nodns y nocanonify previenen del uso del DNS durante el tráfico de correo. La cláusula UUCP_RELAY se necesita por razones imperiosas, no preguntes :). Simplemente pon un nombre de máquina de Internet que sea capaz de gestionar pseudo-dominios .UUCP; más sencillo, entrarás el mail relay de tu ISP.

Una vez hayas hecho esto, necesitas el fichero llamado /etc/mailtertable. Un ejemplo típico sería: # # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:sax

Como puedes ver, esto es parte de un fichero real. Las tres primeras líneas manejan casos especiales donde el correo dirigido a un dominio no debe ser enviado a través de la ruta por defecto, si no a través de un UUCP vecino para acortar el path de envío. La siguiente línea gestiona el mail del dominio local para que sea enviado vía SMTP. Finalmente, los vecinos UUCP son anotados en la parte .UUCP pseudo-domains, para poder sobreescribir las reglas por defecto. La última línea es siempre un punto, que indica el mail gateway hacia el resto del mundo. Todos los nombres de nodos detrás de uucp-dom: deben ser vecinos válidos UUCP.

Como recordatorio de que este fichero debe ser convertido a una base de datos DBM antes de ser usada, la línea de comandos para realizar esta operación esta puesta como un comentario al inicio del fichero. Siempre tienes que ejecutar este comando cada vez que realices algún cambio en tu mailtertable.

Si no tienes la seguridad de que una ruta de correo vaya a funcionar correctamente, recuerda la opción -bt de sendmail. Esta opción arranca el sendmail en modo test; simplemente entra 0, seguido por la dirección de mail sobre la que quieres testear la ruta. La última línea te indica el agente interno, el host de destino y la dirección (posiblemente traducido). Sal de este modo tecleando Control-D. j@uriah 191% sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter

> 0 foo@interface-business.de rewrite: ruleset 0 input: foo @ interface-business . de ... rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ < @ interface-business . de > > ^D j@uriah 192% ¿Cómo configuro el correo para conexiones NO permanentes a Internet?

Si tienes una dirección IP fija en la conexión, no necesitarás ajustar nada de lo que ya viene por defecto. Configura tu hostname como el nombre asignado a tu IP de Internet y sendmail hará el resto.

Si tienes direcciones IP asignadas dinamicamente y usas una conexión Para poder recoger el correo de tu buzón necesitarás instalar un agente de recogida de correo. /etc+ppp/ppp.linkup: MYADDR: !bg su user -c fetchmail

Asumimos que tienes una cuenta para poll myISP.com protocol pop3 fetchall pass MySecret;

No hace falta decir que este fichero no debe ser "leible" por nadie excepto Para enviar el correo con la cabecera El siguiente fichero VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home CwmyISP.com MASQUERADE_AS(`myISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(SMART_HOST, `relay.myISP.com') DmmyISP.com define(`confDOMAIN_NAME',`myISP.com')dnl define(`confDELIVERY_MODE',`deferred')dnl

Mira en la sección anterior para los detalles de como convertir este fichero Olvidé el password de Root!!

Tranquilo!!!. Simplemenre rearranca tu sistema, teclea -s en el prompt de arranque para entrar en modo monousuario. En la pregunta sobre el shell a usar, pulsa ENTER. Aparecerá un prompt #. Teclea mount -u / para remontar tu sistema de ficheros en modo de lectura/escritura y a continuación teclea ¿Cómo mantengo el control sobre Control-Alt-Delete?

Edita el mapa de teclado que estás usando para la cónsola y reemplaza las palabras /usr/share/syscons/keymaps/us.iso.kbd . Por supuesto si usas otro mapa de teclado adecuado a tu país, tendrías que editarlo. ¿Cómo reformateo ficheros de texto DOS a UNIX?

Simplemente usando este comando de perl: perl -i.bak -npe 's/\r\n/\n/g' file ...

file es el fichero a procesar. La modificación se hace en el propio fichero dejando el original grabado con extensión .bak. Alternativamente puedes usar el comando tr -d '\r' < dos-text-file > unix-file dos-text-file es el fichero que contiene el texto DOS mientras que unix-file contendrá la salida convertida. Este sistema puede ser más rápido que usar perl. ¿Cómo puedo hace "kill" de procesos por nombre?

Usa . ¿Porque el su no me dejar ser root al no estar en el ACL?

El error proviene de sistema del autentificación distribuida Kerberos. El problema no es fatal pero si molesto. Puedes ejecutar el comando su con la opcion -K, o desinstalar Kerberos como se describe en la siguiente sección. ¿Cómo desinstalo Kerberos?

Para eliminar Kerberos del sistema, reinstala la distribución bin de la release que estés usando. Si tienes el CDROM, puedes montar el cd (asumiremos que esta en /cdrom) y ejecutar: cd /cdrom/bin ./install.sh ¿Cómo añado pseudoterminales a mi sistema?

Si tienes muchos usuarios de telnet, ssh, X, o de cónsola, probablemente terminarás desbordando el número de pseudoterminales del sistema. Aquí tienes como añadir más: Compila e instala un nuevo kernel com la línea pseudo-device pty 256

en el fichero de configuración. Ejecuta el comando # cd /dev # ./MAKEDEV pty{1,2,3,4,5,6,7}

para crear 256 nodos de dispositivo para los nuevos terminales. Edita el fichero /etc/ttys y añade una línea para cada uno de los 256 terminales. Estas líneas deben seguir la estructura de las entradas existentes, algo como esto: ttyqc none network

El órden de la designación de letras es tty[pqrsPQRS][0-9a-v], usando una expresión regular. Rebota el sistema con el nuevo kernel, y lo tendrás listo para funcionar. ¿Cómo puedo releer el fichero /etc/rc.conf y relanzar /etc/rc sin tener que hacer un reboot?

Entra en modo monousuario y a continuación vuelve a modo multiusuario. En la consola haz: # shutdown now (Nota: sin -r o -h) # return # exit ¿Qué es un sandbox?

Sandbox es un término de seguridad. Puede significar dos cosas:

Un proceso que es situado en el interior de una serie de muros virtuales diseñados como prevención e imposibilitar el acceso al sistema principal en caso de que alguien comprometa la seguridad de ese proceso.

Se dice que el proceso es capaz de "jugar" entre los muros. Esto significa que se supone que nada de lo que haga el proceso referente a la ejecución de código, puede ser capaz de romper los muros, así no es necesario hacer auditorías detalladas de su código para poder conocer todo lo referente a los riesgos de seguridad del proceso.

Los muros pueden, por ejemplo, un userid. Esta es la definición usada en las páginas man de seguridad y del programa named.

Veamos como ejemplo el servicio 'ntalk' (consultar /etc/inetd.conf). Este servicio solía ejecutarse con el userid de root. Ahora se ejecuta con el userid tty. El usuario tty esta diseñado para ser usado como usuario sandbox, dificultando así la tarea de un intruso que haya conseguido penetrar en el sistema a través del servicio ntalk. De esta manera, el intruso solo puede afectar a los servicios, programas o procesos propiedad del usuario tty.

Un proceso que se ha situado en el interior de una simulación de la máquina. Esto es más hard-core. Básicamente, significa que alguien que sea capaz de penetrar en el proceso, creerá que ha penetrado en el sistema principal, pero de hecho, ha penetrado en una simulación de esa máquina y no puede modificar ningún dato real.

El sistema más común de conseguir esto es crear un entorno simulado en un subdirectorio y ejecutar los procesos en ese subdirectorio mediante chroot (la raiz "/" para ese proceso es este directorio, no la raiz "/" real del sistema).

Otro sistema habitual es montar un sistema de ficheros de solo lectura y a continuació,n crear un nivel de sistema de ficheros por encima del anterior que dé al proceso la sensación de encontrarse en un sistema de ficheros de lectura/escritura. El proceso creerá que es capaz de escribir esos ficheros, pero sólo el proceso ve los efectos; otros procesos del sistema no ven absolutamente nada.

Se intenta crear este tipo de sandbox totalmente transparentes para que el usuario (o intruso) no se de cuenta que está en él.

UNIX implementa dos tipos de sandboxes. Uno es a nivel de procesos, y el otro es a nivel de usuarios (userid).

Cada proceso UNIX es totalmente independiente de cualquier otro proceso UNIX. Un proceso no puede modificar el espacio de direcciones de otro. Es diferente a los sistemas Windows en los que un proceso puede sobreescribir facilmente el espacio de direcciones de otro proceso, probocando una caida de la máquina.

Un proceso UNIX es propiedad de un userid determinado. Si el userid no es el usuario root, éste solo podrá acceder a los procesos de su propiedad, evitando la intrusión en procesos ajenos. El userid también se usa como sistema de protección para datos grabados en disco.