Saltar al contenido

‘chmod u+x’ frente a ‘chmod +x’

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 a chmod ugo+x (Residencia en umask valor)
  • chmod a+x es igual a chmod ugo+x (Sin considerar umask 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+xo 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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *