<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>