Accueil » Systèmes » Page 33
Lsof (List Open file) est une commande Unix/Linux qui permet de lister les fichiers actuellement ouverts sur le système.
Utilisation de commande lsof :
lsof /chemin/d'un/fichier (pour voir qui ou quoi ouvre actuellement le fichier)
lsof +D /chemin/répertoire/ (pour voir qui ou quoi ouvre actuellement les fichiers d'un répertoire )
lsof -i (tous services internet TCP/UDP)
lsof -i tcp (tous services TCP)
lsof -i udp (tous services UDP)
lsof -i tcp:80 (services TCP sur port 80)
lsof -i @192.168.2.10 (liaison internet de mon poste avec 192.168.2.10)
Afficher les fichiers ouverts par un processus (uid):
lsof -p 75014
Afficher les connexions internet ouvertes par un processus :
lsof -i -p 75014
Pour connaître tous les ports réseau ouvert par le processus qui a le pid 75014 (-a est interprété comme AND)
lsof -i -a -p 75014
La forme suivante de la commande permet de connaître tous les fichiers ouverts par l’utilisateur starmate:
lsof -u starmate
La même chose mais cette fois cela concerne tous les utilisateurs sauf starmate:
lsof -u ^starmate
L’option « -t » permet de retourner dans la sortie standard uniquement l’uid du/des processus ouvrant le/les fichier(s), il est simple par la suite de l’exploiter avec une petite boucle:
for i in `lsof -t -u starmate`; do kill -9 $i; done
Pour identifier les processus en cours d’exécution qui ont gardés ouvert des fichiers qui ont été supprimés:
lsof +L1
Les processus qui n’ont pas libérés les fichiers supprimés sont identifiés avec l’argument (deleted) en fin de ligne.
Avec la commande pkill qui facilite la vie, et évite de devoir copier/coller les pid des processus un par un.
Pour tuer tous les processus de l’utilisateur starmate:
pkill -u starmate
Si vous avez besoin de stopper le défilement de votre terminal (figer la sortie standard) voici la solution :
Ctrl+s
Pour réactiver le défilement:
Ctrl+q
ça fonctionne aussi avec la commande top, ou tail et avec toute autre commande de ce type d’ailleurs.
Méthode « SystemV »
Si jamais vous perdez le mot de passe root de MySQL, pas de panique, on peux le réinitialiser facilement en démarrant MySQL en mode « safe ». On pourra se connecter en root sans mot de passe, ce qui nous permettra de la changer facilement (vu que l’on est root) dans la table «user».
On commence par arrêter le démon mysql:
etc/init.d/mysql stop
Maintenant on va relancer le MySQL en mode « safe » (mysqld_safe) sans charger la table des droits (–skip-grant-tables), le tout en arrière plan:
mysqld_safe --skip-grant-tables &
On va pouvoir maintenant se connecter en tant que root et sélectionner la base de données « mysql » :
mysql -u root mysql
Ici, on va modifier la table user (pour lister les tables faire « show tables ; ») pour changer le mot de passe de root:
update user set password=PASSWORD("NOUVEAU_MDP") where User='root';
Puis on recharge les droits:
flush privileges;
quit
Il ne reste plus qu’a redémarrer MySQL en normal:
/etc/init.d/mysql start
Voila c’est terminé, votre nouveau mot de passe est fonctionnel.
Méthode Systemd
Systemd gère le lancement des services sous Linux d’une façon differente que SystemV.
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl restart mariadb
Ce mode permet une connexion à root sans demande de mot de passe.
Il faut maintenant réinitialiser le mot de passe, pour cela nous passons par la commande:
mysql_secure_installation
Une fois que cela est fait, nous relancons le service avec le bon mode:
vous reste plus qu’à redémarrer le service MySQL / MariaDB :
systemctl unset-environment MYSQLD_OPTS
systemctl restart mariadb
Pour copier le fichier /home/starmate/message.txt de la machine Starwold dans mon répertoire courant:
scp starmate@starworld:/home/starmate/message.txt .
Pour déposer le fichier messages.txt sur la machine Starwold dans /home/starmate/:
scp message.txt starmate@starworld:/home/starmate/
Pour déposer le répertoire Messages sur la machine Starwold dans /home/starmate/:
scp -r Messages starmate@starworld:/home/starmate/
Pour copier un fichier d’un ordinateur vers un autre tout en étant sur un troisième ordinateur:
scp starmate@starworld:/home/starmate/message.txt lamnam@starfky:home/lamnam/
Pour changer le port SSH si le port par défaut a été changé (22):
scp -P 1234 message.txt starmate@starworld:/home/starmate/