Clé USB Bootable Openbsd Clé USB Bootable Openbsd
Total Page:16
File Type:pdf, Size:1020Kb
2018/05/25 10:12 1/11 Clé USB bootable OpenBSD Clé USB bootable OpenBSD Je vais indiquer ici comment créer une clé USB bootable avec OpenBSD. Intérêt ? Quel est l'intérêt de la chose ? Et bien il est multiple : Avoir un UNIX sous la main, c'est le bien Avoir un système de secours sur clé USB, c'est le pied Booter sur un système super-sécurisé, ça le fé ! C'est fun C'est la frime Les différents usages : obtenir un dmesg super détaillé pour identifier du matériel récupérer un système endommagé Avoir un anti-virus non compromis installer OpenBSD sur une nouvelle machine (oui, en plus d'être bootable, l'installation est possible !) faire de la maintenance Bref, ça le fait bien. Installation C'est l'enfance de l'art : booter sur un CD OpenBSD (i386 pour une plus grande compatibilité, mais ça marche pareil avec un amd64…), une clé USB déjà préparée, une disquette, en réseau… et lancez l'installation ! Repérez bien le device qui correspond à votre clé USB (sd0 ou sd1 probablement) et installez le système dessus. Le plus simple ? Une seule partition 'a', pas de swap, créer un utilisateur autre que root, n'installez pas compXX.tgz, ni gameXX.tgz (pour gagner quelques Mo…). Et surtout, utilisez les DUID pour identifier les disques au montage ! Exemple <mavie> J'ai reçu une clé USB Duracell de 4Go avec le programme de fidélité Orange Davantage Internet. Cool. Je m'en va installer le bousin là-dessus. Bon, le formatage prend des plombes, l'installation complète met deux heures pour aboutir, le Chez moi... - http://wiki.free-unices.org/ Last update: 2015/09/08 13:48 config:openbsd:bootableflashdrive http://wiki.free-unices.org/doku.php/config/openbsd/bootableflashdrive système est super lent. Clé de merde. Je recommence avec une cle USB de 1Go plus vieille. Cool, ça marche 92 fois mieux… Moralité : si vous trouvez ça lent, utilisez un autre périphérique ! </mavie> Bref, je fais l'installation sur une clé de 1Go, avec une seule partition et un utilisateur live (mot de passe live : on ne cherche pas à faire compliqué), j'installe tous les sets sauf comp51.tgz et game51.tgz. Détails Une fois l'installation terminée, ne rebootez pas !!! Vous avez fini l'installation et avez un shell à disposition. Votre partition est montée sur /mnt : profitez-en ! Systèmes de fichiers Histoire d'avoir un système rapide malgré un périphérique lent, je vais monter des répertoires en RAM. Les répertoires nécessitant un accès en écritures sont : /tmp, /var/run, /var/tmp, /dev. Les systèmes de fichiers en RAM sous OpenBSD peuvent être initialisés par une copie d'un périphérique ou d'un répertoire, ce qui est bien cool. Nous allons en tirer profit pour les répertoires pré-cités : # cd /mnt # mkdir -P proxy/dev # cp dev/MAKEDEV proxy/dev # cd proxy/dev # sh ./MAKEDEV all # cd .. # cp -Rp /mnt/var . # cp -Rp /mnt/home . # cp -RP /mnt/tmp . # vi /mnt/etc/fstab Et voici le fichier fstab incriminé : fstab # Le / est identifié par DUID, ce sera /dev/sd1a probablement au final... # Les Soft Updates allègent les écritures sur le disque. # L'option 'noatime' peut aussi être envisagée. 03328efc2aa11b61.a / ffs rw,softdep 1 1 http://wiki.free-unices.org/ Printed on 2018/05/25 10:12 2018/05/25 10:12 3/11 Clé USB bootable OpenBSD swap /dev mfs rw,-s=2M,-i=1,-P=/proxy/dev/ 0 0 swap /var/log mfs rw,-s=20M,-P=/proxy/var/log/ 0 0 swap /var/run mfs rw,-s=5M,-P=/proxy/var/run/ 0 0 swap /var/tmp mfs rw,-s=5M 0 0 swap /tmp mfs rw,-s=30M 0 0 swap /home mfs rw,-s=100M,-P=/proxy/home/ 0 0 Explications : Toutes les lignes commençant par swap sont “spéciales”. Par exemple : /dev sera monté en mémoire (mfs = Memory File System), d'une taille de 2Mo, en copiant /proxy/dev/ à l'initialisation. Ici, je précise aussi qu'il faut beaucoup d'inodes (option '-i') : il y a 1198 devices et normalement, il n'y a “que” 128 inodes sur 2Mo. man mount_mfs est votre ami ! Un rapide calcul nous montrera qu'il faut au moins 162Mo de RAM sur le système pour pouvoir monter tous les RAM-fs. J'avoue n'avoir pas eu le vice de tester sur une machine virtuelle avec 64Mo de RAM par exemple… Dernier point : la première ligne de votre fichier sera différente de la mienne, c'est normal, il s'agit d'un identifiant unique (man disklabel) ! Services Soyons clairs, sur un système de secours/d'installation, il n'y a pas besoin d'avoir de services configurés. Voici donc le contenu du fichier rc.conf.local (qui sera créé pour l'occasion) : /etc/rc.conf.local # Local rc configuration inetd_flags=NO sendmail_flags=NO apmd_flags="-a -C" Le daemon apmd peut être utile sur un portable… Avant de redémarrer Encore deux petites modifications avant de rebooter. D'abord, il est préférable que l'ordinateur s'arrête directement plutôt que d'appuyer sur le bouton (partisans du moindre effort, vous êtes les bienvenus !) donc modifiez rc.shutdown : /etc/rc.shutdown Chez moi... - http://wiki.free-unices.org/ Last update: 2015/09/08 13:48 config:openbsd:bootableflashdrive http://wiki.free-unices.org/doku.php/config/openbsd/bootableflashdrive powerdown=YES Enfin, nous allons configurer le firewall maintenant, histoire de… Seules les connexions SSH entrantes sont autorisées (on ne sait jamais…), et toutes celles sortantes bien sûr… /etc/pf.conf set skip on lo # filter rules and anchor for ftp-proxy(8) #anchor "ftp-proxy/*" #pass in quick inet proto tcp to port ftp divert-to 127.0.0.1 port 8021 # anchor for relayd(8) #anchor "relayd/*" pass out # to establish keep-state block in # rules for spamd(8) #table <spamd-white> persist #table <nospamd> persist file "/etc/mail/nospamd" #pass in on egress proto tcp from any to any port smtp \ # rdr-to 127.0.0.1 port spamd #pass in on egress proto tcp from <nospamd> to any port smtp #pass in log on egress proto tcp from <spamd-white> to any port smtp #pass out log on egress proto tcp to any port smtp #block in quick from urpf-failed to any # use with care pass in log proto tcp from any to any port ssh modulate state # By default, do not permit remote connections to X11 block in on ! lo0 proto tcp to port 6000:6010 Allez, hop ! On redémarre : # cd # sync # umount /mnt # reboot Premier boot http://wiki.free-unices.org/ Printed on 2018/05/25 10:12 2018/05/25 10:12 5/11 Clé USB bootable OpenBSD N'oubliez pas de sélectionner votre clé USB comme périphérique de démarrage et zou, Welcome to OpenBSD. Logiquement, tout devrait bien se passer et le système devrait démarrer. Logguez-vous en root et c'est parti. Faciliter l'utilisation Comme sur la plupart des système, il y a quelques modifications à effectuer, histoire de vous simplifier la vie. Commencez par donner un peu plus de droits à l'utilisateur du système “live USB” (il s'agit de live dans mon exemple) : # visudo Modifiez le fichier comme suit (ajouter un alias de commandes et décommenter le groupe wheel) : /etc/sudoers # sudoers file. # # This file MUST be edited with the 'visudo' command as root. # Failure to use 'visudo' may result in syntax or file permission errors # that prevent sudo from running. # # See the sudoers man page for the details on how to write a sudoers file. # # Host alias specification # User alias specification # Cmnd alias specification Cmnd_Alias HALT = /sbin/halt, /sbin/reboot # Defaults specification Defaults env_keep +="DESTDIR DISTDIR EDITOR FETCH_CMD FLAVOR FTPMODE GROUP MAKE" Defaults env_keep +="MAKECONF MULTI_PACKAGES NOMAN OKAY_FILES OWNER PKG_CACHE" Defaults env_keep +="PKG_DBDIR PKG_DESTDIR PKG_PATH PKG_TMPDIR PORTSDIR" Defaults env_keep +="RELEASEDIR SHARED_ONLY SSH_AUTH_SOCK SUBPACKAGE VISUAL" Defaults env_keep +="WRKOBJDIR" Chez moi... - http://wiki.free-unices.org/ Last update: 2015/09/08 13:48 config:openbsd:bootableflashdrive http://wiki.free-unices.org/doku.php/config/openbsd/bootableflashdrive # Uncomment to disable the lecture the first time you run sudo #Defaults !lecture # Uncomment to preserve the environment for users in group wheel #Defaults:%wheel !env_reset # Runas alias specification # User privilege specification root ALL=(ALL) SETENV: ALL # Uncomment to allow people in group wheel to run all commands # and set environment variables. %wheel ALL=(ALL) SETENV: ALL, NOPASSWD: HALT # Same thing without a password # %wheel ALL=(ALL) NOPASSWD: SETENV: ALL # Samples # %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom # %users localhost=/sbin/shutdown -h now Ensuite, modifiez le fichier .profile du root : # cat >> ~/.profile <<_EOF_ kernversion=`sysctl -n kern.osrelease` machinetype=`sysctl -n hw.machine` PKG_PATH="./:http://ftp.fr.openbsd.org/pub/OpenBSD/$kernversion/packages/$ma chinetype/" PS1="\$PWD \\$> " export PS1 PKG_PATH _EOF_ # Vous pouvez ensuite vous déconnecter/reconnecter pour bénéficier d'un zouli prompt et surtout pour pouvoir installer les packages. Décommenter la ligne suivante dans /etc/sysctl.conf, machdep.lidsuspend=1 # laptop lid closes cause a suspend histoire d'avoir un comportement “sain” sur un portable… Enfin, installation de packages utiles (ou pas, à vous de juger et de choisir – notez le nouveau prompt au passage…) : /root #> pkg_add aumix clamav dillo hping iperf mupdf qiv rox-filer xbattbar xosd http://wiki.free-unices.org/ Printed on 2018/05/25 10:12 2018/05/25 10:12 7/11 Clé USB bootable OpenBSD Comme vous pouvez le voir, il y a des programmes “de luxe” : un mixer audio, un visualiseur d'images ou un moniteur de batterie ne sont pas obligatoires… Le cas ClamAV Dans mon cas, avec une clé de 1Go, j'ai environ 20Mo de libre et clamav (enfin freshclam) est dans l'incapacité de télécharger sa base de données par manque de place.