Archives de catégorie : ligne de commande

Le p’tit truc qui peut faire gagner du temps ou une fonctionnalité.

Extension de VMDK sous linux, déport d’affichage, XMing

xming_logoRécemment je devais agrandir un disque virtuel (VMDK) d’une machine Debian virtuelle tournant sous VMWARE ESXi.
Le cas de figure facile : un disque de données que je peux démonter en live, trifouiller, agrandir et remonter sur le système. Par opposition au cas où c’est un disque/partition utilisé par le système : /, /var etc.

Sauf que d’habitude, arrivé à l’étape avec l’outil parted, ça se passe bien, je peux agrandir. Ben pas là. J’en suis venu à gparted car lui fait ce qu’il faut pour contourner le problème. Ca m’a évité des lignes de commandes tordues (certainement avec tune2fs ou debug2fs) et un risque certain de foirer mon disque, aussi virtuel soit-il… Continuer la lecture

commandes mal foutues type sqlplus : comment rappeler de l’historique ?

bash-iconeQuoi de plus pénible qu’un outil en ligne de commande qui ne permet pas de rappeler les commandes déjà tapées ?

J’ai découvert l’outil rlwrap (readline wrapper).

Je n’ai pas testé pour beaucoup d’outils, mais pour sqlplus (client Oracle), ça marche, et ça, c’est bon !!!

Il suffit de l’installer, et tant qu’à faire, d’automatiser l’encapsulation par cet outil de vos outils ligness de commande préférés.

Ca donne :

# aptitude install rlwrap
# cat >> ~/.bashrc
mon_sqlplus() {
rlwrap sqlplus "$@" ;
}
alias sqlplus=mon_sqlplus
CTRL-D pour finir la saisie dans .bashrc

Relogguez-vous et testez : lorsque vous appelez sqlplus, ça appelle rlwrap sqlplus < mêmes arguments > et les flèches du haut/bas fonctionnent, ainsi que celles de gauche et droite
Yeah !!!

psexec sous Linux ? winexe

Cet article décrit bien la mise en place de l’outil winexe (à compiler à la main) et fournissant un équivalent de psexec (de sysinternals) sous Linux, permettant ainsi d’exécuter des commandes sur des hôtes Windows depuis un Linux en s’authentifiant sur le domaine Windows.

Ca peut permettre de scripter de belles choses pour automatiser un peu du Windows. Dans mon cas, ça permet aussi de déclencher des impressions à distance pour un besoin particulier.

Je voudrais juste amender l’article cité précédemment pour apporter des précisions sur la compilation en 64 bits et sur l’utilisation un peu plus poussée que l’éternel « cmd » ou « ipconfig » à distance. Continuer la lecture

Cloud, sauvegarder ses données……. et le faire soi-même

unisonDécidément, 2 articles le même jour, c’est la fête.
Je m’étais fendu il y a quelques temps d’un test de OwnCloud. Déçu déçu déçu, un outil pas utilisable à l’époque de la version 4, car l’agent était plus que mauvais et la synchro disait OK alors même qu’une palanquée de fichiers pouvait être envoyée et occuper sur le serveur…. 0 octet. Ca et d’autres bugs faisaient qu’on ne pouvait pas compter dessus, ce n’est pas fiable.
Les choses auront peut-être évolué depuis, mais quand bien même, une synchro immédiate, finalement ça ne me plait pas. Car on synchronise immédiatement les erreurs avec.
Bref. Pour sauvegarder mes données cryptées (par truecrypt) que je traîne d’un PC à l’autre, il me fallait une solution maison.
J’utilisais bien un peu Unison en mode graphique, mais c’est une plaie (lourd, foireux sur Windows etc). Finalement, j’ai réglé le problème en utilisant Unison – qui reste un superbe outil – mais en mode texte. Et là, bonheur. Continuer la lecture

windows 7 : donner quelques permissions sur les services à un utilisateur non-admin

Bon, ce fut long et pénible pour réussir à faire un truc simple avec ce joli Windows Seven : « permettre à un utilisateur sans droit de relancer un service », en l’occurrence « PS3 Media Server » que je tente d’héberger sur un Windows plutôt qu’un Linux pour de sombres raisons. Donc je me fais un aide-mémoire qui servira à d’autres et à d’autres cas similaires j’en suis sûr.
Bien sûr, hors de question de faire sauter l’UAC (User Access Control = popup casse-pied pour dire « oui je veux être admin ») et encore moins donner les droits admin à un compte qui ne l’est pas, ni le pass de l’admin. Juste pour rallumer un service, ce serait trop. Continuer la lecture

SFTP : mot de passe en ligne de commande

Petit souci du jour : utiliser sftp en ligne de commande, avec un mot de passe, en mode batch, MAIS sans passer par une authentification par clef. Sachant que sftp n’accepte pas de mot de passe en ligne de commande (ni via une redirection depuis STDIN).

Pourquoi donc me direz-vous ? simplement parce-que dans l’éventualité où faire bouger le prestataire en face de vous (celui qui héberge le serveur SSH) coûterait trop d’énergie, on va supposer qu’on ne peut pas facilement faire avaler notre clef publique à l’hébergeur du serveur SSH.

Bref, la commande traditionnelle est :

sftp utilisateur@serveur
Connecting to serveur...
utilisateur@serveur's password:
sftp>

J’ai trouvé une méthode simple : utiliser le client SFTP de « PuTTY ».
Je pensais au départ utiliser celui de « lftp » et sauvegarder ma connexion (avec mot de passe) en bookmark, mais comme mon login dans l’histoire est un utilisateur de domaine windows (ouais, le serveur SSH en face est sous windows O_o), y’a un \ dans le login et même en le doublant, lftp semble mal le digérer, ben j’étais aussi bloqué.

Bref, en installant les outils de PuTTY :

aptitude install putty-tools

On peut alors taper :

psftp -pw mon_pass utilisateur@serveur
Using username "utilisateur".
Remote working directory is /
psftp>

Attention : le mot de passe est en clair dans la ligne de commande, donc dans les processus etc etc. Donc c’est pas idéal comme condition.
Enfin, je n’ai pas mis le paramètre -b pour mon batch, car ce n’est pas le propos là.

Montage NTFS et CIFS en fstab

Ca peut s’avérer pratique parfois, et lors d’une automatisation d’un traitement quelconque, carrément indispensable. Voici un rapide aide-mémoire pour déclarer en /etc/fstab des montages CIFS (montage de répertoires partagés Windows via Samba) et NTFS (des partitions, disques USB etc, mais en lecture/écriture, pas lecture seule).

D’abord, s’assurer que vous avez le paquet ntfs-3g (si besoin d’écriture sur le disque/partition NTFS) et le paquet smbfs (Samba FileSystem) pour les partages CIFS.

Vous pouvez tester facilement avec des commandes genre mount -t cifs ou mount -t ntfs-3g. Dans le cas du CIFS, il y a certaines options à passer, notamment l’utilisateur, le domaine etc. C’est presque plus simple dans /etc/fstab.

Bref, voici la chose illustrée par l’exemple :

srv:/etc# cat fstab
###
# blabla habituel
### puis :
//srvwin1/partage1      /mnt/srv1prt1      cifs    uid=root,credentials=/etc/cifs.credentials,domain=MONDOM 0 0
//srvwin1/partage2      /mnt/srv1prt2      cifs    uid=root,credentials=/etc/cifs.credentials,domain=MONDOM 0 0
//srvwin2/blabla1       /mnt/srv2prt1      cifs    uid=root,credentials=/etc/cifs.credentials,domain=MONDOM 0 0
/dev/sdb1               /mnt/usbsdb1       ntfs-3g defaults,locale=fr_FR.utf8 0 0

Dans cet exemple tout simple, on monte 3 partages CIFS, mappé sur l’utilisateur root de la machine linux, en se signant avec les informations contenues dans /etc/cifs.credentials (ci-dessous) sur le domaine NT « MONDOM ».
Et dans /mnt/usbsdb1, on monte un disque USB (ou SCSI ou SATA d’ailleurs), en NTFS lecture/écriture.

Ensuite, de simples « mount /mnt/celui_que_vous_voulez » pour monter.

Le contenu de /etc/cifs.credentials est de la forme :

username=mon_login_windows
password=mon_p4ss

Il peut évidemment être différent pour chaque montage. Pensez à le protéger (chmod 600 /etc/cifs.credentials)

Monter un serveur NTP, configurer les clients Windows et Linux

Bon, un p’tit billet aide-mémoire sur la configuration d’un serveur NTP Linux et des postes Windows et Linux de votre LAN.
C’est un sujet tout bête, mais entre les postes Windows qui ne sont pas très bavards à ce sujet et l’amalgame, côté Linux, entre les paquets ntp et ntpdate utilisant ou pas des fichiers communs de conf, on peut être momentanément perdu. J’espère être clair par la suite. Continuer la lecture

Limiter la bande passante entre 2 hosts (dont l’un en Linux)

Dans la série aide-mémoire.
Imaginez : approbation d’une tonne de patchs de sécurité Windows en retard sur un WSUS avec des réplicats. Immédiatement, il commence à downloader, via un proxy Squid sous Linux, donc via une machine Linux.
Et là, votre bande passante est réduite à de la poussière car WSUS, via le proxy, pompe tout, à fond.
Raaaaaaaaaa. M’énerve.

Vite, iptables doit pouvoir m’aider. Je suis une buse en QoS, mais bon, j’ai confiance en Google 🙂 Continuer la lecture

netcat : je « déTAR » d’une machine vers l’autre

« déTAR » à distance

Pense-bête : j’ai un gros .tar sur un serveur, je dois l’extraire sur un autre serveur. MAIS, sur cet autre serveur, je n’ai pas la place pour récupérer le .tar puis le décompresser, c’est-à-dire stocker deux fois en terme d’espace.
Donc j’utilise netcat pour faire un « pipe » entre commande d’une machine à l’autre.

Une fois le programme netcat installé, peu importe par quel biais, et en considérant que vous n’avez pas de restriction réseau entre les 2 machines (sinon ouvrez le port ci-dessous en UDP), vous faites ceci : Continuer la lecture