GNU/Linux >> Tutoriales Linux >  >> Linux

¿Un caso de uso válido para un permiso de archivo de "solo ejecución"?

Estaba leyendo sobre chmod y sus modos octales. Vi que 1 es ejecutar solamente. ¿Cuál es un caso de uso válido para un permiso de solo ejecución? Para ejecutar un archivo, normalmente se necesita permiso de lectura y ejecución.

$ echo 'echo foo' > say_foo
$ chmod 100 ./say_foo
$ ./say_foo
bash: ./say_foo: Permission denied
$ chmod 500 ./say_foo
$ ./say_foo
foo

Respuesta aceptada:

Scripts de shell requieren el permiso de lectura para ejecutarse, pero archivos binarios no:

$ cat hello.cpp
#include<iostream>

int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
$ g++ -o hello hello.cpp
$ chmod 100 hello
$ ./hello
Hello, world!
$ file hello
hello: executable, regular file, no read permission

Mostrar el contenido de un archivo y ejecutarlo son dos cosas diferentes. Con los scripts de shell, estas cosas están relacionadas porque se "ejecutan" "leyéndolas" en un shell nuevo (o en el actual), si me perdona la simplificación. Es por eso que necesita poder leerlos. Los binarios no usan ese mecanismo.

Para directorios, el permiso de ejecución es un poco diferente; significa que puede hacer cosas con los archivos dentro ese directorio (por ejemplo, leerlos o ejecutarlos). Entonces, digamos que tiene un conjunto de herramientas en /tools que desea que las personas puedan usar, pero solo si saben acerca de ellos. chmod 711 /tools . Luego cosas ejecutables en /tools se puede ejecutar explícitamente (por ejemplo, /tools/mytool ), pero ls /tools/ será denegado. Del mismo modo, los documentos podrían almacenarse en /private-docs que podría leerse si y solo si se conocen los nombres de los archivos.


Linux
  1. ¿Cómo usar Inotifywait para ver un directorio para la creación de archivos de una extensión específica?

  2. Linux – ¿Permiso de archivo para ejecutar solamente?

  3. Conceptos de permisos de archivos de Linux

  4. Tabla de permisos para un archivo/directorio y tipos de usuarios del sistema de archivos

  5. Use sed con caso de ignorar mientras agrega texto antes de algún patrón

Cómo usar CherryTree para tomar notas

Cómo usar el comando SCP para la transferencia de archivos

Cómo usar Bluetooth en Ubuntu para la transferencia de archivos

¿Cómo usar gzip en Linux?

¿Es posible usar / en un nombre de archivo?

¿Por qué usar shm_open?