4. Configuración y uso de servicios básicos

4.1. pdksh (ksh)

Es un interprete de comandos similar a bash. Este interprete de comandos al iniciarse como interprete de login lee los archivos /etc/profile y $HOME/.profile, pero no lo hace si es iniciado como interprete interactivo. Puede iniciarse explícitamente como interprete de login con ksh -l. Esto puede resultar útil para iniciarlo por ejemplo dentro de xterm:

xterm -e /bin/ksh -l 

El método de edición (vi,emacs o gmacs) se configura en la variable VISUAL.

4.2. ftp

Además de las características usuales de un cliente ftp (RFC 959, extendido en RFC 1123), el cliente ftp de OpenBSD:

  • Realiza conexiones pasivas por defecto. Sin embargo algunos servidores de ftp requiere conexiones activas, si ese es el caso (por ejemplo cuando el servidor responde a ls con 425 Can't open data connection) emplee la opción -A.

  • Emplea el archivo de configuración ~/.netrc para establecer conexiones automáticamente. En ese archivo usted puede especificar servidores a los que suele conectarse (y por ejemplo emplear redireccionamiento para automatizar operaciones . Este archivo puede tener comentarios (líneas iniciadas con el caracter '#') o líneas como:

    machine Jesus.miescuela.edu.co login pablo
    machine rt.fm login anonymous passwd pablo@miescuela.edu.co
    	    

    que indican emplear el usuario pablo al conectarse a Jesus.miescuela.edu.co (pedirá la clave al hacer la conexión) y emplear el usuario anonymous, con clave pablo@miescuela.edu.co al hacer conexiones con rt.fm.

    [Aviso]Aviso

    Las claves que se almacenan en este archivo son textos planos que el superusuario del sistema podría ver. Para que otros usuarios no puedan verlas quite el permiso de lectura para otros usuarios y para el grupo:

    $ chmod og-r ~/.netrc
    	      

    .

  • Permite especificar el URL (iniciado con http:// o ftp://) de un archivo por descargar en la línea de comandos (y realiza autenticación automática si es ftp:// y se ha configurado ~/.netrc, o si el URL es análogo a ftp://pablo:miclave@Jesus.miescuela.edu.co/pub/doc.txt). En este caso si se requiere puede emplearse la opción -o seguida del nombre del archivo con el que se desea salvar el archivo transmitido. También puede emplearse * para indicar transmisión de varios archivos.

4.3. sudo

Este programa permite ejecutar comandos privilegiados a algunos usuarios. Se configura en /etc/sudoers que debe editarse con visudo.

Consulte los ejemplos allí presentados en líneas con comentarios y quite el comentario a la configuración que considere apropiada. Por ejemplo si desea que todo usuario que esté en el grupo wheel pueda emplear sudo sin necesidad de ingresar una clave, quite el comentario a la línea:

%wheel  ALL=(ALL)       NOPASSWD: ALL
	

Una vez configurado, para ejecutar un comando privilegiado desde una cuenta configurada se usa sudo comando. Por ejemplo:

sudo vi /etc/rc.conf.local 

o formatear un disquete y marcar zonas con errores con:

sudo mformat a:
sudo mbadblocks a:

Puede verse en http://rr.sans.org/authentic/sudo.php interacción entre sudo y ssh para administrar una red.

4.4. cron: para programar tareas

El programa cron ejecuta tareas configuradas para correr en cierto(s) momento(s). Este servico debe correr permanentemente. Puede comprar que opera con pgrep cron que debe responder con el número del proceso. Si no está corriendo debe ejecutarlo urgentemente bien reiniciando el servido o ejecutando sudo cron.

Cada minuto el programa cron busca tareas cuya ejecución esté pendiente.

4.5. ld

ld es el programa que carga otros programas junto con las librerías compartidas que requieran y resuelve los símbolos. Para buscar librerías compartidas emplea la información de /var/run/ld.so.hints (que puede examinarse con ldconfig -r).

Con ldd pueden examinarse las librerías compartidas que un programa requiere, por ejemplo:

ldd /usr/bin/less
	

Cuando se agregan librerías compartidas o se requiere que las librerias de nuevos directorios sean referenciados en /var/run/ld.so.hints puede ejecutar ldconfig (que por defecto busca nuevas librerías en /usr/lib). Por ejemplo durante el arranque en un sistema con X-Window se ejecuta:

ldconfig /usr/local/lib /usr/X11R6/lib
	

También pueden especificarse otros directorios por usar durante el arranque definiendo la variable shlib_dirs en /etc/rc.conf.local (ver Sección 2.5, “Inicio del sistema”)

Incluso un usuario puede establecer otros directorios donde buscar librerías compartidas especificandolos en la variable de entorno LD_LIBRARY_PATH (separar un directorio de otro con ':' ).

4.6. Kernel

Algunas configuraciones pueden hacerse con sysctl, otras MUY inusuales requieren recompilación del kernel.

4.6.1. Compilación del kernel

Puede sacar las fuentes del CD de instalación o de un repositorio FTP (src.tgz) descomprimiendolas en /usr/src, después puede actualizarlas con el CVS de OpenBSD con:

cd /usr
export CVSROOT=anoncvs@anoncvs.de.openbsd.org:/cvs
cvs -z3 co -rOPENBSD_5_0 -P src 

empleando un espejo más cercano a su computador y cambiado OPENBSD_5_0 por la versión que desea actualizar, o si las fuentes que tiene son la versión que desea puede emplear:

cd /usr/src
export CVSROOT=anoncvs@anoncvs.de.openbsd.org:/cvs
cvs -z3 update -r OPENBSD_5_0 -Pd 

Tal como se describe en man afterboot, para compilar basta editar el archivo de configuración del kernel que se desea, después ejecutar config, cambiar al directorio donde se compila y compilar. Por ejemplo:

cd /usr/src/sys/arch/amd64/conf
vi GENERIC
config GENERIC
cd ../compile/GENERIC
make clean
make depend
make
	  

con esto se generará el ejecutable bsd en el directorio de compilación, tal ejecutable puede usarse para reemplazar /bsd, eventualmente dejando el kernel anterior listo para un arranque de emergencia:

mv /bsd /bsd.old
mv bsd /bsd