Catégorie : Solaris

8 décembre 2015 /

La commande exportfs est utilisée pour la gestion de la table des partages NFS. Cette table est enregistrée dans un fichier spécifique nommé /var/lib/nfs/xtab. Ce fichier est  lu par  mountd  dès qu’un client distant demande l’accès au montage.

Pour partager ou interrompre le partage de tous les répertoires:

exportfs -a

Pour ne pas tenir compte du fichier /etc/exports, de façon que les options par défaut ou celles données sur la  ligne  de  commande soient utilisées.

Pour ignorer le fichier /etc/exportfs:

exportfs -i

Pour relancer  le  partage de tous les répertoires. /var/lib/nfs/etab est synchronisé avec /etc/exports. Les entrées qui  ont  disparu de  /etc/exports seront supprimées de /var/lib/nfs/etab. Dans la table des partages du  noyau,  les  entrées  qui  ne  sont  plus valables seront également enlevées.

Relancer  le  partage de tous les répertoires:

exportfs -r

Lors d’un partage ou  de  l’arrêt  d’un  partage, afficher  ce  qui  se  passe.  Lors de l’affichage de la liste actuelle des partages, afficher aussi la liste des options de partage.

Pour activer le mode verbeux:

exportfs -v

Il est aussi possible de vider  complètement  la table des partages du noyau. mountd  générera  une  nouvelle  entrée  pour chaque  client  en  activité, dès que celui-ci fera sa prochaine requête.

Pour vider la table des partages:

exportfs -f

22 novembre 2015 /

J’ai rencontré cette petite erreur avec des répertoires contenant des millions de fichiers, qu’on vous demande de lister/supprimer, voici la solution la plus rapide.

find /chemin/repertoire -type f -name '*.log' | xargs rm -f

ou

find /chemin/repertoire -type f -name '*.log' -delete

ou encore :

find /chemin/repertoire -type f -name '*.log' -exec rm -rf {};

14 novembre 2015 /

Useradd est un outil en mode console permettant de créer un compte d’utilisateur de manière non-interactive. Ceci permet donc de créer des comptes d’utilisateur à partir de script ou d’effectuer du traitement par lots.

Exemple:

useradd --home /var/ftp/pub -o --uid 1500 --gid 1001--groups sftp --shell /bin/nologin --password IKfgxreshjikN8yo --comment "Compte générique pour le ftp" Login_sftp

Ce qui nous permet par la suite de faire ce genre de boucle pour créer des utilisateurs à la volée:

for i in `cat /home/starmate/liste_user`; do sudo useradd --home /var/ftp/pub -o --uid 1500 --gid 1001 --groups sftp --shell /bin/nologin --password IKfgxreshjikN8yo --comment "Compte générique pour le sftp" $i; done

22 octobre 2015 /

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.

19 octobre 2015 /

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