Newer
Older
cours-unix-shell / UnixShell_cours2018 / rightsCommands.fre.html
<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&eacute;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&eacute;ristiques d'UNIX">
    <link rel="previous" href="newCommandsUser.fre.html" title="Commandes utilisateur">
    <link rel="next" href="tarzipCommands.fre.html" title="Archives, compression, d&eacute;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&eacute;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&egrave;te d'un r&eacute;pertoire, y compris les fichiers
	et r&eacute;pertoires cach&eacute;s (qui commencent par un
	point)&nbsp;:</p>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td>ll</td></tr>
        </table>

	<p>L'affichage r&eacute;sultant se lit ligne par ligne, par
	exemple&nbsp;:</p>

	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td style="text-align:left">drwxrwxr-x&nbsp;&nbsp;3&nbsp;houdry&nbsp;&nbsp;&nbsp;dps&nbsp;&nbsp;&nbsp;1024 Apr 28 15:28 ./<br>drwxr-xr-x&nbsp;16&nbsp;houdry&nbsp;&nbsp;&nbsp;dps&nbsp;&nbsp;&nbsp;&nbsp;512 Apr 18 16:19 ../<br>-rw-rw-r--&nbsp;&nbsp;1&nbsp;parmentf&nbsp;dilib&nbsp;2848 Apr 25 11:08 Make.gif<br>-rw-rw-r--&nbsp;&nbsp;1&nbsp;parmentf&nbsp;dilib&nbsp;2631 Apr 25 11:08 Shell.gif<br>-rw-rw-r--&nbsp;&nbsp;1&nbsp;houdry&nbsp;&nbsp;&nbsp;dps&nbsp;&nbsp;&nbsp;7817 Apr 25 11:44 redirPipes.html<br>-rw-rw-r--&nbsp;&nbsp;1&nbsp;parmentf&nbsp;dilib&nbsp;2405 Apr 24 17:36 make.html<br>-rwxrwxr--&nbsp;&nbsp;1&nbsp;houdry&nbsp;&nbsp;&nbsp;dps&nbsp;&nbsp;&nbsp;&nbsp;235 Apr 24 17:01 exotp.sh*</td></tr>
        </table>

	<p>De nombreux &eacute;l&eacute;ments d'information sont
	visibles avec une commande de listing long. Ils sont au nombre
	de sept, avec dans l'ordre des colonnes&nbsp;:</p>
	<ul>
	  <li>la liste des droits sur 10 positions (ex.: drwxrwxrwx)
	    <ul>
	      <li>position 1&nbsp;&nbsp;&nbsp;&nbsp;: le type
	      d'entr&eacute;e, fichier ou r&eacute;pertoire</li>

	      <li>positions 2-4&nbsp;: les droits de l'utilisateur (user)</li>

	      <li>positions 5-7&nbsp;: 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>&nbsp;: entr&eacute;e r&eacute;pertoire<br><code>-</code>&nbsp;: entr&eacute;e fichier<br><code>r</code>&nbsp;: lecture autoris&eacute;e<br><code>w</code>&nbsp;: &eacute;criture autoris&eacute;e (et &eacute;crasement)<br><code>x</code>&nbsp;: fichier ex&eacute;cutable ou r&eacute;pertoire parcourable</td></tr>
	    </table>
	  </li>

	  <li>la taille en blocs de l'entr&eacute;e (peu utile pour nous)</li>

	  <li>le nom du propri&eacute;taire (user unix)</li>

	  <li>le groupe du propri&eacute;taire attach&eacute; &agrave;
	  l'entr&eacute;e</li>

	  <li>la taille de l'entr&eacute;e en octets</li>

	  <li>les date et heure de la cr&eacute;ation ou de la
	  derni&egrave;re mise &agrave; jour</li>

	  <li>le nom du r&eacute;pertoire ou du fichier</li>
	</ul>

      </li><br>


      <li><h4>who, whoami, id</h4>

	<p>Un utilisateur unix est identifi&eacute; par deux choses&nbsp;:</p>
	<ul>
	  <li>son code utilisateur (ex.: parmentf ou houdry)</li>
	  <li>son ou ses groupes (ex.: dps)</li>
	</ul>
	<p>Diff&eacute;rentes commandes permettent de retrouver ces informations.</p>

	<p>Identification de l'utilisateur courant&nbsp;:</p>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td>whoami</td></tr>
        </table>

	<p>Identification des utilisateurs du syst&egrave;me&nbsp;:</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&nbsp;:</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&eacute;trer les droits rwx qui vont servir pour la cr&eacute;ation des nouveaux fichiers. Deux syntaxes sont possibles, celles qui suivent sont &eacute;quivalentes et standard&nbsp;:</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&eacute;s propri&eacute;taire (u), groupe du propri&eacute;taire (g) et autres groupes (o) doivent &ecirc;tre pr&eacute;cis&eacute;s&nbsp;:</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&eacute;gation de l'&eacute;quivalent &agrave; 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&eacute;pertoire. Pour pouvoir le faire, il faut en &ecirc;tre propri&eacute;taire. L&agrave; aussi, il y a deux fa&ccedil;ons d'utiliser cette commande&nbsp;: avec les groupes ugoa et les droits rwx ou bien avec un profil octal (directement, sans prendre sa n&eacute;gation comme avec <code>umask</code>). Le tableau suivant r&eacute;sume les cas possibles&nbsp;:</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> &agrave; rwxr-xr--&nbsp;:</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&eacute;s &agrave; r--r----x en rwxrw-r--, on peut aussi &eacute;crire&nbsp;:</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&eacute; &agrave; un fichier ou &agrave; un r&eacute;pertoire. Par exemple, un fichier <code>File</code> est li&eacute; au groupe dps et il faut le changer pour le lier au groupe dilib (attention, il faut que le user appartienne aux deux groupes)&nbsp;:</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 &ecirc;tre n&eacute;cessaire pour acc&eacute;der &agrave; des fichiers dont l'emploi est limit&eacute; &agrave; certains groupes (par ex., dilib par rapport &agrave; dps). Pour changer de groupe, il faut appartenir aux deux (l'ancien et le nouveau).</p>
	<p>&Agrave; partir du moment o&ugrave; cette commande est lanc&eacute;e, les fichiers et r&eacute;pertoires cr&eacute;&eacute;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>