<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <link REL="STYLESHEET" TYPE="text/css" TITLE="Style DILIB" HREF="../../dilib.css"> <title>Nouvelles commandes : Gestion des droits - UNIX</title> <style type="text/css"> Q { font-style: italic; } TABLE { text-align: center; } .remarque { font-size: small; } .remarque:before { content: "REMARQUE :"; } </style> <link rel="copyright" href="http://www.inist.fr/"><link rel="author" href="http://dilib.inist.fr/membres.html"><link rel="chapter" href="caracteristiques.fre.html" title="UNIX"><link rel="chapter" href="X.fre.html" title="X Window"><link rel="chapter" href="redirPipes.fre.html" title="Rappels"><link rel="chapter" href="newCommandsUser.fre.html" title="Commandes UNIX"><link rel="chapter" href="shellVars.fre.html" title="Shell"><link rel="chapter" href="sed.fre.html" title="Sed"><link rel="chapter" href="make.fre.html" title="Make"><link rel="index" href="http://dilib.inist.fr/dilib/v04Main/IndexSite/Server/FR.resource.index.html"><link rel="top" title="Accueil de DILIB" href="http://dilib.inist.fr/dilib/v04Main/"><link rel="alternate" title="English version" href="rightsCommands.eng.html"><link rel="up" href="index.fre.html" title="Tutorial UNIX / Shell"> <link rel="section" href="newCommandsUser.fre.html" title="Commandes utilisateur"><link rel="section" href="rightsCommands.fre.html" title="Gestion des droits"><link rel="section" href="tarzipCommands.fre.html" title="Archives, compression, décompression"><link rel="section" href="processesCommands.fre.html" title="Gestion des processus"><link rel="section" href="tpNewCommands.fre.html" title="TP"> <link rel="first" href="caracteristiques.fre.html" title="Caractéristiques d'UNIX"> <link rel="previous" href="newCommandsUser.fre.html" title="Commandes utilisateur"> <link rel="next" href="tarzipCommands.fre.html" title="Archives, compression, décompression"> <link rel="last" href="tpNewCommands.fre.html" title="Travaux Pratiques"> </head> <body> <h1>Autres commandes Unix</h1> <div id="navcontainer"> <ul id="navlist"> <li><a href="caracteristiques.fre.html">UNIX</a> </li> <li><a href="redirPipes.fre.html">Bases</a> </li> <li><a>Commandes</a> <ul id="subnavlist"> <li><a href="newCommandsUser.fre.html">Complémentaires</a></li> <li><a href="rightsCommands.fre.html" id="subcurrent">Droits</a></li> <li><a href="tarzipCommands.fre.html">Compression</a></li> <li><a href="processesCommands.fre.html">Processus</a></li> <li><a href="tpNewCommands.fre.html">TP</a></li> </ul> </li> <li><a href="shellVars.fre.html">Shell</a> </li> <li><a href="sed.fre.html">Sed</a> </li> <li><a href="make.fre.html">Make</a> </li> </ul> </div> <div class="content"> <h2>Gestion des droits</h2> <ul> <li><h4>ll (alias de <code>ls -alF</code>)</h4> <p>Cette commande permet d'obtenir la description complète d'un répertoire, y compris les fichiers et répertoires cachés (qui commencent par un point) :</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td>ll</td></tr> </table> <p>L'affichage résultant se lit ligne par ligne, par exemple :</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td style="text-align:left">drwxrwxr-x 3 houdry dps 1024 Apr 28 15:28 ./<br>drwxr-xr-x 16 houdry dps 512 Apr 18 16:19 ../<br>-rw-rw-r-- 1 parmentf dilib 2848 Apr 25 11:08 Make.gif<br>-rw-rw-r-- 1 parmentf dilib 2631 Apr 25 11:08 Shell.gif<br>-rw-rw-r-- 1 houdry dps 7817 Apr 25 11:44 redirPipes.html<br>-rw-rw-r-- 1 parmentf dilib 2405 Apr 24 17:36 make.html<br>-rwxrwxr-- 1 houdry dps 235 Apr 24 17:01 exotp.sh*</td></tr> </table> <p>De nombreux éléments d'information sont visibles avec une commande de listing long. Ils sont au nombre de sept, avec dans l'ordre des colonnes :</p> <ul> <li>la liste des droits sur 10 positions (ex.: drwxrwxrwx) <ul> <li>position 1 : le type d'entrée, fichier ou répertoire</li> <li>positions 2-4 : les droits de l'utilisateur (user)</li> <li>positions 5-7 : les droits du groupe de l'utilisateur</li> <li>positions 8-10: les droits des autres groupes</li> </ul> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td style="text-align:left"><code>d</code> : entrée répertoire<br><code>-</code> : entrée fichier<br><code>r</code> : lecture autorisée<br><code>w</code> : écriture autorisée (et écrasement)<br><code>x</code> : fichier exécutable ou répertoire parcourable</td></tr> </table> </li> <li>la taille en blocs de l'entrée (peu utile pour nous)</li> <li>le nom du propriétaire (user unix)</li> <li>le groupe du propriétaire attaché à l'entrée</li> <li>la taille de l'entrée en octets</li> <li>les date et heure de la création ou de la dernière mise à jour</li> <li>le nom du répertoire ou du fichier</li> </ul> </li><br> <li><h4>who, whoami, id</h4> <p>Un utilisateur unix est identifié par deux choses :</p> <ul> <li>son code utilisateur (ex.: parmentf ou houdry)</li> <li>son ou ses groupes (ex.: dps)</li> </ul> <p>Différentes commandes permettent de retrouver ces informations.</p> <p>Identification de l'utilisateur courant :</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td>whoami</td></tr> </table> <p>Identification des utilisateurs du système :</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td>who</td></tr> </table> <p>Affichage des code et groupe de l'utilisateur :</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td>id</td></tr> </table><br> </li> <li><h4>umask</h4> <p>Cette commande permet de paramétrer les droits rwx qui vont servir pour la création des nouveaux fichiers. Deux syntaxes sont possibles, celles qui suivent sont équivalentes et standard :</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td style="text-align:left">umask a=rx,ug+w<br>umask 002</td></tr> </table> <p>Les droits des 3 entités propriétaire (u), groupe du propriétaire (g) et autres groupes (o) doivent être précisés :</p> <ul> <li>a=rx pour mettre les droits r et x seulement pour tous les groupes (a=ugo, all)</li> <li>ug+w pour ajouter le droit w aux groupes u et g seulement</li> </ul> <ul> <li>002 est un masque en octal</li> <li>002 est la négation de l'équivalent à a=rx,ug+w (=775) - voir tableau qui suit</li> </ul> </li><br> <li><h4>chmod</h4> <p>Cette commande permet de modifier les droits d'un fichier ou d'un répertoire. Pour pouvoir le faire, il faut en être propriétaire. Là aussi, il y a deux façons d'utiliser cette commande : avec les groupes ugoa et les droits rwx ou bien avec un profil octal (directement, sans prendre sa négation comme avec <code>umask</code>). Le tableau suivant résume les cas possibles :</p> <table bgcolor="yellow" border="1" class="var" style="margin-left:0;"> <tr> <th>lettres</th> <th>binaire</th> <th>octal</th> </tr> <tr> <td>---</td> <td>000</td> <td>0</td> </tr> <tr> <td>--x</td> <td>001</td> <td>1</td> </tr> <tr> <td>-w-</td> <td>010</td> <td>2</td> </tr> <tr> <td>-wx</td> <td>011</td> <td>3</td> </tr> <tr> <td>r--</td> <td>100</td> <td>4</td> </tr> <tr> <td>r-x</td> <td>101</td> <td>5</td> </tr> <tr> <td>rw-</td> <td>110</td> <td>6</td> </tr> <tr> <td>rwx</td> <td>111</td> <td>7</td> </tr> </table> <p>Par exemple, pour positionner les droits d'un fichier <code>File</code> à rwxr-xr-- :</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td style="text-align:left">chmod 754 <i>[File]</i><br>chmod u=rwx,g=rx,o=r <i>[File]</i></td></tr> </table> <p>Pour modifier des droits positionnés à r--r----x en rwxrw-r--, on peut aussi écrire :</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td>chmod ug+w,u+x,a+r,o-x <i>[File]</i></td></tr> </table><br> </li> <li><h4>chgrp</h4> <p>Cette commande permet de changer le groupe attaché à un fichier ou à un répertoire. Par exemple, un fichier <code>File</code> est lié au groupe dps et il faut le changer pour le lier au groupe dilib (attention, il faut que le user appartienne aux deux groupes) :</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td>chgrp veille <i>[File]</i></td></tr> </table><br> </li> <li><h4>newgrp</h4> <p>Cette commande permet de changer le groupe d'appartenance de l'utilisateur. Cela peut être nécessaire pour accéder à des fichiers dont l'emploi est limité à certains groupes (par ex., dilib par rapport à dps). Pour changer de groupe, il faut appartenir aux deux (l'ancien et le nouveau).</p> <p>À partir du moment où cette commande est lancée, les fichiers et répertoires créés le seront sous ce nouveau groupe.</p> <table bgcolor="yellow" border="1" class="commands" style="margin-left:0;"> <tr><td>newgrp veille</td></tr> </table> </li> </ul> </div> <hr> <address><a href="mailto:philippe.houdry@inist.fr">Philippe.Houdry@inist.fr</a></address> </body> </html>