Parfois, en tant qu'administrateurs, nous devons partager rapidement des fichiers entre les systèmes. Pour une raison quelconque, nous devons obtenir un seul tar
ou conf
fichier d'un système à un autre, ou peut-être copier un groupe de fichiers entre les systèmes. Nous constatons que nous devons installer un package ou un utilitaire pour partager les fichiers, ou nous devons peut-être activer une fonctionnalité pour partager le contenu. Quelle que soit la situation, nous pouvons utiliser le SimpleHTTPServer
de Python module en tant que serveur Web rapide.
Python -m SimpleHTTPServer
Le SimpleHTTPServer
module est un module Python qui permet à un développeur de jeter les bases du développement d'un serveur Web. Cependant, en tant qu'administrateurs système, nous pouvons utiliser le module pour servir des fichiers à partir d'un répertoire.
Utilisation
Python doit être installé pour utiliser le SimpleHTTPServer
module. Python peut être installé en tant que dépendance d'une application ou d'un service déjà en cours d'exécution sur le système. Exécutez python -V
pour vérifier sa présence. Pour utiliser le module à nos fins, exécutez la commande suivante à partir du répertoire contenant les fichiers que nous voulons partager :
python -m SimpleHTTPServer
* Remarque :Le module a été renommé http.server
en python3
Le module charge et sert tous les fichiers du répertoire sur le port 8000 par défaut.

Depuis le système distant, accédez à http://<ip>
à l'aide du navigateur de votre choix. Une liste de répertoires s'affichera dans laquelle vous pourrez ouvrir ou télécharger n'importe quel fichier.

Une autre option consiste à utiliser wget
ou curl
pour télécharger les fichiers sur le système distant.
wget http://<ip>:8000/filename
curl http://<ip>:8000/filename
Ce simple serveur HTTP local est un joli petit utilitaire à utiliser lorsque vous avez besoin de transférer rapidement des fichiers entre les systèmes.
Cas d'utilisation
Cette astuce ne remplace pas les solutions d'hébergement de fichiers réelles dans les environnements professionnels. Le SimpleHTTPServer
Le module est en fait un outil de développement utilisé comme outil de cadre pour jeter les bases d'un serveur Web complet avec toutes les fonctionnalités de sécurité nécessaires incluses. Cependant, nous pouvons utiliser le module à nos fins pour :
- Servez rapidement les fichiers de démarrage en un clin d'œil :copiez le fichier
/root/anaconda-ks.cfg
ou/root/original-ks.cfg
dans un dossier et servir avecpython -m SimpleHTTPServer
. Modifiez la configuration grub au démarrage, et c'est parti. - Partager un fichier vers/depuis une VM :copiez un fichier dans un dossier et servez-le avec
python -m SimpleHTTPServer
. - Servir un fichier sur un port autorisé du pare-feu - Copier un fichier dans un dossier et le servir avec
python -m SimpleHTTPServer port
Autres possibilités
Vous pouvez également utiliser un while
boucle avec ncat
ou /dev/tcp/host/port
pour le transport… mais c'est un autre article. J'espère que vous trouverez cette option utile dans votre boîte à outils.
Pièges
Vous devrez peut-être ouvrir des ports dans votre pare-feu :
# firewall-cmd --add-port=portnumber/tcp
[ Télécharger maintenant :Un guide de l'administrateur système sur les scripts Bash. ]