informatique:linux:chmodown
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| informatique:linux:chmodown [2008/06/23 16:19] – benoit | informatique:linux:chmodown [2013/10/07 11:45] (Version actuelle) – benoit | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| + | ===== Vérifier les droits ===== | ||
| + | |||
| + | Pour voir les droits sur les fichiers et répertoires courants : | ||
| + | |||
| + | ls -l * | ||
| + | |||
| + | Résultat : | ||
| + | drwxr-xr-x | ||
| + | |||
| + | Décomposition du résultat : | ||
| + | ^type^droits utilisateur^droits du groupe^droits des autres^ ^utilisateur proprio^groupe proprio^taille^date de modif^nom du repertoire ou fichier^ | ||
| + | |d|rwx|r-x|r-x|4|root|root|4096|jun 23 15:24|home| | ||
| ===== Modification des propriétaires d'un fichier ===== | ===== Modification des propriétaires d'un fichier ===== | ||
| Ligne 16: | Ligne 28: | ||
| chown -c benoit file*.txt | chown -c benoit file*.txt | ||
| | | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Ligne 21: | Ligne 46: | ||
| ===== Modification des droits sur un fichier ===== | ===== Modification des droits sur un fichier ===== | ||
| + | |||
| + | === Règles d' | ||
| + | |||
| + | Pour modifier des droits sur un fichier il faut comprendre le tableau suivant : | ||
| + | |||
| | ^type^User^^^Groupe^^^Others^^^ | | ^type^User^^^Groupe^^^Others^^^ | ||
| + | ^identification|-|u|||g|||o||| | ||
| ^affichage système|-|r|w|x|r|w|x|r|w|x| | ^affichage système|-|r|w|x|r|w|x|r|w|x| | ||
| ^valeur numérique|-|4|2|1|4|2|1|4|2|1| | ^valeur numérique|-|4|2|1|4|2|1|4|2|1| | ||
| + | |||
| + | * L''' | ||
| + | * Le '' | ||
| + | * Les '' | ||
| + | |||
| + | Pour chaque **u**ser, **g**roup et **o**thers il est possible d' | ||
| + | |||
| + | * La lecture sur un fichier s' | ||
| + | * L' | ||
| + | * L' | ||
| + | |||
| + | === Changement de droit avec les lettres === | ||
| + | Avec cette méthode l' | ||
| + | |||
| + | Pour ajouter les droits de lecture pour le group : | ||
| + | chmod g+r file.txt | ||
| + | |||
| + | Pour ajouter les droits de lecture et ecriture pour le group : | ||
| + | chmod g+rw file.txt | ||
| + | |||
| + | Pour ajouter les droits d' | ||
| + | chmod u+x file.txt | ||
| + | |||
| + | Pour retirer les droits d' | ||
| + | chmod o-w file.txt | ||
| + | |||
| + | === Changement de droit avec les valeurs numériques === | ||
| + | |||
| + | Avec cette méthode le changement de droit s' | ||
| + | 4+2+1 = 7 = rwx | ||
| + | 4+2+0 = 6 = rw- | ||
| + | 4+0+1 = 5 = r-x | ||
| + | 0+0+0 = 0 = --- | ||
| + | |||
| + | Il faut faire cette opération pour l' | ||
| + | chmod 740 file.txt | ||
| + | |||
| + | === Droits spéciaux: setuid, setgid, sticky bit === | ||
| + | |||
| + | Quand un fichier est exécutable par son propriétaire, | ||
| + | |||
| + | De la même façon, un exécutable peut être setgid, et s' | ||
| + | |||
| + | chmod u+s myscript.sh | ||
| + | |||
| + | ==== Restaurer les droits et propriétaires sur tout un système ==== | ||
| + | |||
| + | Il peut arriver que des droits récursif aient été défini par erreur et rende le système "non redémarrable" | ||
| + | Exemple de commande fatal pour un serveur Linux. | ||
| + | chmod 777 /* | ||
| + | |||
| + | Des droits trop permissifs mettent le bon fonctionnement du serveur en péril. Si c'est le cas, il est déconseiller de redémarrer le serveur avant de restaurer les droits. | ||
| + | |||
| + | **L' | ||
| + | |||
| + | Sur un serveur Linux sain, lancer les commandes suivantes : | ||
| + | |||
| + | find / -printf 'chmod %m " | ||
| + | find / -printf 'chown %u:%g " | ||
| + | | ||
| + | Transférer les deux scripts générés sur le serveur cassé et lancer les scripts : | ||
| + | bash restore-chmod.sh | ||
| + | bash restore-chown.sh | ||
| + | |||
| + | A noter qu'il peut y avoir des erreurs (notamment sur des fichiers absents). | ||
informatique/linux/chmodown.1214237942.txt.gz · Dernière modification : (modification externe)
