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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
utilisateurs:lagrenouille:tutos:votre-ordinateur-en-ligne-de-commande-deuxieme-partie [06/02/2020 16:05] lagrenouille [Introduction] |
utilisateurs:lagrenouille:tutos:votre-ordinateur-en-ligne-de-commande-deuxieme-partie [12/08/2020 10:20] 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 9: | Ligne 9: | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
+ | | ||
===== Introduction ===== | ===== Introduction ===== | ||
+ | |||
+ | |||
+ | {{https://debian-facile.org/images/file-Rab359a922a49699623b7583e8ccca504.png}} | ||
Il existe déjà sur ce wiki plusieurs tutos consacrés aux commandes linux, voir: | Il existe déjà sur ce wiki plusieurs tutos consacrés aux commandes linux, voir: | ||
Ligne 38: | 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, | | ||
+ | | | 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.| | ||
+ | | ls | -m | Affichage des éléments en lignes et séparés par des virgules | | ||
+ | . | ||
+ | |||
+ | |||
+ | |||
la commande cd: | la commande cd: | ||
Ligne 112: | Ligne 123: | ||
| rmdir | supprime un répertoire vide | | | rmdir | supprime un répertoire vide | | ||
- | ==== quelques commandes réseau ==== | + | |
+ | Les liens symbolique :La commande ln:il faut commencer par le nom du dossier qu’on veut lier, et ensuite mettre le nom du lien. | ||
+ | |||
+ | je fais un site web sur mon serveur et je ne veux pas prendre toute la place dans /var/www/html. | ||
+ | |||
+ | Je vais donc créer et développer mon site dans un DD de 2 Terras fait pour ça. Les données seront donc stockées dans le DD et non dans html, et je fais le lien . | ||
+ | <code root>ln -s /home/chemin/mon_DD/mon_site /var/www/html/</code> | ||
+ | |||
+ | maintenant si je fais un ls -lha /home/chemin/mon_DD/mon_site, et que mon site se nomme sitesting, je verrais le liens comme ceci | ||
+ | <code>mon_DD/spidtesting -> /var/www/html/spidtesting/</code> | ||
+ | |||
+ | alors que dans /var/www/html | ||
+ | <code user>ls -lha /var/www/html/ | ||
+ | -rw-r--r-- 1 root root 11K août 24 17:27 index.html | ||
+ | -rw-r--r-- 1 root root 21 août 31 16:41 phpinfo.php | ||
+ | drwxrwxrwx 13 momo momo 4,0K sept. 18 15:05 spidtesting</code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== quelques commandes réseau ===== | ||
on trouve tous les protocoles supportés de niveau réseau dans le fichier /etc/protocols | on trouve tous les protocoles supportés de niveau réseau dans le fichier /etc/protocols | ||
Ligne 319: | Ligne 353: | ||
</code> | </code> | ||
- | Voir aussi : | + | Voir aussi wput qui est un programme en ligne de commande de chargement (envoi) de fichiers sur le réseau. Il supporte le protocole FTP. : |
+ | <code user>wput monFichier ftp://login:password@serveur/</code> | ||
<code root> | <code root> | ||
Ligne 333: | Ligne 368: | ||
</code> | </code> | ||
- | curl: un outil qui permet de faire des requêtes à un serveur. Il télécharge vos fichiers à travers divers protocoles ( DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet et TFTP). | + | **curl**: un outil qui permet de faire des requêtes à un serveur. Il télécharge vos fichiers à travers divers protocoles ( DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet et TFTP). |
Voir les nombreuses doc sur le net | Voir les nombreuses doc sur le net | ||
Ligne 341: | Ligne 376: | ||
<code user>curl -# -O https://debian-facile.org/utilisateurs:lagrenouille:tutos:votre-ordinateur-en-ligne-de-commande-deuxieme-partie#les-commandes-de-base</code> | <code user>curl -# -O https://debian-facile.org/utilisateurs:lagrenouille:tutos:votre-ordinateur-en-ligne-de-commande-deuxieme-partie#les-commandes-de-base</code> | ||
+ | ==== surveillance réseau ===== | ||
**glances**:est un outil de surveillance de votre réseau, installez le avec "apt install glances" | **glances**:est un outil de surveillance de votre réseau, installez le avec "apt install glances" | ||
Ligne 349: | Ligne 385: | ||
+ | **tcpdump** | ||
+ | tcpdump est un analyseur de paquets en ligne de commande. Il permet d'obtenir le détail du trafic visible depuis une interface réseau. | ||
+ | affichage verbeux | ||
+ | <code root>tcpdump -v</code> | ||
+ | Interfaces réseaux disponibles pour la capture | ||
+ | <code root>tcpdump -D</code> | ||
+ | Affichage des adresses numériques plutôt que des adresses symboliques (DNS): | ||
+ | <code root>tcpdump -n</code> | ||
- | tcpdump** | + | Capture du traffic d'une interface particulière: |
- | ** | + | <code root>tcpdump -i enp2s0</code> |
- | ==== commandes utiles et quelques utilitaires pratiques ==== | + | |
+ | Capture du trafic du port ssl | ||
+ | <code root>tcpdump -v port https</code> | ||
+ | |||
+ | il peut arriver qu'il y ait un problème avec le port 80, vous pourrez, par l'intermédiaire de cette commande voir l'état du port. | ||
+ | |||
+ | <code user>nc -zv localhost 80 | ||
+ | localhost [127.0.0.1] 80 (http) open</code> | ||
+ | |||
+ | plusieurs autres logiciels vous donneront satisfaction, selon ce que vous voulez consulté, essayez ceux là: | ||
+ | |||
+ | Moniteur de ressources système et d’activité de processus | ||
+ | Atop est un moniteur en mode texte plein écran, similaire à la commande top, mais qui ne montre que les processus et ressources système actifs, et n’affiche que les différences depuis le dernier intervalle. À intervalle régulier, il affiche l’activité du système concernant l’utilisation du processeur en mode utilisateur et système, de l’évolution de la mémoire virtuelle et résidente, des priorités, des utilisateurs, des états et des codes de sortie. Le niveau d’activité des processus est aussi affiché pour les processus qui se sont terminés lors du dernier intervalle de temps, afin d’avoir un aperçu complet de la consommation d’éléments comme le temps CPU. | ||
+ | <code user>atop</code> | ||
+ | |||
+ | la commande htop liste les processus, vous pouvez retrouver l’utilisateur qu’il l’a exécutée, le pourcentage de mémoire et de CPU qu’il utilise ainsi que la commande qui sert à l’exécuter. | ||
+ | * F4 inversera l’ordre de trie. croissant et décroissant. | ||
+ | * F9 permet de tuer un processus | ||
+ | * F1 affiche de l’aide | ||
+ | * F6 permet de choisir le trie par critère, un petit menu déroulant s’affiche pour vous permettre de choisir . | ||
+ | <code user>htop</code> | ||
+ | |||
+ | bmon pour une surveillance réseau et bande passante | ||
+ | <code user>bmon</code> | ||
+ | |||
+ | nmon est un outils de surveillance, permettant de monitorer les ressources physiques des machines qui sont sous Linux | ||
+ | nmon peut générer un fichier nmon (ressemblant un peu à du CSV | ||
+ | <code user>nmon</code> | ||
+ | Essayez par exemple de lancez nmon pour capturer les données pendant une heure en faisant une snapshot.(instantané en français) toutes les 30 secondes, en utilisant : | ||
+ | <code user>nmon -f -s 30 -c 120</code> | ||
+ | |||
+ | iptraf. pour voir votre réseau, en temps réel, pour diagnostiquer et vérifier vos le trafic de votre réseau, amusez vous, le menu et ses sous-menu sont plein de petites choses sympa. | ||
+ | <code root>iptraf-ng</code> | ||
+ | |||
+ | tload- représentation graphique de la charge moyenne du système | ||
+ | |||
+ | imprime un graphique de la moyenne de charge du système en cours au tty | ||
+ | |||
+ | - en haut a gauche trois valeurs du temps actif demandé au processeur | ||
+ | |||
+ | - charge moyenne depuis xtemps | ||
+ | |||
+ | - charge moyenne depuis xtemps | ||
+ | |||
+ | - harge moyenne depuis xtemps | ||
+ | |||
+ | depuis ce temps, il y a en moyenne 0,xx processus qui réclament le processeur. Votre processeur est donc actif xx % du temps. | ||
+ | |||
+ | ce nombre dépend du nombre de processeurs de votre ordinateur. Un ordinateur dual core ne sera complètement chargé que lorsque la valeur aura atteint 2. Pour un quad core (4 coeurs de processeur), la valeur maximale avant surcharge sera de 4. | ||
+ | <code user> tload</code> | ||
+ | |||
+ | |||
+ | Pour consulté vos logs à la demande..plus lisible : | ||
+ | <code user>lnav</code> | ||
+ | |||
+ | |||
+ | =====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=== | === commandes utiles=== | ||
Ligne 365: | Ligne 494: | ||
<code user> uname -r | <code user> uname -r | ||
4.19.0-6-amd64</code> | 4.19.0-6-amd64</code> | ||
+ | |||
+ | Le bash-complétation est installé d'office sur debian. | ||
+ | |||
+ | Avec la touche tab vous tapez le début de la commande et le reste vous sera soit proposé soit affichera la commande complète | ||
+ | |||
+ | afficher l'historique des commandes dans votre console | ||
+ | <code user>history</code> | ||
la commande ncdu affiche le repertoire courant avec le poids de chaque fichier. | la commande ncdu affiche le repertoire courant avec le poids de chaque fichier. | ||
Ligne 415: | Ligne 551: | ||
lshw -C network</code> | lshw -C network</code> | ||
- | cal vous affiche un simple calendrier | + | cal vous affiche un simple calendrier, ncal aligne les jours à gauche du calendrier |
<code user>cal | <code user>cal | ||
Ligne 426: | Ligne 562: | ||
23 24 25 26 27 28 29 | 23 24 25 26 27 28 29 | ||
</code> | </code> | ||
+ | |||
+ | <code user>date | ||
+ | samedi 8 février 2020, 00:08:42 (UTC+0100)</code> | ||
les commandes ps -e, -aux, -xl et pstree: | les commandes ps -e, -aux, -xl et pstree: | ||
Ligne 484: | Ligne 623: | ||
</code> | </code> | ||
+ | Le PID d’un processus peut se récupérer avec la commande “ps -edf | grep “processus“. Par exemple pour le processus “apache” | ||
+ | <code user>ps -edf | grep apache | ||
+ | www-data 6904 10269 0 07:41 ? 00:00:02 /usr/sbin/apache2 -k start | ||
+ | www-data 6905 10269 0 07:41 ? 00:00:02 /usr/sbin/apache2 -k start | ||
+ | www-data 6906 10269 0 07:41 ? 00:00:03 /usr/sbin/apache2 -k start | ||
+ | www-data 6908 10269 0 07:41 ? 00:00:04 /usr/sbin/apache2 -k start | ||
+ | www-data 6909 10269 0 07:41 ? 00:00:03 /usr/sbin/apache2 -k start | ||
+ | www-data 6915 10269 0 07:42 ? 00:00:03 /usr/sbin/apache2 -k start | ||
+ | www-data 6924 10269 0 07:45 ? 00:00:03 /usr/sbin/apache2 -k start | ||
+ | lagreno+ 7112 7092 0 08:31 pts/2 00:00:00 grep apache | ||
+ | root 10269 1 0 févr.03 ? 00:00:10 /usr/sbin/apache2 -k start | ||
+ | |||
+ | |||
+ | </code> | ||
+ | |||
+ | |||
+ | Le PID du processus Apache est le premier numéro (2ème colonne). Nous pourrons donc spécifier ce numéro comme suivant à la commande lsof pour avoir les fichiers ouverts par apache: | ||
+ | <code user>lsof -p 6904 | ||
+ | COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME | ||
+ | apache2 6904 www-data cwd DIR 8,2 4096 2 / | ||
+ | apache2 6904 www-data rtd DIR 8,2 4096 2 / | ||
+ | apache2 6904 www-data txt REG 8,2 687944 1184619 /usr/sbin/apache2 | ||
+ | apache2 6904 www-data mem REG 8,2 337024 1183204 /usr/lib/locale/aa_DJ.utf8/LC_CTYPE | ||
+ | apache2 6904 www-data mem REG 8,2 200752 1179422 /usr/lib/locale/C.UTF-8/LC_CTYPE | ||
+ | apache2 6904 www-data mem REG 8,2 1517626 1179421 /usr/lib/locale/C.UTF-8/LC_COLLATE | ||
+ | apache2 6904 www-data mem REG 8,2 282752 1178637 /usr/lib/x86_64-linux-gnu/libnss_systemd.so.2 | ||
+ | apache2 6904 www-data DEL REG 0,5 972876 /dev/zero | ||
+ | apache2 6904 www-data DEL REG 0,5 972875 /dev/zero | ||
+ | apache2 6904 www-data mem REG 8,2 105672 1210245 /usr/lib/x86_64-linux-gnu/libzip.so.4.0 | ||
+ | apache2 6904 www-data mem REG 8,2 67688 1183384 /usr/lib/php/20180731/zip.so | ||
+ | apache2 6904 www-data mem REG 8,2 264320 1195499 /usr/lib/x86_64-linux-gnu/libxslt.so.1.1.32 | ||
+ | |||
+ | </code> | ||
du et df: | du et df: | ||
Ligne 520: | Ligne 692: | ||
</code> | </code> | ||
- | 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. |
- | find | + | 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. |
- | sed | + | Syntaxe |
+ | awk [-Fs] [-v variable] [-f fichier de commandes] 'program' fichier | ||
- | grep/egrep | + | -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: | ||
+ | |||
+ | Supprimer une ligne selon son numéro. Attention les lignes vides sont comptées, ici les lgnes 1,4 et 7 sont supprimées | ||
+ | Il faut utiliser l’option d. | ||
+ | sed '1d;4d;7d' fichier.txt | ||
+ | |||
+ | Supprimer une ligne selon une REGEX (en faites une"Expressions Regulieres") | ||
+ | |||
+ | Toujours avec l’option d : va supprimer toutes les lignes qui commencent par # | ||
+ | <code user>sed '/^#/d' fichier.txt</code> | ||
+ | |||
+ | Afficher seulement les lignes commentées qui commencent par # | ||
+ | <code user>sed -n '/^#/p' fichier.txt</code> | ||
+ | |||
+ | pour avoir tous les répertoires et sous répertoires | ||
+ | <code user>find /home -type d</code> | ||
+ | |||
+ | nombre de fichiers et répertoires en chiffre : (en root pour tout avoir) | ||
+ | <code root>find ./ -type f | wc -l</code> | ||
+ | |||
+ | nombre de dossiers : | ||
+ | <code root>find ./ -type d | wc -l</code> | ||
+ | |||
+ | pour avoir le nombre de fichier en chiffres dans le répertoire courant | ||
+ | <code root> find . -name \* | wc -l</code> | ||
+ | |||
+ | de fichier en chiffres dans le répertoire WEB | ||
+ | <code root>find /home/momo/WEB -type d | wc -l</code> | ||
+ | |||
+ | autres exemples avec find et grep : | ||
+ | |||
+ | rechercher tous vos fichiers .odt | ||
+ | <code user>find -name "*.odt" -print</code> | ||
+ | |||
+ | cherche tous les répertoires dont le nom se termine par B | ||
+ | <code user>find . -type d -name "*B" -print</code> | ||
+ | |||
+ | tous les .jpg dont le nom comporte oiseaux | ||
+ | <code user>find -name "*.jpg" -print | grep oiseaux</code> | ||
+ | |||
+ | Pour afficher tous les fichiers ayant une permission 444 | ||
+ | <code root>find . -perm 444 -print</code> | ||
+ | |||
+ | voir les droits de tous les fichiers dont le nom contient conf | ||
+ | find . -type f -exec ls -lha {} \; | less | grep conf | ||
+ | |||
+ | ce grep affichera que les fichiers dont le nom se termine par conf dans /etc/apache2 | ||
+ | ls /etc/apache2/ | grep "conf$" | ||
- | awk | ||
=== 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 647: | Ligne 911: | ||
Pour obtenir des informations sur le BIOS d’un ordinateur | Pour obtenir des informations sur le BIOS d’un ordinateur | ||
<code root>biosdecode</code> | <code root>biosdecode</code> | ||
+ | |||
+ | Statistiques périodiques sur l’utilisation du CPU (commande root), cpustat doit être installé | ||
+ | <code root>cpustat</code> | ||
+ | |||
+ | dstat pour savoir à chaque fois quel processus à utilisé le plus de ressources mémoire et disque, | ||
+ | <code root>dstat --io --top --mem</code> | ||
+ | |||
+ | Surveiller son disque dur avec sysstat | ||
+ | <code root>iostat -tmdx 1</code> | ||
+ | |||
+ | vmstat : commande permettant d’afficher des statistiques concernant la charge du système, en particulier l’utilisation de la mémoire virtuelle. donc des statistiques de mémoire virtuelle. | ||
+ | |||
+ | Il est possible de collecter périodiquement en tâche de fond ces mesures via un script | ||
+ | vous en trouverez des exemples sur le web | ||
+ | |||
+ | Ces rapports ont pour but d’aider à identifier les goulots d’ étranglement du système. Linux vmstat ne se compte pas comme un processus en cours d’exécution, process qui bouffent trop de mémoire ou qui en perdent... | ||
+ | |||
+ | exemple : avec -w 1 : une nouvelle ligne de rapport est affichée par vmstat toutes les secondes (le 1 ). le paramètre -w permet d’élargir les colonnes pour éviter un décalage des informations avec de grandes valeurs.. | ||
+ | |||
+ | [[http://www.delafond.org/traducmanfr/man/man8/vmstat.8.html]] | ||
+ | <code root>vmstat -w 1 | ||
+ | ou | ||
+ | vmstat -at</code> | ||
Pour récupérer des informations sur le matériel de votre -ordinateur en les collectant depuis le BIOS. | Pour récupérer des informations sur le matériel de votre -ordinateur en les collectant depuis le BIOS. | ||
Ligne 661: | Ligne 948: | ||
- | ==== apt dpkg ==== | + | ==== apt ==== |
+ | |||
+ | <code user>apt-cache show apt</code> | ||
+ | //Package: apt | ||
+ | Version: 1.8.2 | ||
+ | Installed-Size: 4064 | ||
+ | Maintainer: APT Development Team <deity@lists.debian.org> | ||
+ | Architecture: amd64 | ||
+ | Replaces: apt-transport-https (<< 1.5~alpha4~), apt-utils (<< 1.3~exp2~) | ||
+ | Provides: apt-transport-https (= 1.8.2) | ||
+ | Depends: adduser, gpgv | gpgv2 | gpgv1, debian-archive-keyring, libapt-pkg5.0 (>= 1.7.0~alpha3~), libc6 (>= 2.15), libgcc1 (>= 1:3.0), libgnutls30 (>= 3.6.6), libseccomp2 (>= 1.0.1), libstdc++6 (>= 5.2) | ||
+ | Recommends: ca-certificates | ||
+ | Suggests: apt-doc, aptitude | synaptic | wajig, dpkg-dev (>= 1.17.2), gnupg | gnupg2 | gnupg1, powermgmt-base | ||
+ | Breaks: apt-transport-https (<< 1.5~alpha4~), apt-utils (<< 1.3~exp2~), aptitude (<< 0.8.10) | ||
+ | Description-fr: gestionnaire de paquets en ligne de commande | ||
+ | Ce paquet fournit des outils en ligne de commande pour la recherche, la | ||
+ | gestion ainsi que la demande d'informations à propos de paquets, le tout | ||
+ | grâce à un accès bas niveau aux fonctionnalités de la bibliothèque libapt-pkg. | ||
+ | . | ||
+ | Ces outils sont : | ||
+ | - apt-get pour la récupération de paquets et d'informations à leur sujet | ||
+ | depuis des sources authentifiées et pour l'installation, la mise à | ||
+ | niveau et la suppression de paquets ainsi que leurs dépendances ; | ||
+ | - apt-cache pour consulter les informations disponibles sur les paquets | ||
+ | installés et installables ; | ||
+ | - apt-cdrom pour utiliser des médias amovibles en tant que source de | ||
+ | paquets ; | ||
+ | - apt-config qui sert d'interface pour les réglages de configuration ; | ||
+ | - apt-key qui sert d'interface pour gérer les clés d'authentification. | ||
+ | Description-md5: 9fb97a88cb7383934ef963352b53b4a7 | ||
+ | Tag: admin::package-management, devel::lang:ruby, hardware::storage, | ||
+ | hardware::storage:cd, implemented-in::c++, implemented-in::perl, | ||
+ | implemented-in::ruby, interface::commandline, network::client, | ||
+ | protocol::ftp, protocol::http, protocol::ipv6, role::program, | ||
+ | scope::application, scope::utility, suite::debian, use::downloading, | ||
+ | use::organizing, use::playing, use::searching, works-with-format::html, | ||
+ | works-with::audio, works-with::software:package, works-with::text | ||
+ | Section: admin | ||
+ | Priority: required | ||
+ | Filename: pool/main/a/apt/apt_1.8.2_amd64.deb | ||
+ | Size: 1418108 | ||
+ | MD5sum: 0e80dedab6ec1e66a8f6c15f1925d2d3 | ||
+ | SHA256: 80e9600822c4943106593ca5b0ec75d5aafa74c6130ba1071b013c42c507475e// | ||
+ | |||
+ | affiché votre source.list | ||
+ | <code user>cat /etc/apt/sources.list</code> | ||
+ | |||
+ | mettre les dépots à jour | ||
+ | <code root>apt update</code> | ||
+ | |||
+ | mettre les paquets deb à jour | ||
+ | <code root>apt upgrade</code> | ||
+ | |||
+ | mettre à jour en prenant en compte toutes les dépendances | ||
+ | <code root>apt full-upgrade</code> | ||
+ | |||
+ | rechercher un paquet | ||
+ | <code user>apt search paquet</code> | ||
+ | |||
+ | ou si l'on veut le paquet seul | ||
+ | <code user>apt search ^paquet$</code> | ||
+ | |||
+ | connaître les dépendances et lire les suggestions | ||
+ | <code user>apt depends vim</code> | ||
+ | |||
+ | Affiche les bugs à l'installatiojn du paquet | ||
+ | <code root>apt install apt-listbugs</code> | ||
+ | |||
+ | installé un paquet deb | ||
+ | <code root>apt install vim-nox</code> | ||
+ | |||
+ | **vim**commandes de l'éditeur: | ||
+ | |||
+ | |||
+ | |commande| explication| | ||
+ | |i | Passer dans le mode insertion| | ||
+ | |A | Ajouter en fin de ligne| | ||
+ | |:q | Quitter| | ||
+ | |:q! | Quitter sans enregistrer| | ||
+ | |:w | Enregistrer le fichier| | ||
+ | |:wq | Enregistrer et quitter| | ||
+ | |:x | Enregistrer (seulement en cas de modification) et quitter| | ||
+ | |:set paste | Passer en mode "collage"| | ||
+ | |||
+ | |||
+ | |Exemples | Action| | ||
+ | |u | Annuler la dernière opération| | ||
+ | |<control>-r | Rétablir la dernière opération annulée| | ||
+ | |. | Répéter la dernière opération d'édition| | ||
+ | |yy | Copier la ligne (4yy = 4 lignes)| | ||
+ | |dd | Couper la ligne (4dd = 4 lignes)| | ||
+ | |p | Coller après (P = insérer avant)| | ||
+ | |x | Effacer le caractère| | ||
+ | |dw | Effacer le texte jusqu'à la fin du mot| | ||
+ | |diw | Effacer le mot sous le curseur| | ||
+ | |/ | Rechercher du texte| | ||
+ | |n | Rechercher l'occurence suivante| | ||
+ | |N | Rechercher l'occurence précédente| | ||
+ | |cw | Remplacer le texte jusqu'à la fin du mot| | ||
+ | |ciw | Remplacer le mot| | ||
+ | |C | Remplacer jusqu'en fin de ligne| | ||
+ | |:%s/A/B/g | Remplacer tous (g) les A par des B| | ||
+ | |<control-w>-s | Diviser horizontalement| | ||
+ | |<control-w>-v | Diviser verticalement| | ||
+ | |<control-w>-w | Passer à la fenêtre suivante| | ||
+ | |<control-w>-n | Ouvrir un fichier vierge dans une nouvelle fenêtre| | ||
+ | |: tabnew nom_fichier | Ouvrir le fichier nom_fichier dans un onglet| | ||
+ | |<control-w>-q | Fermer la fenêtre| | ||
+ | |||
+ | |||
+ | |||
+ | si un paquet est mal installé ou si l'on a un doute, on peut tenté«: | ||
+ | <code root>apt install --reinstall le paquet deb</code> | ||
+ | |||
+ | supprimé un paquet et ses dépendances, sachant que vos fichiers de conf perso dans votre home ne seront pas éffaçés. | ||
+ | <code root>apt remove --purge paquet deb</code> | ||
+ | |||
+ | effacer les fichiers de paquets en cache déjà installés | ||
+ | <code root>apt clean</code> | ||
+ | |||
+ | conserver un cache local contenant uniquement les versions les plus récentes : | ||
+ | <code root>apt autoclean</code> | ||
+ | |||
+ | ** | ||
+ | apt autoremove** souvent conseillé par l'installateur, permet de désinstaller les paquets indiqués avec leurs dépendances logicielles. Ceci laisse toutefois en place les fichiers de configuration de ces paquets. | ||
+ | bien lire et faire attention à cette commande, elle peut parfois désinstallé des paquets qu'il ne faudrait pas.. | ||
+ | à vos risques et persil :o) | ||
+ | |||
+ | Autres paquets spécifiques de apt | ||
+ | |||
+ | <code root>apt install apt-show-source | ||
+ | Afficher les informations des paquets source | ||
+ | |||
+ | apt-install apt-show-versions | ||
+ | afficher les versions de paquet disponibles dans la distribution | ||
+ | |||
+ | apt install apt-src | ||
+ | gestionnaire des paquets source Debian | ||
+ | |||
+ | apt install apt-transport-https | ||
+ | transport de téléchargement https pour APT | ||
+ | |||
+ | apt install apt-transport-s3 | ||
+ | transport APT pour les dépôts privés sur AWS S3 | ||
+ | |||
+ | apt install apt-transport-spacewalk | ||
+ | transport APT pour communiquer avec des serveurs Spacewalk | ||
+ | |||
+ | apt -install apt-transport-tor | ||
+ | transport APT pour les téléchargements de paquets anonymes via Tor | ||
+ | |||
+ | apt install apt-utils | ||
+ | utilitaires liés à la gestion de paquets | ||
+ | |||
+ | apt install apt-venv | ||
+ | environnement virtuel apt | ||
+ | |||
+ | apt install apt-xapian-index | ||
+ | outils de recherche et de maintenance dans un index Xapian des paquets Debian</code> | ||
+ | |||
+ | |||
+ | |||
+ | ==== dpkg ==== | ||
+ | |||
+ | dpkg est le programme principal de gestion des paquets,il peut être exécuté avec beaucoup d'options, je ne mettrai ici que quelques commandes de base, pour le reste voir les man et rtff :o) | ||
+ | |||
+ | Afficher toutes les options : | ||
+ | <code user>dpkg --help</code> | ||
+ | |||
+ | Affiche les paquets installés | ||
+ | <code user>dpkg -l | ||
+ | ou | ||
+ | dpkg -l | grep '^.i | ||
+ | </code> | ||
+ | |||
+ | Affiche les paquets mal installés ou mal purgés | ||
+ | dpkg -l | grep -v ^ii | ||
+ | |||
+ | installer un paquet deb | ||
+ | <code root>dpkg -i nom du paquet</code> | ||
+ | |||
+ | Supprimer un paquet deb et ses fichiers configuration | ||
+ | <code root>dpkg remove --purge nom du paquet</code> | ||
+ | |||
+ | affiche le statut d'un paquet | ||
+ | <code user>dpkg -s vim-nox</code> | ||
+ | |||
+ | dpkg-reconfigure | ||
+ | des reconfigurations sont faites à partir de dpkg | ||
+ | |||
+ | reconfigure de nouvelles locales de votre choix | ||
+ | une boite de dialogue s'ouvre et vous donne le choix de cocher vos locales. | ||
+ | <code root>dpkg-reconfigure locales</code> | ||
+ | |||
+ | Reconfigurer votre clavier | ||
+ | <code root>dpkg-reconfigure keyboard-configuration</code> | ||
+ | |||
+ | Il y en à d'autres, bonne pêche.. | ||
+ | Et n'oubliez pas de relancé les services | ||
- | ==== le fichier .xinitrc ==== | + | ==== pdftk c'est ici ==== |
+ | [[https://debian-facile.org/utilisateurs:lagrenouille:tutos:pdftk]] | ||
===== users et group ===== | ===== users et group ===== | ||
Ligne 885: | Ligne 1371: | ||
===== les droits et les acl sous linux ===== | ===== les droits et les acl sous linux ===== | ||
+ | |||
+ | **chmod** | ||
+ | |||
+ | Correspondances des droits en binaire/octale et leurs significations | ||
+ | représentés par une chaîne de 9 caractères, regroupés 3 par 3 (rwx rwx rwx), définissent les droits des 3 identités (propriétaire, groupe et les autres). | ||
+ | La commande chmod (CHangeMODe) permet de définir et de changer les droits d’accès d’un fichier ou un ensemble de fichiers. | ||
+ | |||
+ | Parmi les options de la commande chmod (qui ne sont pas nombreuses - voir man chmod) je vais en citer seulement deux : | ||
+ | |||
+ | v pour verbose (affichage sur la sortie standard STDOUT du résultat de la commande) | ||
+ | |||
+ | R traiter les répertoires de façon récursive (application de la commande à l’arborescence entière du répertoire en question) | ||
+ | |||
+ | Il y a deux modes d’utilisation de la commande chmod : de façon littérale, de façon numérique. | ||
+ | |||
+ | |||
+ | |binaire |octale| droits | explication | | ||
+ | |000 | 0 |--- | aucun droit | | ||
+ | |001 | 1 | x | exécutable | | ||
+ | |010 | 2 |-w- | écriture | | ||
+ | |011 | 3 |-wx | écrire et exécuter | | ||
+ | |100 | 4 |r— | lire | | ||
+ | |101 | 5 |r-x | lire et exécuter | | ||
+ | |110 | 6 |rw- | lire et écrire | | ||
+ | |111 | 7 |rwx |lire écrire et exécuter | | ||
+ | |||
+ | |||
+ | <code root>Chmod -R 770 documents_administratifs/</code> | ||
+ | donne tous les droits au propriétaire et au groupe, sur ce répertoire ainsi que tous les fichiers de ce répertoire | ||
+ | |||
+ | Un chmod 755 donne tous les droits au propriétaire, l’exécution et la lecture au groupe, et aux autres | ||
+ | |||
+ | Les permissions sont soit la lecture read=r, l’écriture write=w et l’exécution . | ||
+ | |||
+ | |||
+ | |read =r | write = w | execute = x | | ||
+ | |symbol octale | symbole octale | symbole octale| | ||
+ | |5 binaire de 100 | 2 binaire de 10| 1 binaire de 001| | ||
+ | |7 | 5| 5| | ||
+ | |u=utilisateur | g=groupe| o=autres| | ||
+ | |4 + 2 + 1 = 7 | 4 + 1 = 5 | 4 + 1 = 5 | | ||
+ | |||
+ | 444 = r--r--r-- lecture pour tous | ||
+ | |||
+ | 644 = rw-r—r— Lecture, écriture pour le propriétaire / Lecture pour les autres | ||
+ | |||
+ | 666 = rw-rw-rw- Lecture, écriture pour tout le monde | ||
+ | |||
+ | 700 =rwx------ Lecture, écriture, exécution juste pour le propriétaire | ||
+ | |||
+ | 705 =rwx---r-x Le propriétaire à tous les droits / Le groupe aucun / Les autres lire et exécuter | ||
+ | |||
+ | 755 =rwxr-xr-x Le propriétaire à tous les droits / Les autres lire et exécuter | ||
+ | |||
+ | 764 =rwxrw-r— Tous droits pour le propriétaire / Lecture, écriture pour le groupe / Lecture seule pour les autres | ||
+ | |||
+ | 774 =rwxrwxr— Tous les droits pour le propriétaire et le groupe / Lecture seule pour les autres | ||
+ | |||
+ | 775 =rwxrwxr-x Tous les droits pour le propriétaire et le groupe / Lecture et exécution pour les autres | ||
+ | |||
+ | chmod utilise la notation suivante : | ||
+ | |||
+ | u - pour le propriétaire (user) | ||
+ | | ||
+ | g - pour le groupe (group) | ||
+ | | ||
+ | o - pour les autres (other) | ||
+ | | ||
+ | a - pour tous (all) | ||
+ | |||
+ | Une autre notation sera utilisée pour attribuer et/ou retirer des droits. | ||
+ | |||
+ | + (plus) pour attribuer | ||
+ | | ||
+ | - (moins) pour retirer | ||
+ | - | ||
+ | = (égale) pour fixer l'accès exact | ||
+ | | ||
+ | <code root> chmod o+r-w fichier</code> | ||
+ | on attribue le droit de lecture (r) mais on retire le droit d'écriture (w) pour les autres (o) | ||
+ | |||
+ | <code root>chmod u+x,og-w fichier</code> | ||
+ | on attribue (+) le droit d'exécution (x) pour le propriétaire (u) et on retire (-) les droits d'écriture (w) pour les membres du groupe (g) et les autres (o). | ||
+ | | ||
+ | | ||
+ | | ||
+ | **chown** | ||
+ | |||
+ | Pour changer le propriétaire d’un fichier il faut utiliser la commande chown | ||
+ | |||
+ | chown usager fichier | ||
+ | |||
+ | Votre fichier appartient à root, et vous voulez que le propriétaire appartienne www-data et au groupe de lagrenouille | ||
+ | |||
+ | <code root>chown www-data:lagrenouille /var/www/html/compta/dolibarr/</code> | ||
+ | |||
+ | **chgrp** | ||
+ | |||
+ | Pour changer le groupe d’un fichier : chgrp groupe fichier . | ||
+ | La commande « chgrp » est utilisée pour changer le groupe de fichier ou de répertoire | ||
+ | Seul l’utilisateur de la racine peut changer les attributs/processus du fichier | ||
+ | - R Changer l’autorisation sur tous les sous-répertoires du répertoire(et leurs fichiers) | ||
+ | - c Changer l’autorisation pour chaque fichier | ||
+ | |||
+ | changer le groupe de ce fichier qui ne sera plus lagrenouille mais compta | ||
+ | |||
+ | <code root>chgrp -R compta var/www/html/compta/dolibarr/</code> | ||
+ | |||
+ | <code user>ls -lha | ||
+ | drwxrwxr-x 33 www-data lagrenouille 4,0K janv. 15 10:00 documents | ||
+ | drwxrwxr-x 70 www-data lagrenouille 4,0K nov. 27 11:54 htdocs</code> | ||
+ | |||
+ | mais | ||
+ | |||
+ | <code user>ls -lha | ||
+ | drwxrwxr-x 33 www-data compta 4,0K janv. 15 10:00 documents | ||
+ | drwxrwxr-x 70 www-data compta 4,0K nov. 27 11:54 htdocs | ||
+ | </code> | ||
+ | |||
+ | **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. | ||
+ | <code user> id | ||
+ | uid=1000(momo) gid=1000(momo) groupes=1000(momo)...... | ||
+ | </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. | ||
+ | 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. | ||
+ | |||
+ | 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> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||