cd /
;
apropos
;
Notes personnelles pour profiter d'OpenBSD dans un usage "desktop".
Voir la FAQ:
https://www.openbsd.org/faq/faq14.html#softraidFDE
S'il y a un bug à la fin de l'installation en cas d'UEFI, installer le chargeur de démarrage à la main avec ''installboot''.
Je monte ''/tmp'' en ram, et j'attribue 1/10 de la RAM disponible pour ça. On commente avant tout la ligne contenant déjà une entrée pour ''/tmp'' dans ''/etc/fstab''.
# sed -i '/\/tmp /s/^/\#/' /etc/fstab # printf "swap /tmp mfs rw,nodev,nosuid,-s=%sB 0 0\n" \ $(dmesg |awk '/avail mem/ { print int($4 / 10)}') \ >> /etc/fstab # echo "chmod 1777 /tmp" >> /etc/rc.local
Ça revient à :
swap /tmp mfs rw,nodev,nosuid,-s=0.8G 0 0
$ chmod 0700 $HOME
Pour éteindre sans avoir besoin de ''doas'', il faut appartenir au groupe ''_shutdown'':
# usermod -G _shutdown prx
Afin d'utiliser ''cu'' :
# usermod -G dialer prx
Et pour travailler avec les sources :
# usermod -G wsrc prx
Enfin, pour être moins limité en terme de ressources, c'est mieux d'appartenir à la class de login "staff" (voir login.conf(5))
# usermod -L staff prx
À la fin:
> userinfo prx login prx passwd * uid 1000 groups prx wheel operator wsrc staff dialer _shutdown change NEVER class staff gecos prx dir /home/prx shell /bin/ksh expire NEVER
On peut augmenter les limites dans /etc/login.conf :
staff:\ :datasize-cur=6144M:\
Si on est le seul utilisateur de la machine et que l'ensemble est chiffré et qu'on éteint son ordi lorsqu'on ne l'utilise pas, alors on peut activer l'autologin pour xenodm :
echo 'DisplayManager._0.autoLogin: user' >> /etc/X11/xenodm/xenodm-config
Dans ce cas, je vous conseille de désactiver la possibilité de fermer la session graphique avec Ctrl-Shift-backspace. Sinon, n'importe qui peut prendre le contrôle de votre session même si vous l'avez verrouillée avec xlock (ou autre). On en profite aussi pour retirer la possiblité d'accéder à un tty avec Ctrl-Alt-F*.
cat << EOF >> /etc/X11/xorg.conf Section "ServerFlags" Option "DontZap" "True" Option "DontVTSwitch" "True" EndSection EOF
echo "set timeout 1" > /etc/boot.conf
# cat << EOF > /etc/pf.conf set skip on lo antispoof quick for { egress } block pass in proto icmp pass in proto icmp6 pass on wg0 pass out EOF
Commandes que je veux pouvoir lancer sans entrer de mots de passe. Surtout pour les scripts.
cat << EOF > /etc/doas.conf permit persist :wheel permit nopass :wheel cmd /sbin/disklabel permit nopass :wheel cmd /sbin/umount permit nopass :wheel cmd /sbin/mount EOF
Pas de bip clavier et luminosité réduite : 80% me permet de bien voir et réduit la consommation d'énergie.
cat << EOF > /etc/wsconsctl.conf keyboard.bell.volume=0 display.brightness=80 EOF
J'utilise une version de dwm avec quelques patches directement intégrés dans mon config.h :
À vrai dire, ces patches ne me sont que très rarement utiles...
J'y ajoute parfois le patche alpha
--- a/drw.c +++ b/drw.c @@ -202,6 +202,8 @@ drw_clr_create(Drw *drw, Clr *dest, const char *clrname) DefaultColormap(drw->dpy, drw->screen), clrname, dest)) die("error, cannot allocate color '%s'", clrname); + + dest->pixel |= 0xff << 24; } VER=6.5 cd /tmp ftp https://dl.suckless.org/dwm/dwm-$VER.tar.gz tar xvzf dwm*.tar.gz cd dwm-$VER ftp -o config.h https://si3t.ch/pub/dwm-config.h vi config.mk # sed -i /^#FREETYPEIN/s/^#// config.mk make make install PREFIX=$HOME
Un terminal tout simple, donc rapide.
VER=0.9.1 cd /tmp ftp https://dl.suckless.org/st/st-$VER.tar.gz tar xvzf st-*.tar.gz cd st-$VER ftp -o config.h https://si3t.ch/pub/st-config.h vi config.mk # edit OpenBSD config make make install PREFIX=$HOME
/etc/unwind.conf:
fdn1=80.67.169.12 fdn2=80.67.169.40 fdn61=2001:910:800::12 fdn62=2001:910:800::40 wikimedia=185.71.138.138 wikimedia6=2001:67c:930::1 bortzmeyer=193.70.85.11 block list "/var/db/unwind-block.txt" log forwarder { $fdn61 DoT $fdn62 DoT $fdn1 DoT $fdn2 DoT $wikimedia6 DoT $wikimedia DoT $bortzmeyer } preference { recursor DoT oDoT-forwarder oDoT-autoconf stub }
/usr/local/sbin/unwindblock
#!/bin/sh db=/var/db/unwind-block.txt if [ -n "$(find $db -mtime +7)" ]; then # wait for internet access while true; do nc -zw1 si3t.ch 443 && break || sleep 60 done ftp -o- https://si3t.ch/pub/evils/unwind-block.txt.gz |gzcat > $db fi
ftp -o- https://si3t.ch/pub/evils/unwind-block.txt.gz |gzcat > /var/db/unwind-block.txt rcctl enable unwind rcctl start unwind chmod +x /usr/local/sbin/unwindblock # crontab -e @reboot /usr/local/sbin/unwindblock
Voir la liste des ip blacklistées
J'utilise un VPN wireguard via openbsd.amsterdam sur le rdomain 2 pour l'utiliser seulement au besoin.
J'ai donc un fichier /etc/hostname.wg0
wgkey ... wgpeer ... \ wgendpoint 46.23.90.144 4545 \ wgaip 0.0.0.0/0 \ wgaip ::0/0 inet 10.0.0.2/24 inet6 fd54:49bc:c233:fde:cafe::2/64 rdomain 2 !route -T2 add -inet default 10.0.0.1 !route -T2 add -inet6 default fd54:49bc:c233:fde:cafe::1 up
Cependant, la résolution de noms de domaines n'est pas au top... unwind n'est pas accessible sur la table de routage 2. Il faut donc lancer un second unwind:
cat << EOF > /etc/hostname.lo1 rdomain 2 127.0.0.1 up" EOF sh /etc/netstart lo1 ln -s /etc/rc.d/unwind /etc/rc.d/unwind2 rcctl enable unwind2 echo "unwind2_rtable=2" >> /etc/rc.conf.local rcctl start unwind2
Pour utiliser le VPN, je lance le programme souhaité avec :
route -T2 exec le_nom_de-l_outil -flag1 -flag2...
cat << EOF >> /etc/rc.local sleep 30 && syspatch & sleep 60 && find /home -name "*.core" -delete & EOF
Le système sera suspendu si la batterie descend en-dessous de 5%. Ça permet de brancher la machine sans perdre son travail.
rcctl enable apmd rcctl set apmd flags -A -z 5
À la place, j'aime autant utiliser le port obsdfreqd qui limite la température en réduisant la fréquence du processeur si besoin
pkg_add obsdfreqd rcctl enable obsdfreqd apmd rcctl set obsdfreqd flags -T 75,55 rcctl set apmd flags -L -z8 rcctl start apmd obsdfreqd
Et pour que l'écran soit verrouillé après avoir suspendu la machine:
# cat /etc/apm/suspend #!/bin/sh pkill -USR1 xidle
Le script ''checkbatt'' permet d'avoir une alerte si la batterie a un niveau trop faible. Il s'appelle via un cron. :
*/5 * * * * /home/prx/bin/checkbatt >/dev/null 2>&1
sed -i 's/www\.google\.com/www.openbsd.org/' /etc/ntpd.conf
Si aucun accès à internet n'est disponible, récupérer les firmwares en ligne, les copier sur une clé USB, monter la clé puis lancer ''fw_update'' ainsi :
fw_update -p /chemin/vers/cle/usb/
http://firmware.openbsd.org/firmware/
Pour éviter d'abîmer la batterie en lui imposant une tension de charge lorsque le secteur est branché :
hw.battery.chargemode=1 hw.battery.chargestart=0 hw.battery.chargestop=85
pour xorg, si c'est demandé dans /var/log/Xorg.0.log
machdep.allowaperture=1
Pour améliorer les performances et utiliser micro et webcam. Attention, cela allège les précautions de sécurité par défaut:
hw.smt=1 kern.audio.record=1 kern.video.record=1
Pour utiliser la webcam, il faudra lancer:
chown $USER /dev/video*
Sur un portable, on peut activer le WiFi et le filaire avec de préférence le filaire. En cas de déconnexion, l'autre carte réseau prend le relais.
Dans mon cas, sur un x250 :
# cat /etc/hostname.iwn0 join wifi1 wpakey blabla join wifi2 wpakey pouet join "" up # cat /etc/hostname.em0 up # cat /etc/hostname.trunk0 trunkproto failover trunkport em0 trunkport iwm0 inet autoconf inet6 autoconf
$ doas mkdir /cdrom $ cat /etc/fstab /dev/cd0a /cdrom cd9660 ro,noauto 0 0
/etc/fstab:
b2a7ab562311a08f.a /home/prx/mpd ffs rw,nodev,nosuid,noatime 1 2
# rcctl set sndiod flags -f rsnd/0 -F rsnd/1 # rcctl restart sndiod
*/5 * * * * /home/prx/bin/checkbatt >/dev/null 2>&1 ~ * * * * /home/prx/bin/prxsync push >/dev/null 2>&1
# echo 'disable ulpt' >>/etc/bsd.re-config
Liste générée avec ''pkg_info -zm > obsdpkglist.lst''.
ftp https://si3t.ch/misc/logiciel-libre/openbsd/obsdpkglist.lst pkg_add -vmzl obsdpkglist.lst