95 votes

Quelle est la différence entre "chmod +x" et "chmod 755" ?

Lorsqu'il s'agit de rendre un fichier exécutable, quelle est la différence entre chmod 755 y chmod +x et quand dois-je les utiliser ? Jusqu'à présent, je n'ai utilisé que chmod +x et je viens de lire quelque chose et ça utilisait chmod 755 et je ne pouvais pas dire s'il était préférable ou non d'utiliser chmod 755 o chmod +x .

3voto

gowenfawr Points 131

Une différence importante est que chmod + est soumis aux restrictions de l'umask, et chmod <octal> ne l'est pas.

Prenons l'exemple suivant :

$ ls -l foo bar
---------- 1 gowenfawr users 0 Jul  7 16:40 bar
---------- 1 gowenfawr users 0 Jul  7 16:39 foo
$ umask
0022
$ chmod +w bar
$ umask 0002
$ chmod +w foo
$ ls -l foo bar
--w------- 1 gowenfawr users 0 Jul  7 16:40 bar
--w--w---- 1 gowenfawr users 0 Jul  7 16:39 foo
$

Ainsi, si vous souhaitez modifier les permissions d'une manière adaptée à vos paramètres umask, utilisez la syntaxe '+'. Mais si vous voulez le définir absolument sans tenir compte de l'umask, utilisez le format <octal>, et réalisez que vous devez spécifier tous les bits et pas seulement un delta.

2voto

mook765 Points 11801

En plus de ces belles réponses, je veux mentionner une petite différence, mais probablement importante. La commande chmod 755 file est équivalent à chmod 0755 file . Si nous exécutons cette commande sur un fichier qui a le bit SETUID ou le bit SETGID, elle supprimera le bit SETUID/SETGID. chmod +x file ne touchera pas au bit SETUID/SETGID. Nous pouvons le voir dans l'exemple suivant :

~$ touch test
~$ chmod u+s test
~$ ll test
-rwSrw-r-- 1 mook mook 0 Sep 14 00:49 test
~$ chmod +x test
~$ ll test
-rwsrwxr-x 1 mook mook 0 Sep 14 00:49 test
~$ chmod 755 test
~$ ll test
-rwxr-xr-x 1 mook mook 0 Sep 14 00:49 test

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X