• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Memorias
 

Memorias

on

  • 1,258 views

 

Statistics

Views

Total Views
1,258
Views on SlideShare
1,254
Embed Views
4

Actions

Likes
0
Downloads
7
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Memorias Memorias Presentation Transcript

    • Administraci´n de Sistemas Informaticos o Pr´ctica 2 a Rub´n Poll´n e a meskio@amedias.org 29 de marzo de 2006
    • Instalaci´n de OpenBSD o Particionado Al principio hubo problemas con la instalaci´n, pues el instalador en disquetes de OpenBSD no lleva o soporte para discos USB, y en internet no encontraba informaci´n sobre la instalaci´n en un disco USB. o o Esto me hizo pensar que OpenBSD no estaba preparado para ser instalado en este medio. Luego al probar a instalarlo desde CD pude comprobar que a traves de este medio si que pod´ acceder al disco USB, e ıa instalarlo sobre el. El proceso de instalaci´n es bastante sencillo. La unica diferencia notable con respecto a un sistema o ´ GNU/Linux es que el particionado tiene dos fases: una primera en la que manipulas la tabla de particiones del disco, en mi caso lo he instalado sin generar ninguna partici´n; y otra segunda en la que manipulas o las rodajas (slices), el sistema me ha quedado: Filesystem Size Used Avail Capacity Mounted on /dev/sd0a 97.4M 36.3M 56.3M 39% / /dev/sd0f 1006M 310K 956M 0% /home /dev/sd0h 502M 6.0K 477M 0% /tmp /dev/sd0e 2.0G 750M 1.1G 39% /usr /dev/sd0g 1006M 5.2M 951M 1% /var Arranque El gestor de arranque de OpenBSD lo he puesto sobre el MBR del disco USB. La configuraci´n del o GRUB de los ordenadores de la sala de redes ha sido algo complicada, pues no era consciente de haber instalado el sistema sin generar particiones, y le estaba pidiendo al grub que accediera a (hd1,0,a) en vez de a (hd1,a). El codigo de arranque que le hemos dejado al GRUB es: title OpenBSD rootnoverify (hd1,a) makeactive chainloader +1 sudo Para que los usuarios del grupo wheel puedan usar sudo he a˜ adido esta linea a /etc/sudoers: n %wheel ALL=(ALL) ALL instalar programas Hay dos metodos para instalar programas en OpenBSD: Los ports. Hay que bajarse el arbol de ports del ftp de OpenBSD. Este basicamente es un conjunto de makefiles capaces de descargarse, compilar e instalar un programa con todas sus dependencias. En el raiz del arbol de ports hay un makefile que se pueden hacer busquedas e instalar los programas: $ make search key=‘‘moon-buggy’’ Port: moon-buggy-0.5.1p0 Path: games/moon-buggy 1
    • Info: drive some car across the moon Maint: Felix Kronlage <fkr@grummel.net> Index: games L-deps: B-deps: R-deps: Archs: any $ sudo make install games/moon-buggy La desinstalaci´n de un programa es de forma similar: o $ sudo make deinstall games/moon-buggy pkgsrc. Este es un sistema de instalaci´n por binarios. Hay una variable de sistema a traves de la o que le dices a pkgsrc de donde instalarse los programas, esta variable la he a˜ adido al .profile: n export PKG_PATH=‘‘ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/’’ Con el comando pkg add se puede a˜ adir un programa y con pkg delete se puede eliminar. n 2
    • Arranque del sistema Monousuario Para arrancar el sistema en monousuario en el gestor de arranque de openbsd hay que teclear: > b /bsd -s rc El sustituto a /etc/inittab en OpenBSD es /etc/rc, un script que se encarga del arranque del sistema. Tiene varios ficheros de configuraci´n: o /etc/rc.conf. Fichero de configuraci´n basico, donde est´n casitodas las variables. No se deber´ o a ıa modificar nunca. /etc/rc.conf.local. En este fichero es donde se deben poner las modificaciones que se querrian hacer a /etc/rc.conf. Mi fichero /etc/rc.conf.local a quedado as´ (con lo que he habilitado el raton en ı consola): # For enabling console mouse support (i386 and alpha only) wsmoused_flags=‘‘’’ #NO # for ps/2 or usb mice: ’’‘‘, serial: ’’-p /dev/cua00‘‘ /etc/rc.local. Script que se ejecuta despues de /etc/rc, sirve para a˜ adir cosas al arranque. Yo he n a˜ adido en el soporte para el teclado en espa˜ ol: n n # $OpenBSD: rc.local,v 1.38 2005/03/29 21:41:59 uwe Exp $ # site-specific startup actions, daemons, and other things which # can be done AFTER your system goes into securemode. For actions # which should be done BEFORE your system has gone into securemode # please see /etc/rc.securelevel # site-specific startup actions, daemons which can be run # Add your local startup actions to this file echo -n ’starting local daemons:’ if [ -x /usr/local/sbin/cfsd ]; then if ps auxc | grep -q ’^ *root .* mountd$’; then echo -n ’ cfsd’; /usr/local/sbin/cfsd >/dev/null 2>&1 mount -o port=3049,nfsv2,intr localhost:/null /crypt else echo -n ’ cfsd (failed, no mountd running)’ fi fi #if [ -x /usr/local/sbin/snmpd ]; then # echo -n ’ snmpd’; /usr/local/sbin/snmpd #fi 3
    • echo ’.’ # Netatalk stuff #if [ -f /etc/netatalk/rc.atalk ]; then # . /etc/netatalk/rc.atalk #fi # Pone el teclado en espa~ol n wsconsctl -w keyboard.encoding=es /etc/ttys. Fichero de configuraci´n de activaci´n de las terminales. He eliminado las terminales 4, o o 5, y 6: # # $OpenBSD: ttys,v 1.17 2002/06/09 06:15:14 todd Exp $ # # name getty type status comments # console ’’/usr/libexec/getty Pc‘‘ vt220 off secure ttyC0 ’’/usr/libexec/getty Pc‘‘ vt220 on secure ttyC1 ’’/usr/libexec/getty Pc‘‘ vt220 on secure ttyC2 ’’/usr/libexec/getty Pc‘‘ vt220 on secure ttyC3 ’’/usr/libexec/getty Pc‘‘ vt220 on secure ttyC4 ’’/usr/libexec/getty Pc‘‘ vt220 off secure ttyC5 ’’/usr/libexec/getty Pc‘‘ vt220 off secure ttyC6 ’’/usr/libexec/getty Pc‘‘ vt220 off secure ... red El identificador de la tarjeta de red depende del modelo de la tarjeta de red, por ejemplo la usada en la sala de redes tiene el identificador xl0. Los ficheros de configuraci´n de la red est´n en /etc/hostname.xl0 o a (sustituir xl0 por el identificador adecuado). La sintaxis para configurar la red en la sala de redes es: inet 155.210.154.204 255.255.255.0 155.210.154.255 En caso de querer pedir la informaci´n por dhcp hay que poner: o dhcp NONE NONE NONE El script encargado de arrancar la red en el arranque del sistema es /etc/netstart. 4
    • Gesti´n de cuentas de usuario o adduser Ya que el adduser de OpenBSD no dispone de la opci´n LETTERHOMES he optado por implimen- o tarla, modificando el script adduser (que esta en perl). Aqu´ esta el parche realizado: ı --- adduser.old Sat Sep 10 23:20:58 2005 +++ adduser Tue Mar 28 19:43:20 2006 @@ -84,6 +84,7 @@ $config_read = 1; # read config file $logfile = quot;/var/log/adduserquot;; # logfile $home = quot;/homequot;; # default HOME + $letterhomes = quot;noquot;; # homes in directories sort to initials $etc_shells = quot;/etc/shellsquot;; $etc_passwd = quot;/etc/master.passwdquot;; $etc_ptmp = quot;/etc/ptmpquot;; @@ -765,7 +766,7 @@ # new_groups: some other groups # log_cl: login class local($name, $group_login, $fullname, $sh, $u_id, $g_id, $new_groups, -$log_cl); + $log_cl, $letter); local($groupmembers_bak, $cryptpwd); local($new_users_ok) = 1; @@ -785,11 +786,16 @@ $new_groups = &new_users_groups($name, $new_groups); $log_cl = &new_users_login_class; $password = &new_users_password; + + if ($letterhomes eq quot;yesquot;) { + $letter = substr($name, 0, 1); + $home=quot;$home/$letterquot;; +} - if (&new_users_ok) { $new_users_ok = 1; + $cryptpwd = quot;*quot;; # Locked by default $cryptpwd = encrypt($password, &salt) if ($password ne quot;quot;); $log_cl = quot;quot; if ($log_cl eq quot;defaultquot;); @@ -817,9 +823,14 @@ sub batch { local($name, $groups, $fullname, $password) = @_; - local($sh); + local($sh, $letter); 5
    • $defaultshell = &shell_default_valid($defaultshell); + + if ($letterhomes eq quot;yesquot;) { + $letter = substr($name, 0, 1); + $home=quot;$home/$letterquot;; + } return 0 unless $home = &home_partition_valid($home); return 0 if $dotdir ne &dotdir_default_valid($dotdir); $send_message = &message_default; @@ -915,6 +926,7 @@ [-class login_class] [-h|-help] [-home home] + [-lh|-letterhomes] [-message message_file] [-noconfig] [-shell shell] @@ -1020,6 +1032,7 @@ elsif (/^--?(debug)$/) { $verbose = 2 } elsif (/^--?(h|help|?)$/) { &usage } elsif (/^--?(home)$/) { $home = $argv[0]; shift @argv } + elsif (/^--?(lh|letterhomes)$/) { $letterhomes = 1 } elsif (/^--?(shell)$/) { $defaultshell = $argv[0]; shift @argv } elsif (/^--?(class)$/) { $defaultclass = $argv[0]; shift @argv } elsif (/^--?(dotdir)$/) { $dotdir = $argv[0]; shift @argv } @@ -1123,6 +1136,12 @@ local($name, $group) = @_; local($homedir) = quot;$home/$namequot;; + if (!-e quot;$homequot;) { + if (!mkdir(quot;$homequot;, 0755)) { + warn quot;mkdir $home: $!nquot;; return 0; +} + } + if (-e quot;$homedirquot;) { warn quot;HOME Directory ‘‘$homedir’’ already existsanquot;; return 0; @@ -1534,6 +1553,8 @@ # default HOME directory (quot;/homequot;) home = quot;$homequot; +# use first letter of the user name for homes (example: /home/f/foo ) +letterhomes = quot;$letterhomesquot; # List of directories where shells located # path = (’/bin’, ’/usr/bin’, ’/usr/local/bin’) El script adduser modificado por mi entero esta disponible aqui: http://pulsar.unizar.es/ meskio/asi/adduser creacuenta Al crear un usuario hace falta a˜ adirlo al grupo users, para que tenga permisos para formatear floppys n (mas adelante se explica). El script creacuenta queda as´ ı: #!/bin/sh if [ $# -ne 1 ]; then 6
    • echo quot;usage: crearcuenta nombre_usuarioquot; exit 1 fi adduser -batch $1 chmod 700 /home/‘echo $1|cut -c -1‘/$1 profile El formatear un disquete para OpenBSD tiene 3 partes: darle formato (formatfd), crear una rodaja que ocupe todo el disquete (disklabel) y crear el sistema de ficheros ffs (newfs). Para que cualquier usuario dentro del grupo users tenga permisod para hacer esto hay que cambiar los permisos de algunos dispositivos: crw-rw---- 1 root users 9, 0 Mar 28 21:11 /dev/rfd0a crw-rw---- 1 root users 9, 2 Mar 1 17:21 /dev/rfd0c Se ha tenido que usar sudo para montar el floppy, pues el fstab de OpenBSD no permite darles permiso a los usuarios para montar dispositivos. La entrada del /etc/fstab para montar el floppy es: /dev/fd0a /mnt/floppy ffs rw,noauto 0 0 La entrada de /etc/sudoers que permite a los usuarios del grupo users usar sudo es: %users ALL = NOPASSWD: /sbin/mount /mnt/floppy,/sbin/umount /mnt/floppy El .profile resultado con los comandos pedidos es: # $OpenBSD: dot.profile,v 1.4 2005/02/16 06:56:57 matthieu Exp $ # # sh/ksh initialization PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/game export PATH HOME TERM export PKG_PATH=quot;ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/quot; # mis funciones formatfd () { /usr/sbin/fdformat fd0 echo quot;a a w qquot; | /sbin/disklabel -E fd0 > /dev/null /sbin/newfs fd0a > /dev/null } conexion () { sudo /sbin/mount /mnt/floppy } desconexion () { sudo /sbin/umount /mnt/floppy } copyfd () { conexion 7
    • case $1 in -d) cp /mnt/floppy/$2 .;; -h) cp $2 /mnt/floppy/ ;; *) echo quot;usage: copy -d|-h filequot; echo quot; -d desde disquetequot; echo quot; -h hacia disquetequot; ;; esac desconexion } 8