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.
Si lo anterior no te funciona o
si eres masoquista total a quien le gustan los interfaces arcanos
así es como usar el programa
manualmente:
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.
Fragment Size (fsize)
Unidad básica de almacenamiento para en tu sistema.
Block Size (bsize)
Un bloque se compone de uno o mas fragmentos. Mira la referencia
correspondiente en:
Disklabel Characteristics for Older Disks (ESDI)
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.
Nombres del sistema de ficheros BSD
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.
Warning referente al espacio de swap
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.
(esta sección esta basada en )
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?
El proceso de instalación nos permite
elegir dos métodos diferentes de particionar un disco. El sistema
por defecto hace que el disco sea compatible con otros sistemas
operativos en la misma máquina, usando las tablas de entrada de
fdisk (llamadas "slices" en FreeBSD). Opcionalmente, podemos instalar un
boot-selector que nos permite seleccionar el sistema operativo con
el que queremos arrancar.
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.