Si te encuentras con algún detalle que no comprendes puedes comentarlo y haremos todo lo posible de ayudarte lo más rápido posible.
Solución:
La página man de chmod
cubre eso.
- tu significa usuario.
- gramo significa grupo.
- o representa a los demás.
- un representa a todos.
Eso significa que chmod u+x somefile
otorgará solo al propietario de ese archivo permisos de ejecución mientras que chmod +x somefile
es lo mismo que chmod a+x somefile
.
La página de manual de chmod dice:
El formato de un modo simbólico es
[ugoa...][[+-=][rwxXstugo...]...][,...]
. Se pueden dar múltiples operaciones simbólicas, separadas por comas.Una combinación de las letras ‘ugoa’ controla qué acceso de los usuarios al archivo se cambiará: el usuario propietario (u), otros usuarios en el grupo del archivo (g), otros usuarios que no están en el grupo del archivo (o), o todos los usuarios (a). Si no se da ninguno de estos, el efecto es como si se hubiera dado ‘a’, pero los bits que están establecidos en la umask no se ven afectados.
Solo haciendo +x
lo aplicará a todas las banderas: [u]ser, [g]grupo, [o]teres
Tipo man chmod
para más información.
Requisitos
En primer lugar, le sugiero que lea estas preguntas y las respuestas vinculadas a continuación:
- ¿Cuál es la diferencia entre “chmod +x” y “chmod 755”?
- ¿Qué es “umask” y cómo funciona?
Le ayuda a comprender todas las partes necesarias que necesita saber.
Version corta
chmod +x
es igual achmod ugo+x
(Residencia enumask
valor)chmod a+x
es igual achmod ugo+x
(Sin considerarumask
valor)
Explicación
El resultado de chmod a+x
es configurar el bit ejecutable para todos (Propietario, Grupo, Otros), fácil, ¿no?
Sin embargo con chmod +x
es un poco complicado, dice uso umask
valor y en base a ese valor agregar el x
a todos los que están permitidos.
Entonces si el umask
de mi entorno es 0002
:
$ umask
0002
$ umask -S
u=rwx,g=rwx,o=rx
va a agregar x
al usuario (propietario), grupo y otros, en esta situación (que es la situación predeterminada para la mayoría de los sistemas) es exactamente como chmod ugo+x
o lo mismo que chmod a+x
o en una forma más detallada:
chmod u+x,g+x,o+x
¿Puedes identificar la conexión entre chmod u+x,g+x,o+x
y la salida de umask -S
?
Ahora vamos a cambiar el umask
del caparazón actual a 0003
:
$ umask 0003
$ umask
0003
$ umask -S
u=rwx,g=rwx,o=r
Como puede ver ahora, solo el propietario y el grupo obtendrán el bit ejecutable y no los demás. Significa chmod +x
ahora es igual a chmod u+x,g+x
o chmod ug+x
.
¡Hora de preguntar!
que pasa si corro chmod +w
en un archivo después de configurar umask
para 0003
?
Igual que antes, solo afecta user
y group
del archivo porque 3 también elimina el permiso de escritura (2).
Prima
Tiene el mismo efecto cuando se quita un poco como chmod -w
:
$ mkdir test
$ stat -c %A test
drwxrwxr-x
$ umask
0002
$ chmod +w test
$ stat -c %A test
drwxrwxr-x
$ chmod a+w test
$ stat -c %A test
drwxrwxrwx
$ chmod -w test
chmod: test/: new permissions are r-xr-xrwx, not r-xr-xr-x
$ stat -c %A test
dr-xr-xrwx
Al final de todo puedes encontrar las anotaciones de otros administradores, tú asimismo eres capaz insertar el tuyo si dominas el tema.