logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:lagrenouille:tutos:votre-ordinateur-en-ligne-de-commande-deuxieme-partie [10/02/2020 17:56]
lagrenouille [commandes utiles et quelques utilitaires pratiques]
utilisateurs:lagrenouille:tutos:votre-ordinateur-en-ligne-de-commande-deuxieme-partie [12/08/2020 10:22] (Version actuelle)
lagrenouille [Les commandes de base]
Ligne 1: Ligne 1:
-====== ​votre ordinateur et la ligne de commande (deuxième partie) ======+====== ​une approche de la ligne de commande: La CLI(deuxième partie) ======
  
  
Ligne 42: Ligne 42:
 |     ​ls ​     |    -S         ​| ​ affiche par taille de fichier ​                           |  |     ​ls ​     |    -S         ​| ​ affiche par taille de fichier ​                           | 
 |     ​ls ​     |   ​-lishaF ​    ​| ​ commande assez complète ​                                 |                        ​ |     ​ls ​     |   ​-lishaF ​    ​| ​ commande assez complète ​                                 |                        ​
 +|     ​ls ​     |   ​-i ​         |  affiche le numéro d’inode du fichier ou du répertoire, ​  |
 +|     ​ls ​     |   ​-m ​         |        Affichage des éléments en lignes et séparés par des virgules |          ​
 +
 + ​. ​              ​. ​
 +//Tout fichier possède son unique inode. (aves ses infos, Type de fichier, Droits d'​accès,​ Nombre de liens, taille, adresse, dernière connexion,​lecture,​modif//​
 +
 +
  
 la commande cd: la commande cd:
Ligne 450: Ligne 457:
  
 =====ssh et rsync ==== =====ssh et rsync ====
 +
 +<code root>apt install openssh-client openssh-server ​ rsync</​code>​
 +
 +Ce qui va créer un dossier .ssh et à l'​interieur un fichier known_hosts . Si vous avez des clés rsa, elles seront aussi dans ce dossier, vos clés publiques se terminent par .pub.
 +
 +connexion à un serveur:
 +<code user>ssh nom@ip ​
 +ou
 +ssh nom@serveur</​code>​
 +ou si le port est spècifique
 +ssh -P6678 nom@serveur</​code>​
 +
 +envoyé un fichier :
 +<code user>scp -P2289 ​ monfichier.odt nom@serveur</​code>​
 +
 +
 +rsync est une commande à rallonge, pleine d'​options
 +
 +<code user>​rsync -pavz  nom@hometoto87654.1and1-data.host:​ /​chemin/​dossier/​machin/</​code>​
 +
 +[[https://​linux.die.net/​man/​1/​rsync]]
 +
 +[[https://​man.developpez.com/​man1/​rsync/​]]
 +
 +
 +
 +
  
 ===== commandes utiles et quelques utilitaires pratiques ===== ===== commandes utiles et quelques utilitaires pratiques =====
Ligne 660: Ligne 694:
 la commande who -b affiche la date du dernier démarrage du système. la commande who -b affiche la date du dernier démarrage du système.
  
-Certaines commandes tel que : **la commande find** **la commande sed** **les commandes grep/​egrep** et **la commande awk** possendent tellement de possibilités que je me contente de les cités.. la commande awk est un véritable langage de programmation à lui seul, vous trouverez un grand nombre de doc sur le web.+Certaines commandes tel que : **la commande find** **la commande sed** **les commandes grep/​egrep** et **la commande awk** possendent tellement de possibilités que je me contente de les cités.. la commande awk est un véritable langage de programmation à lui seul, vous trouverez un grand nombre de doc sur le web.Ce langage est asé ou inspiré par le langage C. 
 + 
 +Syntaxe 
 +awk [-Fs] [-v variable] [-f fichier de commandes] '​program'​ fichier 
 + 
 +  -F Spécifie les séparateurs de champs 
 +   
 +  -v Définie une variable utilisée à l'​intérieur du programme. 
 +   
 +  -f Les commandes sont lu à partir d'un fichier. 
 +   
 +Je ne mettrai pas d'​exemple de cette puissante commande, pour la simple raison que je la connais pas : :o)  Je vous abandonne à RTFM. 
 +   
 +    ​
  
 Quelques exemples avec find et grep: Quelques exemples avec find et grep:
Ligne 713: Ligne 760:
  
 === utilitaires === === utilitaires ===
 +
 +nano: un éditeur installé d'​office sur debian:Le menu s'​affiche en bas de page de l’éditeur
 +commande | explication|
 +|Ctrl + O | enregistrer le fichier (écrire)|
 +|Ctrl + X | quitter Nano.|
 +|Ctrl + W | rechercher dans le fichier|
 +|Ctrl + U | coller la ligne de texte que vous venez de couper |
 +
 +Écoutez vos ziques ♪ ♫ ♪ ♬ ♩♪♫♬♩♪♫I
 +<code root>apt install moc</​code>​
 +
 +|commande moc| explications|
 +|mocp   ​| ​ pour lancer l'​appli |
 +| h | pour l’aide |
 +| q |pour quitter |
 +
 +dans ce répertoire
 +
 + ​|touches dans moc | explications |
 + ​|flèche BAS  |Déplacer vers le bas dans le menu |
 + ​|flèche UP | Déplacez-vous dans le menu |
 + |s ou p | pour arrêter la musique |
 + ​|n ​ |lire le fichier suivant |
 + |b | ESPACE p Pause
 +la touche , réduit le son
 +
 +la touche maj + ; augmente le son
 +
 +AVEC D’AUTRES CLAVIERS
 +
 +la touche > augmente le son (touche , ; pour clavier bépo)
 +
 +la touche < réduit le son (touche . pour clavier bépo)
 +
 +
  
 **compression extraction** **compression extraction**
Ligne 967: Ligne 1049:
 |ciw   ​| ​     Remplacer le mot| |ciw   ​| ​     Remplacer le mot|
 |C     ​| ​   Remplacer jusqu'​en fin de ligne| |C     ​| ​   Remplacer jusqu'​en fin de ligne|
- 
 |:​%s/​A/​B/​g ​  ​| ​     Remplacer tous (g) les A par des B| |:​%s/​A/​B/​g ​  ​| ​     Remplacer tous (g) les A par des B|
 |<​control-w>​-s ​ |       ​Diviser horizontalement| |<​control-w>​-s ​ |       ​Diviser horizontalement|
Ligne 1291: Ligne 1372:
 ===== les droits et les acl sous linux ===== ===== les droits et les acl sous linux =====
  
-===chmod ===+**chmod** 
  
 Correspondances des droits en binaire/​octale et leurs significations Correspondances des droits en binaire/​octale et leurs significations
Ligne 1376: Ligne 1457:
     ​     ​
     ​     ​
-=== chown ===+**chown** 
  
 Pour changer le propriétaire d’un fichier il faut utiliser la commande chown Pour changer le propriétaire d’un fichier il faut utiliser la commande chown
Ligne 1386: Ligne 1467:
 <code root>​chown www-data:​lagrenouille /​var/​www/​html/​compta/​dolibarr/</​code>​ <code root>​chown www-data:​lagrenouille /​var/​www/​html/​compta/​dolibarr/</​code>​
  
-chgrp+**chgrp**
    
 Pour changer le groupe d’un fichier : chgrp groupe fichier . Pour changer le groupe d’un fichier : chgrp groupe fichier .
Ligne 1409: Ligne 1490:
 </​code>​ </​code>​
  
-=== acl ===+**Les acl** 
 + 
 +Permet de mettre des droits d'​accès supplémentaires,​ accorder des privilèges à un ou  plusieurs ​ utilisateurs (ou groupes) qui se substitueront aux droits d'​accès de base, même si ils ne font pas partie du groupe du fichier. 
  
 Quand un utilisateur se connecte sur un système GNU/Linux, il détient 2 UID (UserIDentity) et 2 GID (GroupIDentity) : le réel et l'​effectif. Quand un utilisateur se connecte sur un système GNU/Linux, il détient 2 UID (UserIDentity) et 2 GID (GroupIDentity) : le réel et l'​effectif.
Ligne 1415: Ligne 1499:
 uid=1000(momo) gid=1000(momo) groupes=1000(momo)...... uid=1000(momo) gid=1000(momo) groupes=1000(momo)......
 </​code>​ </​code>​
 +
 +Pour ajouter une ACL, vous devez utiliser la commande setfacl avec l'​option -m :
 +Les préfixes disponibles sont toujours les mêmes: ainsi quel les droits rwx.
 +
 +u: : Pour modifier les droits d'un utilisateur
 +
 +g: : Pour modifier les droits d'un groupe
 +
 +o: : Pour modifier les droits du reste du monde (other)
 +
 +la syntxe est :
 +préfixe:​[utilisateurOuGroupe:​]droits
 +
 +donner le droits de lecture et écriture à l'​utilisateur momo sur un fichier.
 +setfacl -m u:momo:rw- mon_fichier.txt
 +
 +donner les droits lecture et ecriture à momo sur tout le repertoire web ( le R est avant le m)
 +setfacl -Rm u:momo:rw web/
 +
 +pour que les sous-dossiers de web profitent de ce droit il faudra rajouter d:
 +setfacl -m d:u:momo:rw web/
 +
 +Si vous voulez que les autres bénéficient de ces droits dans web
 +setfacl -m d:​u:​momo:​rw,​o:​--- web/
 +
 +avec -d au début rw sera un droit par défaut pour momo et tous les autres dans le repertoire web.
 +setfacl -dm u:​momo:​rw,​o:​--- web/
 +
 +pour supprimé tous les droits dans le repertoire web
 +setfacl -b web/
 +
 +On voit donc que les droits sont affiché pars une série de 9 caractères,​associé 3 par 3 (rwx rwx rwx)définissent les droits des 3 identités (u,g et o).
 +
  
 Au lieu de donner l'​accès à un fichier, on donne le droit d'​accès à une commande. ​ Au lieu de donner l'​accès à un fichier, on donne le droit d'​accès à une commande. ​
 Le kernel (ou noyau), au moment de l'​exécution de la commande endosse l'​identité du propriétaire ou du groupe de la commande au lieu de celle de l'​utilisateur qui a lancé la commande. Le kernel (ou noyau), au moment de l'​exécution de la commande endosse l'​identité du propriétaire ou du groupe de la commande au lieu de celle de l'​utilisateur qui a lancé la commande.
 +
 +**setfacl:​** Cette commande permet l'​attribution des acl. Voici quelques explications sur son utilisation.
 +
 +Spécifier des permissions pour plusieurs utilisateurs/​groupes à la fois, pour cela, séparez-les par une virgule : Ici l'​utilisateur momo à tous les droits, toto a le droit de lecture_écriture,​ mais pas d’exécution,​ ( ce qui peut être contradictoire)le groupe testeur le droit de lire et de listé le répertoire
 +<code root>​setfacl -m u:​momo:​rwx,​u:​toto:​rw,​g:​testeur:​r,​o:​--- mutualisation</​code>​
 +
 +ou
 +
 +momo peut modifier le fichier, toto et testeur peuvent juste lire et exécuter
 +<code root>​setfacl -m u:​momo:​rwx,​u:​toto:​rx,​g:​testeur:​rx,​o:​--- mutualisation</​code>​
 +
 +
 +**getfacl:​** Cette commande permet l'​affichage des acl .
 +
 +avez vous accés aux acl sur votre machine ?
 + <​code root>​grep ACL /​boot/​config-*</​code>​
 +<​code>/​boot/​config-4.19.0-4-amd64:​CONFIG_EXT4_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_REISERFS_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_JFS_POSIX_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_XFS_POSIX_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_BTRFS_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_F2FS_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_TMPFS_POSIX_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_JFFS2_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_NFS_V3_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_NFSD_V2_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_NFSD_V3_ACL=y
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_NFS_ACL_SUPPORT=m
 +/​boot/​config-4.19.0-4-amd64:​CONFIG_CEPH_FS_POSIX_ACL=y
 +......................................
 +
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_F2FS_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_TMPFS_POSIX_ACL=y
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_JFFS2_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_NFS_V3_ACL=y
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_NFSD_V2_ACL=y
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_NFSD_V3_ACL=y
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_NFS_ACL_SUPPORT=m
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_CEPH_FS_POSIX_ACL=y
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_CIFS_ACL=y
 +/​boot/​config-4.19.0-8-amd64:​CONFIG_9P_FS_POSIX_ACL=y</​code>​
 +
 +apparement, oui
 +
 +**le sticky bit**
 +
  
 Donc l'​accès au fichier se fait par le biais de la commande et non pas directement. ​ Donc l'​accès au fichier se fait par le biais de la commande et non pas directement. ​
 +
 +Pour placer le sticky bit, le SUID ou le SGID il faut causer en octal, c'est plus pratique.
 +
 +1777 (le 777 est ici un exemple, cela peut-être 755 ou autre...)
 +
 +2777
 +
 +4777
 +
 +Pour faire simple :
 +
 +1000 correspond au sticky bit,
 +
 +2000 correspond au SUID
 +
 +4000 correspond au SGID.
 + 
 +
 +Quand on écrit les permissions en octal, setuid, setgid et sticky bit sont représentés par une nouvelle série de 3 bits, qui se place avant les 3 autres séries: setuid=4, setgid=2, sticky=1. Ainsi, sur ma machine, le serveur de mail /​usr/​sbin/​sendmail a les droits rwsr-sr-x (rwxr-xr-x, setuid, setgid); en octal, ça donne 6775. 
 +
 +**le droit SUID**
 +
 +Son flag est la lettre s ou S qui vient remplacer le x du propriétaire.
 +
 +droit d'​exécution du propriétaire) qui est donc masqué par le droit SUID '​s'​ ou '​S'​
 +
 +C'est un s si le droit d'​exécution du propriétaire est présent, ou un S sinon
 +---s------ ​ ou  ---S------
 +
 +Un fichier avec les droits ​
 +<code user>​-rwxr-xr-x</​code>​
 +
 +auquel on ajoute le droit SUID aura donc la notation ​
 +<code user>​rwsr-xr-x</​code>​
 +
 +
 +Le droit SUID possède la valeur octale 4000.
 +Exemple : - r w s r - x r - x correspond à 4755  (chmod 4755)
 +
 +
 +**le droit SGID**
 +
 +ce droit est appliqué aux groupes
 +
 +quand vous créez un fichier, normalement,​ vous en êtes l'​utilisateur et le propriétaire.
 +vous êtes aussi dans un ou plusieurs groupes.
 +
 +Si vous créez votre fichier dans un répertoire ayant les droits SGID, il se verra automatiquement attribué le groupe de ce répertoire
 +
 +le droit SGID aura donc la notation ​
 +
 +a la place de 
 +<​code>​-rwxr—r-</​code>​
 +
 +vous aurez
 +<​code>​-rwxr-Sr-</​code>​
 +
 +Le droit SGID possède la valeur octale 2000. (chmod 2744 répertoire)(chmod -R 2744 répertoire)
 +
 +Exemple : - r w x r - S r - - correspond à 2744
 +
 +**le sticky bit**
 +
 +Dixit wikipedia:"​Ce droit est utilisé pour manier de façon plus subtile les droits d'​écriture d'un répertoire. En effet, le droit d'​écriture signifie que l'on peut créer et supprimer les fichiers de ce répertoire. Le sticky bit permet de faire la différence entre les deux droits."​
 +
 +Lorsque ce droit est positionné sur un répertoire,​ il interdit la suppression d'un fichier qu'il contient à tout utilisateur autre que le propriétaire du fichier
 +
 +Le droit sticky bit possède la valeur octale 1000.
 +
 +Exemple : - r w x r - x r - t correspond à 1755.  (chmod 1755)
 +
 +Son flag est le t ou T, qui vient remplacer le droit d'​exécution x des autres utilisateurs que le propriétaire et ceux appartenant au groupe du fichier
 +
 +chmod -R 1700 stick/
 +
 +<code user>ls -lha stick/
 +total 16K
 +drwx-----T ​ 2 momo momo 4,0K févr. 13 12:44 .
 +drwxr-xr-x 80 momo momo  12K févr. 13 12:44 ..
 +-rwx-----T ​ 1 momo momo    0 févr. 13 12:38 lapinous.txt
 +
 +</​code>​
 +
 +
 +
  
  
  
  
utilisateurs/lagrenouille/tutos/votre-ordinateur-en-ligne-de-commande-deuxieme-partie.1581353783.txt.gz · Dernière modification: 10/02/2020 17:56 par lagrenouille

Pied de page des forums

Propulsé par FluxBB