Los derechos de lectura de archivo se ejecutan

0

Estoy registrado como "myuser", que también es el administrador de la computadora. Tengo un archivo en el que tengo los siguientes derechos:

-r--r--r--   1 myuser  staff  167 17 Feb 14:26 my_python.py

Sin embargo, cuando escribo python my_python.py en la línea de comandos, todavía puedo ejecutar el archivo. ¡¿No necesito los derechos de ejecución (x) para hacer eso ?!

La única forma en que no puedo ejecutar el archivo es cuando cambio los derechos a:

----------   1 myuser  staff  167 17 Feb 14:26 my_python.py
    
pregunta Stophface 17.02.2016 - 14:36

2 respuestas

1

Python solo requiere que se lea el contenido del archivo.

Recuerde que Python es un lenguaje interpretado y simplemente procesa el contenido de ese archivo, en lugar de ejecutarlo; ¡Python es el ejecutable aquí! Por lo tanto, llamar al intérprete con el archivo como entrada / argumento no requiere más que permisos de lectura (por ejemplo, python example.py ).

    
respondido por el Mattia 17.02.2016 - 14:42
1

No tiene que ser ejecutable, ya que está ejecutando el ejecutable python y le pasa este archivo.

Sin embargo, si desea ejecutar este archivo con ./my_python.py , este archivo debería ser ejecutable y tiene #!/usr/bin/python en la primera línea (o incluso mejor #!/usr/bin/env python ).

    
respondido por el Mateusz Szlosek 17.02.2016 - 14:42

Lea otras preguntas en las etiquetas