« Le système d'exploitation GNU-Linux/Propriétaires et droits d'accès » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Mise en forme + précision
Ligne 1 :
== Les droits d'accès ==
'''LES DROITS D'ACCES'''
Chaque fichier du système est associé à des droits d'accès.
Ceux-ci sont affichés par la commande <tt>ls</tt> en utilisant le format long : <tt>ls -l</tt>.
 
Ces droits d'accès sont résumés en 10 caractères de la forme suivante :
drwxr-xr-x
''type u_read u_write u_exec g_read g_write g_exec o_read o_write o_exec''
 
Exemple :
le premier caractere represente le type de fichier
drwxr-xr-x
 
leLe premier caracterecaractère representereprésente le type de fichier :
d: directory
 
l: lien
 
{| class="wikitable" border="1"
b: periph type block
|+ Types de fichier
! Type
! Description
|-{{ligne grise}}
| -
| ''Regular file'' : fichier normal
|-----
| d
| '''''D'''irectory'' : répertoire
|-{{ligne grise}}
| l
| '''''L'''ink'' : '''l'''ien
|-----
| b
| '''''B'''lock device'' : périphérique '''b'''loc (périphérique à accès direct)
|-{{ligne grise}}
| c
| '''''C'''haracter device'' : périphérique '''c'''aractère (périphérique à accès séquentiel)
|-----
| s
| '''''S'''ocket''
|}
 
leLe reste de la chaine est scindé en 3 blockblocs de 3 caractères qui reprèsentereprésentent les differentsdifférents groupes(propriétaire, groupreniveaux de etdroit autre):
c: periph type caractere
* user(u) : droits concernant le '''propriétaire''' du fichier,
* group(g) : droits concernant les autres membres du '''même groupe''' que le propriétaire du fichier,
* other(o) : droits concernant tous les '''autres''' utilisateurs.
 
Les trois caractères d'un bloc sont les suivants, dans l'ordre :
s: socket
* <tt>r</tt> ('''''r'''ead'') : droit de lire le fichier / lister le contenu du répertoire
* <tt>w</tt> ('''''w'''rite'') : droit d'écrire dans le fichier / modifier le répertoire (créer/supprimer des fichiers)
* <tt>x</tt> (''e'''x'''ecute'') : droit d'exécuter le fichier (programme ou script) / ou de traverser le répertoire (changer le répertoire courant).
 
Si l'un des droits n'est pas accordé, un tiret est affiché à sa place.
le reste de la chaine est scindé en 3 block de 3 caractères qui reprèsente les differents groupes(propriétaire, groupre et autre)
 
Exemple :
propietaire =user(u) , groupe=group(g) , autre= other(o)
-rwxrw-r-- ... script.sh
Le fichier <tt>script.sh</tt> est un fichier normal (<tt>-</tt>) et associé aux droits suivants :
* Le propriétaire peut lire, écrire et exécuter ce fichier (<tt>rwx</tt>),
* Les membres du même groupe que le propriétaire peuvent lire et écrire, mais pas exécuter ce fichier (<tt>rw-</tt>),
* Les autres utilisateurs peuvent seulement lire ce fichier (<tt>r--</tt>).
 
== Modifier les droits ==
r: droit de voir les fichiers contenue dans un répertoire(read)
 
La commande <tt>chmod</tt> permet de modifier les droits associés à un fichier.
w: droit d'écrire dans le répertoire(write)
 
xEnlever :le droit de traverserlecture le(r) aux autres répertoire(execo)
~$ chmod o-r ''nom_de_fichier''
 
ajouteAjouter un droit d'ecritureécriture (w) au groupgroupe (g)
~$ chmod g+w ''nom_de_fichier''
 
Combinaison des deux commandes :
'''CHMOD modifier les droits'''
~$ chmod o-r,g+w ''nom_de_fichier''
 
Spécifier tous les droits avec une valeur numérique :
enleve le droit de lecture (r) au autre (o)
~$ chmod 0754 ''nom_de_fichier''
 
== Droits par défaut ==
~$ chmod o-r nom_de_fichier
Les droits par défaut d'un nouveau fichier sont définis par rapport à un masque des droits défini pour chaque utilisateur avec la commande <tt>umask</tt>.
 
Afficher le masque courant :
ajoute un droit d'ecriture (w) au group (g)
~$ umask
0022
 
Exemples :
~$ chmod g+w nom_de_fichier
* Un fichier est créé avec les droits par défaut 666 (rw-rw-rw-) filtré par le masque 022 :
 
fichier:<pre>666 & 666-~022 = 644 rw- r-- r--</pre>
combinaison:
* Un >répertoire est créé avec les droits par défaut 777 (rwxrwxrwx) filtré par le masque 022 :
 
repertoire: <pre>777- & ~022 = 755 rwx r-x r-x</pre>
~$ chmod o-r,g+w nom_de_fichier
 
 
'''UMASK''':
 
par default
 
titophe66@debian-tof:~$ umask
 
0022
 
fichier: 666-022=644 rw- r-- r--
 
repertoire: 777-022=755 rwx r-x r-x