(Modifié le 07/11/2019)

Dell Latitude E6230

alt text

L’ordinateur ultraportable Latitude E6230 offre un contrôle de niveau professionnel et une productivité de haut niveau dans une conception fine et légère.

Caractéristiques générales

  • Ecran LCD LED 12,5 pouces HD (résolution 1366 x 768) MAT - Anti-Reflet
  • Processeur : Intel Core i5-3320M 2,60 GHz - Turbo : 3,30 Ghz - DMI : 5 GT/s - Cache : 3 Mo - Socket FCBGA1023
  • Chipset : Mobile Intel QM77 Express Chipset
  • Mémoire Vive : 8GB DDR3 SDRAM
  • Disque dur Gigabyte SSD 480Gb
  • Carte graphique : Intégrée - Intel HD Graphics 4000
  • Carte son : Intégrée - Intel Panther Point PCH - Audio haute définition + haut-parleurs intégrés
  • Réseau : Intel 82579LM - Gigabit Lan Ethernet 10/100/1000 Gigabit
  • Wifi : Intel Centrino 6205 Wifi 802.11b/g/n
  • Lecteur de carte 2-en-1
  • Boutons Power, Volume Up / Down

Ports d’E/S:

  • 1 x Hi-Speed USB (2.0)/eSATA combo
  • 2 x Super-Speed USB (3.0)
  • 1 x VGA - HD D-Sub (HD-15) 15 broches
  • 1 x HDMI
  • 1 x Lecteur de cartes mémoires : SD
  • 1 x Express Card 34mm → 2xUSB3.0 ADWITS Express Card
  • 1 x Smart Card
  • 1 x Gigabit Ethernet (RJ45) 10/100/1000Mbps
  • 1 x Station d’accueil / duplicateur de ports
  • 1 x Microphone - entrée/Audio - sortie de ligne/casque

Alimentation,Batterie

  • 1 x Alimentation (Chargeur) 100-240V ~ 1.5A, 50-50Hz / 19.5V-4.62A
  • 1 x Batterie Li-ion 11.1v 7800mAh(86.6Wh)

Dimensions de l’unité:

  • Dimensions : Hauteur : 2,4 cm // Largeur : 30,9 cm // Profondeur : 22,6 cm
  • Poids : 1,67 Kg

UPGRADE RAM

Mémoires compatibles pour Dell Latitude E6230

Crucial 16GB Kit (2 x 8GB) DDR3-1866 SODIMM
CT2K102464BF186D
ID de la configuration: CT7785757
DDR3 PC3-14900 • CL=13 • UNBUFFERED • NON-ECC • DDR3-1866 • 1.35V • 1024MEG X 64 •

Documentation et support

DELL Latitude E6230 Disassembly Process

BIOS

Accès bios par touche F2 au démarrage

  • BIOS Version A20 du 09/01/2109
  • System Configuration
    • Integrated NIC → Enabled w/PXE (internal LAN enabled with PXE boot)
    • Parallel Port → Disabled
    • Serial Port → Disabled
  • Wireless
    • Wireless switch → WWAN,Bluetooth et WLAN sont DESACTIVES
    • Wireless Device Enable → WWAN,Bluetooth et WLAN sont ACTIVES

Archlinux

Télécharger le fichier iso archlinux sur le site https://www.archlinux.org/download/
Créer une clé USB bootable ,exemple clé USB sur /dev/sde , fichier iso du 1 juillet 2019 (format aaaa.mm.jj-dual.iso)

sudo dd if=archlinux-2019.07.01-x86_64.iso of=/dev/sde bs=4M

Boot sur clé USB contenant image ISO archlinux

loadkeys fr # en est en qwerty , il faut saisir 'loqdkeys'

Partitionnement du disque

Partitionnement du disque

fdisk /dev/sda

o → créer une table de partition
n → créer une seule partition
t → 8e type lvm
a → partition bootable , flag
w → écriture et sortie fdisk

LVM

ATTENTION!!! On utilise /dev/sda1 comme partition d’installation LVM et archlinux

# Volume Physique (Physical Volume)  
pvcreate /dev/sda1  
# Groupe de Volume (Volume Group)  
vgcreate ssd-vg /dev/sda1  
# Volume Logiques (logical Volume)  
lvcreate -L 4G -n swap ssd-vg
lvcreate -L 26G -n root ssd-vg
lvcreate -L 70G -n home ssd-vg
lvcreate -L 200G -n data  ssd-vg
#lvcreate -l 100%FREE -n data  ssd-vg

Système de fichiers

Type de fichier swap pour la partition swap

mkswap /dev/ssd-vg/swap

Type de fichier ext4 pour les autres partitions

mkfs.ext4 /dev/ssd-vg/root
mkfs.ext4 /dev/ssd-vg/home
mkfs.ext4 /dev/ssd-vg/data

Archlinux ,installation de base

Activation swap

swapon /dev/ssd-vg/swap

Points de montage

mount /dev/ssd-vg/root /mnt  
mkdir /mnt/home
mount /dev/ssd-vg/home /mnt/home

modifier le fichier /etc/pacman.d/mirrorlist pour ne garder qu’un seul miroir (facultatif)
passer la commande suivante avant la première ligne pacstrap :

export LANG=C

installation

pacstrap /mnt base base-devel

NOTE : Il est possible de se connecter en ssh pour la suite de l’installation:

  • Modifier le mot de passe root : passwd
  • Relever l’adresse IP :ip addr
  • Lancer sshd : systemctl start sshd.socket
  • Depuis le poste distant : ssh root@adresseIP

Paquets supplémentaires

pacstrap /mnt zip unzip p7zip alsa-utils lsb-release

générer le fichier /etc/fstab qui liste les partitions présentes avec les UUID des partitions

genfstab -U -p /mnt >> /mnt/etc/fstab

chargeur de démarrage Grub2/Bios . Le paquet os-prober est indispensable pour un double démarrage.

pacstrap /mnt grub os-prober

Passage en chroot

arch-chroot /mnt

Clavier en mode texte

nano /etc/vconsole.conf

Ajouter

KEYMAP=fr-latin9
FONT=lat9w-16

Localisation

nano /etc/locale.conf

Ajouter

LANG=fr_FR.UTF-8
LC_COLLATE=C

Il faut supprimer le # au début de la ligne fr_FR.UTF-8 UTF-8 dans le fichier /etc/locale.gen

nano /etc/locale.gen

puis exécuter:

locale-gen

spécifier la locale pour la session courante

export LANG=fr_FR.UTF-8

fuseau horaire de Paris

ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime

on a une machine en mono-démarrage sur Archlinux, et on peut demander à ce que l’heure appliquée soit UTC

hwclock --systohc --utc

modifier le fichier /etc/mkinitcpio.conf

nano /etc/mkinitcpio.conf

et ajouter lvm2 entre block et filesystems dans les HOOKS
puis exécuter mkinitcpio qui est un script shell utilisé pour créer un environnement qui se chargé en premier en mémoire :

mkinitcpio -p linux

nom de la machine /etc/hostname

echo "e6230" > /etc/hostname

installation grub en mode bios

grub-install --no-floppy --recheck /dev/sda

générer le fichier de configuration grub

grub-mkconfig -o /boot/grub/grub.cfg

mot de passe root

passwd root

Réseau networkmanager (pour ensuite installer un environnement graphique xfce,gnome,kde,etc…)

pacman -S networkmanager
systemctl enable NetworkManager  

On peut maintenant quitter tout, démonter proprement les partitions et arrêter la machine.

exit
umount -R /mnt
#reboot
poweroff
# oter la clé USB

Redémarrer le portable et se connecter en root…

Utilisateur

créer un utilisateur avec la commande suivante

useradd -m -g users -c 'yann e6230' -s /bin/bash yann
passwd yann

Openssh

Installation et lancement

pacman -S openssh 

Validation

systemctl enable sshd

Lancement SSH

systemctl start sshd

On peut se connecter d’un poste en utilisateur

ssh yann@adresse_ip_portable

sudoers

Modifier sudoers pour accès sudo sans mot de passe à l’utilisateur yann

su               # mot de passe root
echo "yann     ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

Multimédia

Les outils en place, on lance alsamixer , pour configurer le niveau sonore de Master
Texte alternatif
Sauvegarder le paramétrage précédent , on exécute sudo alsactl store
installer l’ensemble des greffons gstreamer qui donneront accès aux fichiers multimédias

sudo pacman -S gst-plugins-{base,good,bad,ugly} gst-libav

gst-libav prend en charge tout ce qui est x264

Xorg

Ordinateur portable avec pavé tactile , on installe xf86-input-libinput
Vérifier carte graphique

lspci |grep -i vga
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)

Carte graphique Intel , on installe xf86-video-intel

sudo pacman -S xorg-{server,xinit,apps} xf86-input-{mouse,keyboard} xdg-user-dirs xf86-input-libinput xf86-video-intel

Tout est sélectionné…

le pilote xf86-video-intel utilise DRI3 comme Direct Rendering par défaut

installation des polices.

sudo pacman -S xorg-fonts-type1 ttf-dejavu font-bh-ttf \
          font-bitstream-speedo gsfonts sdl_ttf ttf-bitstream-vera \
          ttf-liberation ttf-arphic-uming ttf-baekmuk # Polices pour sites multilingue

Outils et applications

on veut avoir accès à l’outil yaourt, installer git

sudo pacman -S git

puis exécuter les instructions suivantes (une par une)

git clone https://aur.archlinux.org/package-query.git
cd package-query
makepkg -si
cd ..
git clone https://aur.archlinux.org/yaourt.git
cd yaourt
makepkg -si
cd ..
#on efface les sources
sudo rm -r yaourt package-query

On commence par tout ce qui est graphique : gimp, cups (gestion de l’imprimante) et hplip (si vous avez une imprimante scanner Hewlett Packard). Le paquet python-pyqt5 est indispensable pour l’interface graphique de HPLIP.,outil rsync , firefox fr + nightly ,LibreOffice ,tmux ,youtube-dl ,calibre ,wget et bind-tools :

sudo pacman -S cups gimp gimp-help-fr hplip python-pyqt5 rsync firefox-i18n-fr libreoffice-fresh-fr tmux youtube-dl calibre wget bind-tools
yaourt -S firefox-nightly-fr
==> Vérification des signatures des fichiers sources grâce à gpg…
    20190723-firefox-70.0a1.fr.linux-x86_64.tar.bz2 ... ÉCHEC (Clé publique inconnue F1A6668FBB7D572E

Il faut rechercher et ajouter la clé publique manquante

gpg --keyserver pgp.mit.edu --recv-keys BB7D572E
gpg: key 61B7B526D98F0353: 28 signatures not checked due to missing keys
gpg: /home/yann/.gnupg/trustdb.gpg : base de confiance créée
gpg: clef 61B7B526D98F0353 : clef publique « Mozilla Software Releases <release@mozilla.com> » importée
gpg: aucune clef de confiance ultime n'a été trouvée
gpg:       Quantité totale traitée : 1
gpg:                     importées : 1

Ajouter ntp (synchronisation de l’heure en ligne) et cronie (pour les tâches d’administration à automatiser).

sudo pacman -S ntp cronie

Outils complémentaires

sudo pacman -S mtools dosfstools ntfs-3g exfat-utils bash-completion jq figlet

timedatectl ,synchroniser avec un serveur de temps

Editer le fichier de configuration timesyncd.conf :

sudo nano /etc/systemd/timesyncd.conf

Définir les serveurs de temps :

[Time]
NTP=
FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
RootDistanceMaxSec=5
PollIntervalMinSec=32
PollIntervalMaxSec=2048

Activer la synchronisation : sudo timedatectl set-ntp true
Après synchronisation
timedatectl

               Local time: mar. 2019-07-23 14:08:47 CEST
           Universal time: mar. 2019-07-23 12:08:47 UTC
                 RTC time: mar. 2019-07-23 12:08:48
                Time zone: Europe/Paris (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Vérification détaillée

timedatectl show-timesync --all
LinkNTPServers=
SystemNTPServers=
FallbackNTPServers=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
ServerName=0.arch.pool.ntp.org
ServerAddress=83.170.75.28
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=2min 8s
NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=2, Precision=-21, RootDelay=10.711ms, RootDispersion=9.399ms, Reference=C250CCB8, OriginateTimestamp=Tue 2019-07-23 14:09:27 CEST, ReceiveTimestamp=Tue 2019-07-23 14:09:27 CEST, TransmitTimestamp=Tue 2019-07-23 14:09:27 CEST, DestinationTimestamp=Tue 2019-07-23 14:09:27 CEST, Ignored=no PacketCount=3, Jitter=477us }
Frequency=502440

Stopper la synchronisation : sudo timedatectl set-ntp false

XFCE

Installer xfce

Installer Xfce avec vlc (vidéo),lightdm

yaourt -S xfce4 xfce4-goodies gvfs vlc xarchiver galculator evince ffmpegthumbnailer xscreensaver system-config-printer

Tout est sélectionné…
Pour avoir le bon agencement clavier dès la saisie du premier caractère du mot de passe, il faut entrer la commande suivant avant de lancer pour la première fois lightdm :

sudo localectl set-x11-keymap fr

Installation lightdm et du gestionnaire graphique

yaourt -S lightdm-gtk-greeter-settings  # Installation de lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings

Pour lancer Xfce, il faut entrer dans un premier temps (sur la machine directement , pas dans un terminal SSH) :

sudo systemctl start lightdm

Et si tout se passe bien, on peut valider :

sudo systemctl enable lightdm

applications supplémentaires, icônes et tableau de bord

Double Commander , Menulibre pour la gestion des menus , network-manager-applet pour la gestion des connexions réseau ,cheese pour la vidéo

sudo pacman -S gedit doublecmd-gtk2 terminator filezilla nmap minicom iw network-manager-applet cheese zenity
yaourt -S menulibre

Paramétrage de l’application terminale minicom

 sudo minicom -s

Seul les paramètres à modifier sont cités

Configuration du port série
A - Port série : /dev/ttyUSB0
F - Contrôle de flux matériel : Non
Echap
Enregistrer config. sous dfl
Sortir de Minicom

Paramétrage de l’application Double Commander
Commande ouverture de terminal externe , /usr/bin/terminator

Icônes “numix”

yaourt -S numix-icon-theme-git numix-circle-icon-theme-git 

Personnaliser XFCE

Image yannick-white-black.png et fond d’écran archlinux_398937bw.png dans /usr/share/backgrounds/xfce/
Modification du tableau de bord , clic-droit –> Tableau de bord –> Préférences de tableau de bord
Tableau de bord 1

  • Ajouter des éléments –> Menu whisker (icône yannick-green.png) ,Moniteur de batterie ,Mise à jour météo (supprimer “Menu des applications”)
  • Masquer automatiquement le tableau de bord Toujours
  • Taille d’une ligne (pixels) 25
  • Boutons d’action idem dans apparence , actions Déconnexion

Eléments tableau de bord 1

  • Changeur d’espace de travail –> paramètres des espaces… : 2
  • Affichage date et heure, format personnalisé dans Horloge : %e %b %Y %R
  • Copie d’écran , installation sudo pacman -S xfce4-screenshooter puis ajouter Captures d’écran

Après validation tableau de bord, clic droit sur icône capture écran puis Propriétés -> Zone à capturer : Sélectionner une zone

image

Supprimer Tableau de bord 2

Menu → Paramètres → Apparence

  • Style : Xfce-flat
  • Icônes : Numix Circle
  • Polices : Cantarell Regular 10

Menu Paramètres → Gestionnaire de fenêtres → Style : Default-4.8
Menu Paramètres → Bureau

  • Icônes : Tout décocher dans Icônes par défaut
  • Sélectionner le fond d’écran

Menu → Applications favorites →

  • Internet
    • Firefox-nightly /usr/bin/firefox-nightly
  • Utilitaires
    • Gestionnaire de fichiers /usr/bin/doublecmd
    • Emulateur de Terminal /usr/bin/terminator “%s”

Ajoutez la recherche d'historique de la ligne de commande au terminal.
Tapez un début de commande précédent, puis utilisez shift + up (flèche haut) pour rechercher l’historique filtré avec le début de la commande.

# Global, all users
echo '"\e[1;2A": history-search-backward' | sudo tee -a /etc/inputrc
echo '"\e[1;2B": history-search-forward' | sudo tee -a /etc/inputrc

Supprimer le bip à la fermeture de session et autre...

sudo nano /etc/modprobe.d/blacklist-pcspkr.conf
# this is how you mute annoying beeps in console and shutdown
blacklist pcspkr

Modifier le fond de l'écran de connexion

Menu → Paramètres → LightDM GTK+ Paramètres d’Apparence (mot de passe root demandé)
Thème : Adwaita-dark
Icônes : Numix-Circle
Arrière plan Image/usr/share/backgrounds/xfce/wp2618258.jpg
Image utilisateur /usr/share/backgrounds/xfce/yannick-white-black.png

Son

sudo pacman -S pulseaudio pavucontrol

Lancement

pulseaudio --start
sudo usermod -aG audio $USER

Menu → Multimédia → Controle du volume (pulseaudio/pavucontrol)
Audio interne DigitalStéréo (HDMI)
Port : Speakers

PulseAudio
Installer un greffon qui n’affiche pas d’icône dans le tableau de bord
La gestion coupure, vol+ et vol- du son se fait à l’aide des touches spécifique du clavier
alt text

yaourt -S xfce4-volumed-pulse

Une déconnexion/connexion est nécessaire pour la prise en charge.

Client nextcloud

Installation client nextcloud et dépendances

yaourt -S nextcloud-client gnome-keyring libgnome-keyring

Trousseau de clé avec mot de passe idem connexion utilisateur

Paramétrage

  • Menu → Lancer Client de synchronisation nextcloud
  • Adresse du serveur : https://cinay.xyz/nextcloud
  • Nom d’utilisateur : yannick
  • Mot de passe : xxxxx
  • Sauter les dossiers à synchroniser
  • Trousseau de clés = mot de passe connexion utilisateur
  • Paramètres nextcloud
    • Lancer au démarrage du système
    • Utiliser les icônes monochromes
    • Désactiver les notifications serveurs

Gestionnaire mot de passe (keepassxc)

Créer les dossiers mkdir -p $HOME/{.ssh,.keepassx}
Ajouter une synchronisation de dossier nextcloud : /home/yann/.keepassx (local) → Home/.keepasx (serveur)
Télécharger la clé yannick_keepassxc.key dans ~/.ssh : scp .ssh/yannick_keepassxc.key yann@192.168.0.29:/home/yann/.ssh/
Installer keepassxc

sudo pacman -S keepassxc

Lancer “KeepassXC” → Ouvrir une base de données existante
Décocher Ouvrir les bases de données précédentes au démarrage –> OK
Base de données –> Ouvrir une base de données (afficher les fichiers cachés) : ~/.keepassx/yannick_xc.kdbx –> Ouvrir
Cocher “Fichier clé” –> Naviguer : ~/.ssh/yannick_keepassxc.key –> Ouvrir
Saisir le mot de passe de la base de données et clic sur OK

Imprimante HP

Si l’imprimante est connectée directement à votre système ou si vous avez accès à une imprimante réseau IPP, un serveur CUPS local est utilisé. Vérifier que les 3 services suivants sont enabled et active (running)

systemctl status {avahi-daemon,avahi-dnsconfd,org.cups.cupsd}

Sinon

sudo systemctl enable avahi-daemon               # dépendance de Cups
sudo systemctl enable avahi-dnsconfd             # autre dépendance de Cups
sudo systemctl enable org.cups.cupsd             # cups pour les imprimantes
sudo systemctl start avahi-daemon               # dépendance de Cups
sudo systemctl start avahi-dnsconfd             # autre dépendance de Cups
sudo systemctl start org.cups.cupsd             # cups pour les imprimantes

Installation du scanner
Coté logiciel il vous faudra sane et son interface graphique xsane, ainsi qu’éventuellement xsane-gimp le plugin pour gimp.

yaourt -S sane xsane xsane-gimp 

Imprimante réseau HP

Menu HP Device Manager

image
Setup Device…

image

image

image
Add Printer

image

Menu Configuration de l’impression
Double clic sur l’imprimante Officejet_6700 et Imprimer la page de test

Journalctl

Ajout utilisateur courant au groupe systemd-journal et adm

sudo gpasswd -a $USER systemd-journal
sudo gpasswd -a $USER adm

Lignes non tronquées ,ajouter au fichier ~/.bashrc

echo "export SYSTEMD_LESS=FRXMK journalctl" >> /home/$USER/.bashrc

Prise en compte après déconnexion/reconnexion

Répertoire chiffré (ecryptfs)

Chiffrement ecryptfs

Installation
sudo pacman -S ecryptfs-utils
Une fois ces paquets installés, vous devez charger le module ecryptfs (archlinux/manjaro)
sudo modprobe ecryptfs
Configuration
ecryptfs-setup-private

Enter your login passphrase [yann]:         # mot de passe de connexion utilisateur
Enter your mount passphrase [leave blank to generate one]:   # ne rien saisir , faire entrée

************************************************************************
YOU SHOULD RECORD YOUR MOUNT PASSPHRASE AND STORE IT IN A SAFE LOCATION.
  ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase
THIS WILL BE REQUIRED IF YOU NEED TO RECOVER YOUR DATA AT A LATER TIME.
************************************************************************


Done configuring.

Testing mount/write/umount/read...
Inserted auth tok with sig [98d733e52fce1449] into the user session keyring
Inserted auth tok with sig [f3677a123ab073e8] into the user session keyring
Inserted auth tok with sig [98d733e52fce1449] into the user session keyring
Inserted auth tok with sig [f3677a123ab073e8] into the user session keyring
Testing succeeded.

Logout, and log back in to begin using your encrypted directory.

Dans le cas d’une génération automatique de la passphrase de montage , il faut la déchiffrer pour pouvoir la sauvegarder
ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase
Passphrase: “Mot de passe de connexion utilisateur”
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Enregistrez votre phrase secrète dans un lieu sûr, elle sera requise pour récupérer vos données ultérieurement.

Montage Auto (PAM)
Modifier le fichier /etc/pam.d/system-auth

#%PAM-1.0

auth      required  pam_unix.so     try_first_pass nullok
auth      required  pam_ecryptfs.so unwrap
auth      optional  pam_permit.so
auth      required  pam_env.so

account   required  pam_unix.so
account   optional  pam_permit.so
account   required  pam_time.so

password  optional  pam_ecryptfs.so
password  required  pam_unix.so     try_first_pass nullok sha512 shadow
password  optional  pam_permit.so

session   required  pam_limits.so
session   required  pam_unix.so
session   optional  pam_ecryptfs.so
session   optional  pam_permit.so

Sauvegarde , déconnexion ,reconnexion et vérifier la sortie par mount

[...]
/home/yann/.Private on /home/yann/Private type ecryptfs...`  

CryFS - Chiffrer les dossiers avant dépôt sur Nextcloud

Créer un dossier cryfs-chiffre qui sera chiffré et accessible dans Nextcloud

mkdir -p ~/media/dplus/statique/cryfs-chiffre

Créer le dossier “mount” .chiffre avec le contenu de cryfs-chiffre après déchiffrage

mkdir -p ~/.chiffre

Montage automatique à l’ouverture d’une session utilisateur, créer un bash “~/scripts/cryfs-autostart”

nano ~/scripts/cryfs-autostart
#!/bin/bash
export CRYFS_FRONTEND=noninteractive
export CRYFS_NO_UPDATE_CHECK=noninteractive
BASE_DIR="${HOME}/media/dplus/statique/cryfs-chiffre"
MOUNT_DIR="${HOME}/.chiffre"
PASSWORD="Mot-de-Passe"
if [ ! -d "$MOUNT_DIR" ]; then
  mkdir $MOUNT_DIR
fi
echo $PASSWORD | cryfs $BASE_DIR $MOUNT_DIR &>/dev/null 
chmod +x ${HOME}/scripts/cryfs-autostart 
sudo ln -s ${HOME}/scripts/cryfs-autostart /usr/local/bin/cryfs-autostart

On place l’unit propre à un utilisateur dans le dossier ~/.config/systemd/user, créer le dossier

mkdir -p ~/.config/systemd/user

Le fichier unit cryfs-autostart.service

nano ~/.config/systemd/user/cryfs-autostart.service
[Unit]
Description=tmux instance with virtual running in it.

[Service]
ExecStart=/usr/local/bin/cryfs-autostart
ExecStop=cryfs-unmount "${HOME}/.chiffre"
Type=forking
Restart=always

[Install]
WantedBy=default.target

Une fois ce fichier placé au bon endroit, il suffit de reloader systemd pour ensuite démarrer le service:

systemctl --user daemon-reload
systemctl start --user cryfs-autostart.service
systemctl enable --user cryfs-autostart.service
systemctl status --user cryfs-autostart.service

Ajout volume logique “data” au fstab

Création du point de montage “data” à la racine, donner les droits

sudo mkdir /data sudo chown $USER.users -R /data

Ajouter les lignes suivantes au fichier /etc/fstab

# /dev/mapper/ssd--vg-data 
UUID=17aed65b-cbd2-46e0-902f-987990b9689e /data           ext4            rw,relatime 0 2

Effectuer le montage et vérifier

sudo mount -a
mount |grep data
    /dev/mapper/ssd--vg-data on /data type ext4 (rw,relatime)

modification clavier

Manipulations à effectuer sur un terminal de la machine
Pas de touches “>” “*” sur clavier ex Qwerty
La commande suivante permet d’afficher la disposition actuelle de votre clavier

xmodmap -pke

Sur un clavier normal Azerty

keycode  94 = less greater less greater bar brokenbar bar

Sur le clavier du portable on va utiliser les touches “|" keycode 51 et “~`” keycode 49
Pour modifier la fonction d’une touche on invoque simplement xmodmap avec en argument la chaîne de caractères que l’on souhaite modifier :

xmodmap -e "keycode  49 = less greater less greater bar brokenbar bar"

Pour rendre les modifications permanentes ,créer ou modifier ~/.xmodmap.conf et ajouter

keycode 49 = less greater less greater bar brokenbar bar
keycode 51 = asterisk mu asterisk mu dead_grave dead_breve dead_grave

Exécuter au lancement de la session
Menu → Paramètres → Session et démarrage ,onglet Démarrage automatique d’application
Clique sur Ajouter :
Nom : Modif clavier
Description : atribution touche
Commande : /usr/bin/xmodmap /home/yann/.xmodmap.conf Puis cliquer sur Valider

Actualisation grub

Ajout image de fond
sudo nano /etc/default/grub
Ajouter ce qui suit

GRUB_BACKGROUND=/usr/share/backgrounds/xfce/archlinux-lightdm.png

Regénérer le grub

sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found background: /usr/share/backgrounds/xfce/archlinux-lightdm.png
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
done

Virtualisation

VirtualBox

sudo pacman -S virtualbox 

Sélectionner 2 : virtualbox-host-modules-arch
Après installation, entrez la commande suivante pour ajouter le module Virtualbox au noyau :

sudo modprobe vboxdrv

ajouter le compte utilisateur personnel au groupe d’utilisateurs vbox :

sudo gpasswd -a $USER vboxusers

Création d’un dossier Partage

mkdir ~/Partage

Impératif, vous devez maintenant redémarrer votre système pour que les modifications prennent effet.

Le dossier et lien “virtuel”

Création dossier pour VirtualBox /data/virtuel/Vbox

sudo mkdir -p /data/virtuel 
sudo chown $USER.users -R /data/virtuel 
sudo ln -s /data/virtuel $HOME/virtuel

Compléments

Nano ,éditeur par défaut

Attribution immédiate

export EDITOR=/usr/bin/nano

Attribution permanente

echo "export EDITOR=/usr/bin/nano" >> ~/.bashrc

SSH

Script NON EXECUTE sur connexion (lancement manuel)

nano $HOME/.rc # fichier utilisateur
#!/bin/bash

get_infos() {
    seconds="$(< /proc/uptime)"
    seconds="${seconds/.*}"
    days="$((seconds / 60 / 60 / 24)) jour(s)"
    hours="$((seconds / 60 / 60 % 24)) heure(s)"
    mins="$((seconds / 60 % 60)) minute(s)"
    
    # Remove plural if < 2.
    ((${days/ *} == 1))  && days="${days/s}"
    ((${hours/ *} == 1)) && hours="${hours/s}"
    ((${mins/ *} == 1))  && mins="${mins/s}"
    
    # Hide empty fields.
    ((${days/ *} == 0))  && unset days
    ((${hours/ *} == 0)) && unset hours
    ((${mins/ *} == 0))  && unset mins
    
    uptime="${days:+$days, }${hours:+$hours, }${mins}"
    uptime="${uptime%', '}"
    uptime="${uptime:-${seconds} seconds}"

   if [[ -f "/sys/devices/virtual/dmi/id/board_vendor" ||
                    -f "/sys/devices/virtual/dmi/id/board_name" ]]; then
	model="$(< /sys/devices/virtual/dmi/id/board_vendor)"
	model+=" $(< /sys/devices/virtual/dmi/id/board_name)"
   fi

   if [[ -f "/sys/devices/virtual/dmi/id/bios_vendor" ||
                    -f "/sys/devices/virtual/dmi/id/bios_version" ]]; then
        bios="$(< /sys/devices/virtual/dmi/id/bios_vendor)"
        bios+=" $(< /sys/devices/virtual/dmi/id/bios_version)"
        bios+=" $(< /sys/devices/virtual/dmi/id/bios_date)"
   fi
}

#clear
PROCCOUNT=`ps -Afl | wc -l`  		# nombre de lignes
PROCCOUNT=`expr $PROCCOUNT - 5`		# on ote les non concernées
GROUPZ=`users`
ipinfo=$(curl -s ipinfo.io) 		# info localisation format json
#ipinfo=$(curl -s iplocality.com) 		# info localisation format json
publicip=$(echo $ipinfo | jq -r '.ip')  # extraction des données , installer préalablement "jq"
ville=$(echo $ipinfo | jq -r '.city')
pays=$(echo $ipinfo | jq -r '.country')
cpuname=`cat /proc/cpuinfo |grep 'model name' | cut -d: -f2 | sed -n 1p`
iplink=`ip link show |grep -m 1 "2:" | awk '{print $2}' | cut -d: -f1`

if [[ $GROUPZ == *irc* ]]; then
ENDSESSION=`cat /etc/security/limits.conf | grep "@irc" | grep maxlogins | awk {'print $4'}`
PRIVLAGED="IRC Account"
else
ENDSESSION="Unlimited"
PRIVLAGED="Regular User"
fi
get_infos
logo=$(figlet "`hostname --fqdn`")
meteo=$(curl fr.wttr.in/$ville?0)
lvm_entet="Sys. fichiers\tTaille\tUtilisé\tDispo\tUti%\tMonté sur"
lvm=$(df -h |grep mapper)    # les montages lvm
sdx=$(df -h |grep "/dev/sd") # les montages /dev/sd
distri=$(lsb_release -sd)
distri+=" $(uname -m)"

echo -e "
\e[1;31m$logo
\e[1;35m   \e[1;37mHostname \e[1;35m= \e[1;32m`hostname`
\e[1;35m \e[1;37mWired IpV4 \e[1;35m= \e[1;32m`ip addr show $iplink | grep 'inet\b' | awk '{print $2}' | cut -d/ -f1`
\e[1;35m \e[1;37mWired IpV6 \e[1;35m= \e[1;32m`ip addr show $iplink | grep -E 'inet6' |grep -E 'scope link' | awk '{print $2}' | cut -d/ -f1`
\e[1;35m     \e[1;37mKernel \e[1;35m= \e[1;32m`uname -r`
\e[1;35m    \e[1;37mDistrib \e[1;35m= \e[1;32m$distri
\e[1;35m     \e[1;37mUptime \e[1;35m= \e[1;32m`echo $uptime`
\e[1;35m       \e[1;37mBios \e[1;35m= \e[1;32m`echo $bios`
\e[1;35m      \e[1;37mBoard \e[1;35m= \e[1;32m`echo $model`
\e[1;35m        \e[1;37mCPU \e[1;35m= \e[1;32m`echo $cpuname`
\e[1;35m \e[1;37mMemory Use \e[1;35m= \e[1;32m`free -m | awk 'NR==2{printf "%s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'`
\e[1;35m   \e[1;37mUsername \e[1;35m= \e[1;32m`whoami`
\e[1;35m   \e[1;37mSessions \e[1;35m= \e[1;32m`who | grep $USER | wc -l`
\e[1;35m\e[1;37mPublic IpV4 \e[1;35m= \e[1;32m`echo $publicip`
\e[1;35m\e[1;37mPublic IpV6 \e[1;35m= \e[1;32m`ip addr show $iplink | grep -m 1 'inet6\b'  | awk '{print $2}' | cut -d/ -f1`
\e[1;35m\e[1;96m$lvm_entet\e[1;35m\e[1;49m
\e[1;35m\e[1;33m$sdx
\e[1;35m\e[1;33m$lvm
\e[1;35m\e[1;32m$meteo
\e[1;0m
"

On le rend exécutable
chmod +x $HOME/.rc
Puis exécution
./.rc

Connexion SSH par clé

Opérations à réaliser sur l'ordinateur de bureau
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) nommé e6230 pour une liaison SSH avec le portable E6230.

ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/e6230

Envoyer la clé publique sur le portable

scp .ssh/e6230.pub yann@192.168.0.29:/home/yann/.ssh/

Envoyer les clés secrètes SSH sur le portable pour lui permettre de communiquer avec les différents serveurs.

scp .ssh/{.ssh_servers,vps-austria,vps69295,eola_ssh,shuttle_ed25519,jessie,claudine-acer,pc2,kvm-iceland} yann@192.168.0.16:/home/yann/.ssh/

Opérations à réaliser sur le portable **E6230**
Ajout de la clé publique dans la liste des machines autorisées

cat ~/.ssh/e6230.pub >> ~/.ssh/authorized_keys

Modifier les droits

chmod 600 ~/.ssh/authorized_keys

Effacer le fichier de la clé

rm ~/.ssh/e6230.pub

Modification fichier configuration ssh

sudo nano /etc/ssh/sshd_config
Port 56230
PermitRootLogin		no
PasswordAuthentication	no
#si délai lors d'une connexion ssh sous Linux
#UseDNS no

Relancer

sudo systemctl restart sshd

Les appels SSH depuis le portable se font via un bash sshm , on va créer un lien sur /usr/local/bin/

sudo ln -s $HOME/scripts/ssh-manager.sh /usr/local/bin/sshm

Tester la connexion SSH/Clés depuis l'ordinateur de bureau

ssh -p 56230 -i ~/.ssh/e6230 yann@192.168.0.29 # filaire
ssh -p 56230 -i ~/.ssh/e6230 yann@192.168.0.18 # wifi

XFCE : Gestionnaire d’alimentation (spécifique portable)

http://docs.xfce.org/xfce/xfce4-power-manager/preferences

Cette section explique en détail les configurations possibles du gestionnaire de puissance fonctionnant sur un ordinateur portable.

Veuillez noter que les configurations sont différentes lorsque le gestionnaire d’alimentation fonctionne sur un ordinateur de bureau, par exemple, vous n’aurez pas de luminosité LCD, etc.

Vous pouvez ouvrir la boîte de dialogue des paramètres en exécutant la commande xfce4-power-manager -c à partir de votre émulateur de terminal ou en cliquant sur son icône dans la barre d’état système et en choisissant l’option :
Menu → Paramètres → Gestionnaire d’alimentation …

La boîte de dialogue Xfce Power Manager comporte quatre onglets. Les trois premiers; Général, Système et Affichage, vous permet de définir différentes options liées à l’alimentation électrique. Le quatrième onglet, Périphériques, affiche l’état et les informations.

Onglet Général

image

Boutons
Vous spécifiez différents actions par appui sur les boutons spécifiés.

Notez que tous les ordinateurs portables n’ont pas de boutons dédiés ou de touches de fonction mise en veille, suspendre ou hiberner. Le fait que votre écran soit ou non verrouillé lors de la reprise de la suspension dépend du paramètre de sécurité sous l’onglet Système.

Si vous souhaitez contrôler la luminosité de l’écran avec les touches de fonction de l’ordinateur portable, activez l’option Gérer les touches de luminosité de l’écran.
Lorsque ces options sont désactivées, les touches de luminosité ne sont pas gérées par le gestionnaire mais directement par le noyau (si pris en charge).

Couvercle pour ordinateur portable

Vous pouvez choisir des options distinctes pour favoriser l’économie d’énergie (suspension), la sécurité (écran de verrouillage) ou la récupération rapide (écran vide), selon que vous utilisez une batterie ou bien branché. Apparence

En cochant Notifications d’état et Icône de notification , vous activez les fenêtres contextuelles pour des événements comme la branchement , le débranchement ou la faible charge de la batterie.

Onglet Système

Vous pouvez définir des options d’économie d’énergie et d’avertissement qui concernent l’ordinateur portable.

image

Économie d’énergie du système

  • Mode de mise en veille du système: - Spécifie le type de mode d’économie d’énergie à saisir après une période d’inactivité. Sur certaines distributions, la seule option disponible est Suspend.
  • Quand inactif depuis: - Définit la durée d’inactivité avant que le mode sommeil spécifié ne soit entré. La durée minimale que vous pouvez régler avec le curseur est de 15 minutes.

Charge critique

  • Charge batterie critique: - Toutes les batteries se comportent différemment quand il s’agit de comportement de décharge. Cela peut prendre des heures pour passer de 100% à 10%, mais seulement quelques minutes pour se décharger complètement de 10%. Ce paramètre vous permet de configurer un seuil supérieur ou inférieur avant de prendre un certain type d’action pour un faible niveau de batterie. La gamme est de 1% à 20%.
  • Encas de Charge batterie critique: - Détermine l’action à prendre lorsque la batterie atteint le seuil de charge critique configuré par l’utilisateur.

Sécurité

Lorsque cette option est activée, le mot de passe sera demandé pour débloquer la session après la reprise de la suspension.

Onglet Ecran

Vous pouvez définir les options d’économie d’énergie qui concernent l’écran de l’ordinateur portable. Comme avec la page Power System, la page Options d’affichage vous permet de définir des options indépendamment pour les conditions «sur batterie» et «branché».

image

Gestion de l’alimentation de l’écran

Les trois options - Ecran vide après, Mettre en veille après et Eteindre après - sont en théorie un ordre croissant de potentiel d’économie d’énergie. Cependant, tout le matériel de l’ordinateur portable n’est pas capable de faire une distinction entre ces trois modes et il n’y a pas d’indication directe sur un ordinateur portable si l’affichage est effectivement éteint, suspendu ou simplement bloqué. Vous devrez peut-être expérimenter pour voir laquelle, le cas échéant, de ces options offre le plus d’économie d’énergie.

Le gestionnaire suppose que chacune de ces options fonctionnera au niveau du matériel et tentera ainsi d’éviter une configuration illogique.

Réduction de la luminosité

Ces paramètres vous permettent d’être plus ou moins “agressif” avec la réduction de la luminosité de l’écran selon que l’ordinateur portable fonctionne sur batterie ou branché.

Onglet Périphériques

Affiche les états en temps réel dans le volet gauche pour l’alimentation et la batterie de l’ordinateur portable et des informations plus détaillées sur le périphérique dans le volet droit.

image

NFS AutoFS

AutoFS est la seule alternative fonctionnelle ,pour les partages réseau NFS ,sur les ordinateurs portables.
NE PAS UTILISER SYSTEMD AUTOMOUNT

Installer le paquet nfs-utils

sudo pacman -S nfs-utils

il est hautement recommandé de synchroniser l’heure de tous les nœuds pour éviter certains types de latence. L’activation du service Systemd-timesyncd suffit.

Activation (si non effectuée auparavant)

sudo timedatectl set-ntp true 

Vérification synchronisation heure

timedatectl status
               Local time: mar. 2019-07-23 18:17:32 CEST
           Universal time: mar. 2019-07-23 16:17:32 UTC
                 RTC time: mar. 2019-07-23 16:17:32
                Time zone: Europe/Paris (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Installer autofs

sudo pacman -S autofs

Les montages NFS de shuttle

showmount -e 192.168.0.45
Export list for 192.168.0.45:
/srv/data 192.168.0.0/24

Découverte “Auto”

AutoFS offre une nouvelle façon de découvrir et de monter automatiquement des partages sur des serveurs distants . Pour activer la détection automatique et le montage de partages réseau de tous les serveurs accessibles sans autre configuration, vous aurez besoin de vérifier ou d’ajouter la ligne suivante au fichier /etc/autofs/auto.master:

sudo nano /etc/autofs/auto.master
  /net -hosts

Chaque nom d’hôte doit être résolu, par exemple le nom d’une adresse IP dans /etc/hosts ou via DNS
Modifier le hosts pour ajouter le nom du serveur nfs et son adresse IP

sudo nano /etc/hosts
192.168.0.45	   srvxo

Après relance

sudo systemctl restart autofs

Vérifier la reconnaissance des montages NFS qui correspond au showmount

ls /net/srvxo/srv/data/
CalibreTechnique  Musique  borg-backups  devel	dplus  lost+found

Status

systemctl status autofs
● autofs.service - Automounts filesystems on demand
   Loaded: loaded (/usr/lib/systemd/system/autofs.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2019-07-23 18:20:15 CEST; 1min 42s ago
  Process: 3614 ExecStart=/usr/bin/automount $OPTIONS --pid-file /run/autofs.pid (code=exited, status=0/SUCCESS)
 Main PID: 3618 (automount)
    Tasks: 5 (limit: 4915)
   Memory: 26.4M
   CGroup: /system.slice/autofs.service
           └─3618 /usr/bin/automount --pid-file /run/autofs.pid

juil. 23 18:20:15 e6230 systemd[1]: Starting Automounts filesystems on demand...
juil. 23 18:20:15 e6230 systemd[1]: Started Automounts filesystems on demand.

Pour la prise en compte autofs au démarrage

sudo systemctl enable autofs

Problème de démontage des partages NFS à l’extinction (a stop job is running for automounts file systems…) qui peut durer plusieurs minutes si l’ordinateur portable est connecté en Wifi.
Le service wpasupplicant (ou NetworkManager) est arrêté avant que les partages NFS ne soient démontés
Créer un “patch” pour le service wpa_supplicant
sudo systemctl edit wpa_supplicant.service

[Unit]
After=dbus.service

Redémarrer le service
sudo systemctl restart wpa_supplicant.service

SSHFS

SSHFS sert à monter sur son système de fichier, un autre système de fichier distant, à travers une connexion SSH, le tout avec des droits utilisateur.

sudo pacman -S sshfs 

Création des partages utilisés par sshfs

mkdir -p $HOME/vps/{cinay.xyz,yanfi.net,ouestline.net,yanspm.com}

Exemple de montage manuel
sshfs -oIdentityFile=<clé privée> utilisateur@domaine.tld:<dossier distant> <dossier local> -C -p <port si dfférent de 22>

Alternative A

AVANT de démarrer Firefox Nightly ou Firefox
Copier le dossier ~/.mozilla/firefox d’un poste existant (ex. PC1)

Dans le cas d’une copie issue de PC1, il faut modifier le lanceur de firefox
Menu → Internet →

  • clic droit sur icône Firefox , Modifier l’application
    • Nom : Firefox
    • Commentaire : Profil yan
    • Commande : /usr/lib/firefox/firefox -p yan
    • Puis cliquer sur Enregistrer

Vous pouvez ouvrir les navigateurs Firefox Nightly et Firefox

Alternative B

Si ecryptfs est installé , il faut lier le dossier .mozilla à Private

# en mode utilisateur
cd $HOME
mv .mozilla $HOME/Private/
ln -s $HOME/Private/.mozilla .mozilla

Il faut installer “Adobe Flash Plugin”

yaourt -S flashplugin

Préférences:

  • Au démarrage de firefox : Afficher une page vide
  • Moteur de recherche par défaut : DuckDuckGo
  • Vie privée : ne jamais conserver l’historique (firefox doit redémarré)

Modules –> Extensions:

  • Ghostery , Ublock Origin et TrackMeNot (nécessite un redémarrage firefox)

Ajout de moteur de recherche:
Qwant : rechercher dans “Modules” de firefox ,l’expression qwant fr. Sélectionner Qwant pour firefox , cliquer sur le bouton Install et il sera dans la liste des moteurs de recherche du navigateur.

Ixquick : Aller sur le lien https://www.ixquick.fr/fra et cliquer sur le bouton Ajouter à Firefox et il sera dans la liste des moteurs de recherche du navigateur.

Moteur de recherche à supprimer : Préférences → Recherche → Moteur de recherche
Décocher Yahoo ,Bing ,Portail Lexical

Client de messagerie - Thunderbird

Installation version française

sudo pacman -S thunderbird-i18n-fr

AVANT de démarrer Thunderbird
Copier le dossier ~/.thunderbird d’un poste existant (ex. PC1)
Synchroniser avec nextcloud :

  • dossier local ~/.thunderbird/jh45mk3.default/Mail/Local Folders
  • dossier distant Home/.Mail_Local_Folders

Vous pouvez démarrer le client de messagerie Thunderbird
Pour la prise en charge des modules , il faut aller sur Outils → Modules complémentaires :

  1. Désactiver les modules Cardbook, Firetray, ImportExportTools et Lightning
    • Redémarrer thunderbird
    • Réactiver les modules Cardbook, Firetray, ImportExportTools et Lightning
    • Redémarrer thunderbird

Attention le problème de langue du module Lightning n’est toujours pas réglé…

Lightning en français :

  • Thunderbird version >=60 → lightning version 6.2 → télécharger : cd ~/Private && wget https://ftp.mozilla.org/pub/calendar/lightning/candidates/6.2b6-candidates/build1/linux-x86_64/lightning-6.2b6.fr.xpi
  • Sur Thunderbird, aller sur Outils → Modules complémentaires et cliquer sur la fenêtre déroulante , petite roue (Outils pour tous les modules) → Installer un module depuis un fichier
  • Sélectionner le fichier lightning-6.2b6.fr.xpi , Ouvrir et Installer maintenant
  • Redémarrer maintenant pour la prise en charge

FireTray :

OpenVPN - GtkVpn

Il faut installer les paquets

yaourt -S openvpn libappindicator-gtk3

Installation gtkvpn

git clone https://gitea.yanspm.com/yannick/gtkvpn
cd gtkvpn
./install

Copie d’écran (Flameshot)

Flameshot c’est un peu THE TOOL pour faire des captures d’écrans

sudo pacman -S flameshot

Paramétrage “tableau de bord”
Texte alternatif

Lecteur interne de carte à puce

comment configurer votre système pour utiliser un lecteur de carte à puce

Installez ccid et opensc à partir des référentiels officiels

sudo pacman -S ccid opensc

Si le lecteur de carte ne dispose pas d’un clavier NIP, définissez enable_pinpad = false dans le fichier de configuration opensc /etc/opensc.conf

Remarque: Le paquet ccid fournit un pilote d’interface USB générique pour le lecteur de carte à puce. Si la carte à puce en question n’est pas prise en charge par le pilote générique , n’hésitez pas à installer le meilleur logiciel pour ce périphérique.

Démarrer le service pcscd.service

sudo systemctl start pcscd.service # démarrer

Conseil: Si vous obtenez le Failed to start pcscd.service: Unit pcscd.socket not found. erreur Failed to start pcscd.service: Unit pcscd.socket not found. , rechargez simplement les unités systemd avec cette commande systemctl daemon-reload

sudo systemctl status pcscd.service 

Rechercher un lecteur de carte

Installez pcsc-tools

sudo pacman -S pcsc-tools

et lancez l’utilitaire pcsc_scan , puis (connectez le lecteur de carte à puce si non interne) insérez une carte. Si vous voyez une sortie comme celle-ci, le lecteur de carte à puce ainsi que la carte ont été reconnus avec succès.

Mon Jul 29 14:43:50 2019
 Reader 0: Broadcom Corp 5880 [Contacted SmartCard] (0123456789ABCD) 00 00
  Event number: 2
  Card state: Card inserted, 
  ATR: 3B DA 18 FF 81 B1 FE 75 1F 03 00 31 C5 73 C0 01 40 00 90 00 0C

[...]
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B DA 18 FF 81 B1 FE 75 1F 03 00 31 C5 73 C0 01 40 00 90 00 0C
	OpenPGP Card V2

Activer le service pcscd.service

sudo systemctl enable pcscd.service # activer

Borgbackup - sauvegarde “Dell Latitude e6230” sur le serveur “xoyize.xyz” (srvxo/192.168.0.45)

  • Machine à sauvegarder : Portable Dell Latitude e6230
  • Machine qui stocke les sauvegardes : xoyize.xyz (srvxo/192.168.0.45)

Préparation de la machine à sauvegarder “Portable Dell Latitude e6230”

On se connecte sur le portable et on passe en mode su

sudo -s

Installer borgbackup

pacman -S borgbackup

Créer un jeu de clé sur "Portable Dell Latitude e6230"
Créer un utilisateur “borg” dédié aux sauvegardes par BorgBackup :

useradd borg

Générer un jeu de clé sur /root/.ssh

mkdir -p /root/.ssh
ssh-keygen -t ed25519 -o -a 100 -f /root/.ssh/dell_latitude_e6230

Le jeu de clé

ls /root/.ssh
    dell_latitude_e6230  dell_latitude_e6230.pub

Autoriser utilisateur borg à exécuter /usr/bin/borg uniquement

echo "borg ALL=NOPASSWD: /usr/bin/borg" >> /etc/sudoers

Préparation de la machine qui stocke les sauvegardes “xoyize.xyz”

Passer au paragraphe suivant si le serveur “xoyize” est initialisé

Commencer par installer Borg (Installation sur Debian Stretch avec les dépôts “backports”) et openssh-server si ça n’est pas déjà le cas.

Il est préférable de créer un utilisateur dédié aux sauvegardes :

root@shuttle # useradd borg --create-home --home-dir /srv/data/borg-backups/

Vous pouvez changer /srv/data/borg-backups/ pour n’importe quel emplacement où vous êtes susceptible d’avoir suffisamment d’espace disque.

Etape 2
Cet utilisateur n’a pas de mot de passe, nous nous y connecterons uniquement avec une clef SSH ; autorisons d’ailleurs la clef précédemment créée :

root@shuttle # mkdir -p /srv/data/borg-backups/.ssh
root@shuttle # cat >> /srv/data/borg-backups/.ssh/authorized_keys

Copier/coller le contenu du fichier de clef publique (situé sur dans /root/.ssh/<Nom_Clef>.pub de la machine à sauvegarder) dans ce terminal, et presser [Ctrl]+[D] pour valider.

La ligne ajoutée au fichier /srv/data/borg-backups/.ssh/authorized_keys devrait ressembler à quelque chose comme ça :

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIkJxw2etlizm8SxL+6XQVwln02Pw7uadlQMSp root@MachineAsauvegarder

Ajout clé publique sur la machine qui stocke les sauvegardes “xoyize.xyz”

Se connecter sur la machine xoyize.xyz en ssh et ajouter de la clé publique

sudo -s
mkdir -p /srv/data/borg-backups/.ssh
cat >> /srv/data/borg-backups/.ssh/authorized_keys

Copier/coller le contenu du fichier du fichier de clef publique (fichier /root/.ssh/dell_latitude_e6230.pub de la machine à sauvegarder ) dans ce terminal, et presser [Ctrl]+[D] pour valider.

Le dossier de base pour les sauvegardes sur le serveur xoyize.xyz : /srv/data/borg-backups/

Création dépôt et lancement des sauvegardes depuis la machine à sauvegarder “Dell Latitude e6230”

machine cliente "Dell Latitude e6230"
On se connecte sur la machine et on passe en mode su

sudo -s

Créer et sauvegarder une “passphrase”
La “passphrase” est une suite de 6 mots séparés par un espace

mkdir -p /root/.borg
nano /root/.borg/passphrase

Création du dépôt distant (A FAIRE UNE SEULE FOIS)

export BORG_RSH='ssh -i /root/.ssh/dell_latitude_e6230'
borg init --encryption=repokey-blake2 ssh://borg@xoyize.xyz:55035/srv/data/borg-backups/Dell_Latitude_e6230 
The authenticity of host '[xoyize.xyz]:55035 ([2a01:e34:eebf:df3::1]:55035)' can't be established.
ECDSA key fingerprint is SHA256:+GzOWS1At1azSUcJk6aiVWnq5oNJKX6/veIxNaxe4u0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Remote: Warning: Permanently added '[xoyize.xyz]:55035,[2a01:e34:eebf:df3::1]:55035' (ECDSA) to the list of known hosts.
Enter new passphrase: 
Enter same passphrase again: 
Do you want your passphrase to be displayed for verification? [yN]: 

By default repositories initialized with this version will produce security
errors if written to with an older version (up to and including Borg 1.0.8).

If you want to use these older versions, you can disable the check by running:
borg upgrade --disable-tam ssh://borg@xoyize.xyz:55035/srv/data/borg-backups/Dell_Latitude_e6230

See https://borgbackup.readthedocs.io/en/stable/changes.html#pre-1-0-9-manifest-spoofing-vulnerability for details about the security implications.

IMPORTANT: you will need both KEY AND PASSPHRASE to access this repo!
Use "borg key export" to export the key, optionally in printable format.
Write down the passphrase. Store both at safe place(s).

Générer une sauvegarde d’un dossier local vers le dépôt distant (exemple)

borg create ssh://borg@xoyize.xyz:55035/srv/data/borg-backups/Dell_Latitude_e6230::2019-01-11 /home/yann
Enter passphrase for key ssh://borg@xoyize.xyz:55035/srv/data/borg-backups/yanfi.net: 

Automatiser la procédure de sauvegarde pour le “Portable Dell Latitude e6230”

Création du bash

nano /root/.borg/borg-backup # Pour lancement à une heure précise ,après création on exécute crontab -e
#!/bin/sh
#
# Script de sauvegarde.
#
# Envoie les sauvegardes sur un serveur distant, via le programme Borg.
# Les sauvegardes sont chiffrées
#
 
set -e
 
BACKUP_DATE=`date +%Y-%m-%d-%Hh%M`
LOG_PATH=/var/log/borg-backup.log
 
export BORG_PASSPHRASE="`cat ~root/.borg/passphrase`"
export BORG_RSH='ssh -i /root/.ssh/dell_latitude_e6230'
BORG_REPOSITORY=ssh://borg@xoyize.xyz:55035/srv/data/borg-backups/Dell_Latitude_e6230
BORG_ARCHIVE=${BORG_REPOSITORY}::${BACKUP_DATE}
 
borg create \
-v --stats --compression lzma,9 \
--exclude-caches --progress \
$BORG_ARCHIVE \
/bin /data /etc /images /lib64 /opt /root /sbin /usr \
/boot /home /lib /srv /var
 \
>> ${LOG_PATH} 2>&1
 
# Nettoyage des anciens backups
# On conserve
# - une archive par jour les 7 derniers jours,
# - une archive par semaine pour les 4 dernières semaines,
# - une archive par mois pour les 6 derniers mois.
 
borg prune \
-v --list --stats --keep-daily=7 --keep-weekly=4 --keep-monthly=6 \
$BORG_REPOSITORY \
>> ${LOG_PATH} 2>&1

Le rendre exécutable

chmod +x /root/.borg/borg-backup

Programmer la tâche à 2h30 du matin (Utile pour un serveur mais pas pour un portable)

crontab -e
# Sauvegarde sur distant avec BorgBackup
30 02 * * * /root/.borg/borg-backup > /dev/null

Développement

Editeurs IDE html, javascript, markdown et python

Editeur html, javascript, css, etc…

sudo pacman  bluefish

Editeur + viewer markdown

sudo pacman  retext

IDE Python

yaourt -S wingide-personal # Wing Personal is a free Python IDE designed for students and hobbyists

Adb (android-tools)

Connecter l’appareil android sur l’ordinateur via le cordon USB
Lancer le serveur sudo adb start-server
Une demande d’autorisation d’accès doit être validée sur le smartphone android
Reconnaissance de l’appareil android

adb devices
List of devices attached
d55de0a3   device

Appareil connecté avec toutes les autorisations

Blackarch Linux

distribution de tests de pénétration basée sur Arch Linux qui fournit un grand nombre d’outils de cybersécurité

Installer le dépôt “blackarch”
Exécuter strap.sh en tant que root et suivez les instructions suivantes :

curl -O https://blackarch.org/strap.sh
sha1sum strap.sh # doit être egal à 9f770789df3b7803105e5fbc19212889674cd503
chmod +x strap.sh
sudo ./strap.sh

Mettez ensuite à jour la liste des paquets en exécutant :

sudo pacman -Syyu

les cas d’utilisation de base.

  • Télécharger, compiler et installer un paquet :
    sudo blackman -i paquet
  • Télécharger, compiler et installer un groupe entier :
    sudo blackman -g groupe
  • Télécharger, compiler et installer tous les outils BlackArch :
    sudo blackman -a
  • Lister les catégories disponibles :
    blackman -l
  • Lister les outils d’une catégorie :
    blackman -p category

Dell Latitude e6230 activation RFID-NFC (Broadcom 5880)

Article original :
Enabling Dell Latitude RFID/NFC (Broadcom 5880)

À propos de la solution de sécurité Dell

Icône RFID de Dell sur le repose-mains Latitude E7240

Les ordinateurs Dell Latitude que j’utilise, E7240 E6230 et E6530, affichent une icône sur le repose-mains indiquant qu’un lecteur sans contact (NFC / RFID) est présent. Cependant, dans le système d’exploitation, rien ne le montre. PCSC reconnaît le lecteur “Contacté”(Contacted), mais pas le “sans contact”(Contactless).

pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: Broadcom Corp 5880 [Contacted SmartCard] (0123456789ABCD) 00 00

Dans cet article, je vais montrer les étapes à suivre pour inclure …

1: Broadcom Corp 5880 [Contactless SmartCard] (0123456789ABCD) 01 00

Il semble que Dell ait coopéré avec Broadcom et créé une solution de sécurité appelée ControlVault pour le Broadcom Unified Security Hub (USH). Il s’agit d’une solution OEM exclusivement proposée par Dell.

Outils de support DOS du package de support ControlVault

Heureusement, dans certains packages de prise en charge Windows destinés uniquement à la mise à niveau du micrologiciel Dell ControlVault fournis sur la page de support du modèle Latitude, j’ai repéré un document intéressant portant la mention «confidentiel» - à propos de l’utilisation de cet outil de diagnostic USH, ainsi qu’un outil plus récent, ushdiag.exe lui-même!

Quelques premières étapes de préparation:

  1. Téléchargez le package de mise à niveau de ControlVault, CV_WBF_Setup_Y2GT8_64bit_ZPE.exe
  2. Renommez le fichier pour qu’il porte l’extension .zip .
  3. Décompressez-le.
  4. Notez un dossier DOS dans le répertoire /Dell ControlVault WBF Firmware/
      DOS
     ├── DOS4GW.EXE
     ├── dosushdiag.pdf <- "Document d'architecture de clavier USH Broadcom"
     ├── errlvl.exe
     ├── release.txt
     ├── sleep.exe
     ├── ushdiag.exe <- là!
     └── ushfwumg.bat

Outil de diagnostic USH Broadcom

Ce fichier PDF de Broadcom explique l’utilisation de l’outil ushdiag.exe .
Le plus important est les options à fournir.

5.22 Device Enable (-de <devMask>)
This command will enable the specified devices.

<devMask>:

0: Smart Card:
1: Fingerprint:
2: RFID radio
3: CV Only Radio


5.23 Device Disable (-dd <devMask>)
This command will disable the specified devices.

<devMask>:

0: Smart Card:
1: Fingerprint:
2: RFID radio
3: CV Only Radio

Lancer le lecteur flash USB DOS

Procédure :

  1. Téléchargez la dernière version du programme d’installation USB à partir de la page de téléchargement gratuit de FreeDOS
  2. Extraire l’archive, vous obtenez un fichier.img
  3. Déterminez de quel périphérique /dev/sdX est votre clé USB (utilisez fdisk -l pu dmesg)
  4. Ecrire l’image directement sur le périphérique bloc :
    dd if=FD12FULL.img of=/dev/sdX status=progress (où X est la lettre représentant votre clé USB en tant que périphérique bloc, ne pas écrire l’image sur une partition)
  5. Vérifiez deux fois que la copie de l’image a fonctionné :
    • fdisk -l (vous devriez voir une partition unique sur un disque DOS avec l’option bootable (“boot”) activée)
  6. Montez la partition
    • Effacer le dossier /FDSETUP/PACKAGES/ sur la clé pour récupérer de la place
    • Copier les 2 fichiers suivants
      • sudo cp DOS/ushdiag.exe /mnt/usb/USHDIAG.EXE
      • sudo cp DOS/DOS4GW.EXE /mnt/usb/ de matériel.
  7. Démonter et redémarrer. Faites le nécessaire (BIOS) pour démarrer à partir de la clé USB

Vous vous retrouverez maintenant dans l’environnement d’installation en direct de FreeDOS.

  1. Sélectionnez votre langue
  2. Vous serez invité à installer FreeDOS
    • Sélectionnez “Non - Retour au DOS”.
  3. Vous devriez voir une invite (C:>)
  4. Exécutez dir et vérifiez la présence des exécutables DOS4GW.EXE et USHDIAG.EXE

Vérifiez l’état actuel du périphérique USH:

FreeDOS C:\>ushdiag.exe -u -stat
[...]
Smart Card: Present; Enabled
Fingerprint: Present; Enabled
RFID Radio: Present; Enabled
RFID Lock: Disabled
CV Only Radio: Enabled
RFID AutoDetect Set
RFID Present Not Forced
WBDI: Enabled
RFID Block Mode: Unknown (CV Only Radio Mode Enabled)

Comme vous pouvez le constater, le mode CV uniquement est activé.

Désactivez maintenant le périphérique “CV-only” pour permettre un accès RFID CCID normal en fournissant un masque hexadécimal 8 . Cela provient du document trouvé précédemment en envoyant une commande de désactivation sur le champ de bits 3.

FreeDOS C:\>ushdiag.exe -u -dd 8
[...]
Disabled CV Only Radio Mode. waiting for USH to reset
[...]
RFID Lock: Disabled
CV Only Radio: Disabled
[...]

Redémarrez votre système et profitez du NFC/RFID !

pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: Broadcom Corp 5880 [Contacted SmartCard] (0123456789ABCD) 00 00
1: Broadcom Corp 5880 [Contactless SmartCard] (0123456789ABCD) 01 00

Le lecteur NFC “Contactless Smartcard” est actif .

SYNTHESE - nextcloud, liens, fstab

Nextcloud

Serveur nextcloud https://cinay.xyz/nextcloud
Créer les dossiers et le lien avant la synchronisation

# dossiers
mkdir -p $HOME/{scripts,Notes}
sudo mkdir -p /data/{dplus,yanspm-md}
sudo mkdir -p /data/dplus/{statique,python-dev}
sudo chown $USER.users -R /data/{dplus,yanspm-md}
# liens
sudo ln -s /data $HOME/media
Type Local Distant Commentaire
nextcloud ~/Private .private dossier privé non crypté
nextcloud ~/.keepassx Home/.keepassx gestionnaire mot de passe
nextcloud ~/.thunderbird/b48ri75c.default/Mail/Local Folders Home/Mail_Local_Folders dossier local messagerie
nextcloud ~/scripts Home/scripts dossiers des scripts
nextcloud ~/Notes Notes notes markdown
nextcloud ~/media/dplus/statique Home/statique markdown , images et fichiers serveur
nextcloud ~/media/dplus/python-dev Home/python-dev développement python
nextcloud ~/media/yanspm-md Home/yanspm-md markdown , images et fichiers dev

liens

  • Liens pour les fichiers et images du site statique (pour visualiser les images et liens fichier avec éditeur Retext)
    • /filessudo ln -s /data/dplus/statique/files /files
    • /imagessudo ln -s /data/dplus/statique/images /images
  • Lien pour le dossier de virtualisation VirtualBox et KVM/Qemu
    • ~/virtuelsudo ln -s /data/virtuel $HOME/virtuel
  • Liens pour les scripts , rendre exécutable le dossier et fichiers sudo chmod +x -R $HOME/scripts/
    • Liste et montage des sauvegardes borgbackup
      • borglist : → sudo ln -s $HOME/scripts/borglist /usr/local/bin/borglist
      • borgmount : → sudo ln -s $HOME/scripts/borgmount /usr/local/bin/borgmount
    • Générateur de code TOTP
      • otp : → sudo ln -s $HOME/scripts/generer-code-2fa-vers-presse-papier-toutes-les-30s.sh /usr/local/bin/otp
    • Afficher les liens inexistants pour le tag “post_url” des fichiers .md
      Premier paramètre : le nom du répertoire (ex: /le dossier/),Second paramètre (facultatif) : A ou a pour tout afficher
      • posturl : → sudo ln -s $HOME/scripts/posturl /usr/local/bin/posturl
    • Gestionnaire des connexions SSH
      • sshm : → sudo ln -s $HOME/scripts/ssh-manager.sh /usr/local/bin/sshm
    • Liste, ARRET/DEMARRAGE des machines virtuelles VirtualBox
      • ssvbox : → sudo ln -s $HOME/scripts/ssvbox /usr/local/bin/ssvbox
    • Multi fenêtre des connexions SSH avec “tmux”
      • tmuxssh : → sudo ln -s $HOME/scripts/tmux-ssd.sh /usr/local/bin/tmuxssh
    • Traduction page internet
      • traduc : → sudo ln -s $HOME/scripts/traduction-page-internet /usr/local/bin/traduc
    • Réduire la taille d’un fichier PDF
      • pdfdim : → sudo ln -s $HOME/media/dplus/python-dev/scripts/diminuer_taille_pdf.py pdfdim
    • Mise à jour des serveurs Debian VPS distants
      • majsrv : → sudo ln -s $HOME/scripts/maj-des-serveurs-distants-Debian.sh majsrv
    • Visualiser en “live” le fichier log “jekyll” sur le serveur cinay.xyz
      • jekyll : → sudo ln -s $HOME/scripts/analyse-status-jekyll.service-sur-cinay.xyz.sh jekyll
  • Liens accessibles UNIQUEMENT si le Portable Dell Latitude e6230 est dans le réseau local 192.168.0.0/24 (auto NFS)
    • Lien dossier sauvegarde borgbackup sur le serveur local xoyize.xyz IP 192.168.0.45
      • ~/nfs-borg-backupssudo ln -s /net/srvxo/srv/data/borg-backups $HOME/nfs-borg-backups
    • Lien dossier développement
      • ~/develsudo ln -s /net/srvxo/srv/data/devel $HOME/devel