¿Cuál es la diferencia entre chmod u+xy just chmod +x? He visto un montón de tutoriales que dicen usar u+xpara hacer scripts ejecutables. Sin embargo, omitir el uno parece tener ningún efecto.
fuente
¿Cuál es la diferencia entre chmod u+xy just chmod +x? He visto un montón de tutoriales que dicen usar u+xpara hacer scripts ejecutables. Sin embargo, omitir el uno parece tener ningún efecto.
La página del manual de chmodcubre eso.
Eso significa que chmod u+x somefilesolo otorgará permisos al propietario de la ejecución de ese archivo, mientras que chmod +x somefilees 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 cambiará: el usuario que lo posee (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 diera 'a', pero los bits que se establecen en la máscara de usuario no se ven afectados.
chmod +x filediferenciándose dechmod a+x file: vea la respuesta de Ravexina para más detalles.Simplemente
+xse aplicará a todos los indicadores: [u] ser, [g] roup, [o] thers.Escriba
man chmodpara más información.fuente
Requisitos
En primer lugar, le sugiero que lea estas preguntas y las respuestas vinculadas a continuación:
Le ayuda a comprender todas las partes necesarias que necesita saber.
Version corta
chmod +xes igual achmod ugo+x(Basado en elumaskvalor)chmod a+xes igual achmod ugo+x(Sin considerar elumaskvalor)Explicación
El resultado de
chmod a+xes establecer el bit ejecutable para todos (Propietario, Grupo, Otros), fácil ¿verdad?Sin embargo,
chmod +xcomo es un poco complicado, diceumaskvalor de uso y, en función de ese valor, agregue el valorxa todos los que están permitidos.Entonces, si el
umaskde mi entorno es0002:Se agregará
xal usuario (propietario), grupo y otros, en esta situación (que es la situación predeterminada para la mayoría de los sistemas) es exactamente igualchmod ugo+xo igual quechmod a+x, o en una forma más detallada:¿Puedes detectar la conexión
chmod u+x,g+x,o+xy la salida deumask -S?Ahora cambiemos el
umaskshell actual a0003:Como puede ver ahora, solo el propietario y el grupo obtendrán el bit ejecutable y no los demás. Significa
chmod +xque ahora es igual achmod u+x,g+xochmod ug+x.¡Hora de preguntar!
¿Qué sucede si ejecuto
chmod +wun archivo después de configurarloumasken0003?Igual que antes, solo afecta
userygroupdel archivo porque 3 también elimina el permiso de escritura (2).Prima
Tiene el mismo efecto cuando eliminas un bit como
chmod -w:fuente
chmod u+xhará que el archivo sea ejecutable para su usuario (solo lo agregará para su usuario, aunque ya puede ser ejecutable por el propietario del grupo u "otro").chmod +xochmod a+x('todo más bit ejecutable') hace que el archivo sea ejecutable por todos.Si hace esto a un directorio, en su lugar, se puede buscar el directorio. Es decir, puede enumerar el contenido de un directorio para el que tiene permiso + x.
fuente
chmod u+x filesignifica agregar el bit ejecutable al propietario del archivo mientras se ignora elumask(Su mod se establecerá, sin duda).chmod +x filesignifica agregar el bit ejecutable al propietario, el grupo y otros mientras considera elumask(Primero verifique yumaskluego aplique los mods, podría tener diferentes efectos según el valor de umask).creemos dos archivos:
Ahora me puse la
umaskde "111" para eliminar los bits de ejecución:umask 111.Como puede ver, el
chmodignoradoumasky el archivo1 obtuvieron un bit ejecutable para su propietario, sin embargo, el segundo no hizo nada porque está considerando el valor de umask.fuente