107 lines
2.8 KiB
Markdown
107 lines
2.8 KiB
Markdown
# smbmount
|
||
|
||
`smbmount` est un script Bash pour monter facilement des partages SMB, avec complétion dynamique basée sur la découverte réseau via Avahi ou smbtree.
|
||
|
||
---
|
||
|
||
## Fonctionnalités
|
||
|
||
* Montage de partages SMB via plusieurs méthodes :
|
||
|
||
* Découverte SMBTREE (`-s`)
|
||
* Découverte Avahi + `smbclient` (`-a` ou `-A <nom_serveur>`)
|
||
* Montage direct via adresse IP (`-i <IP>`)
|
||
* Mode démontage (`-u`)
|
||
* Gestion des mots de passe via `secret-tool` (GNOME Keyring)
|
||
* Complétion dynamique des serveurs SMB
|
||
* Installation flexible en mode système ou utilisateur
|
||
|
||
---
|
||
|
||
## Prérequis et dépendances
|
||
|
||
Pour Debian / Ubuntu, installe les paquets suivants :
|
||
|
||
```bash
|
||
sudo apt-get update
|
||
sudo apt-get install -y avahi-utils smbclient cifs-utils secret-tool bash-completion
|
||
```
|
||
|
||
* `avahi-utils` : outil `avahi-browse` pour découvrir les services SMB sur le réseau.
|
||
* `smbclient` : client SMB/CIFS en ligne de commande, utilisé pour lister les partages.
|
||
* `cifs-utils` : fournit la commande `mount.cifs` pour monter les partages SMB.
|
||
* `secret-tool` : interface avec le trousseau GNOME pour stocker et récupérer les mots de passe.
|
||
* `bash-completion` : améliore la complétion Bash, nécessaire pour la complétion dynamique.
|
||
|
||
---
|
||
|
||
## Installation
|
||
|
||
Le `Makefile` gère à la fois l’installation système avec la personnalisation du préfixe **et** le fallback utilisateur :
|
||
|
||
```bash
|
||
make install [PREFIX=/chemin/personnalisé]
|
||
```
|
||
|
||
* **Sans préciser `PREFIX`**, `/usr/local` est utilisé par défaut :
|
||
|
||
* Script → `/usr/local/bin/`
|
||
* Complétion → `/etc/bash_completion.d/`
|
||
|
||
* **Avec `PREFIX`**, l’installation se fait sous :
|
||
|
||
* Script → `${PREFIX}/bin/`
|
||
* Complétion → `/etc/bash_completion.d/`
|
||
|
||
* Si vous n’avez pas les droits d’écriture dans `${PREFIX}/bin` **et** `/etc/bash_completion.d`, l’installation bascule automatiquement en **mode utilisateur** :
|
||
|
||
* Script → `~/.local/bin/`
|
||
* Complétion → `~/.bash_completion.d/`
|
||
|
||
---
|
||
|
||
En installation utilisateur, n’oubliez pas d’ajouter dans votre `~/.bashrc` :
|
||
|
||
```bash
|
||
export PATH="$HOME/.local/bin:$PATH"
|
||
[ -f "$HOME/.bash_completion.d/smbmount" ] && source "$HOME/.bash_completion.d/smbmount"
|
||
```
|
||
|
||
Puis rechargez votre shell :
|
||
|
||
```bash
|
||
source ~/.bashrc
|
||
```
|
||
|
||
---
|
||
|
||
## Désinstallation
|
||
|
||
Pour supprimer l’installation (mode système ou utilisateur), lance :
|
||
|
||
```bash
|
||
make uninstall
|
||
```
|
||
|
||
---
|
||
|
||
## Utilisation
|
||
|
||
```bash
|
||
smbmount -s # Découverte et montage avec smbtree
|
||
smbmount -a # Découverte et montage avec Avahi + smbclient
|
||
smbmount -A nom_serveur # Montage direct avec nom serveur Avahi
|
||
smbmount -i adresse_ip # Montage direct via IP
|
||
smbmount -u # Démontage interactif des partages montés
|
||
```
|
||
|
||
---
|
||
|
||
## Aide
|
||
|
||
```bash
|
||
smbmount
|
||
```
|
||
|
||
Affiche l’aide rapide avec les options disponibles.
|