¿Puedo crear un enlace simbólico a un archivo al que no puedo acceder?

¿Puedo crear un enlace simbólico a un archivo al que no puedo acceder?

[Descargo de responsabilidad: no hay ninguna intención maliciosa en esta pregunta, estoy tratando de entender el comando ln -s para un proyecto escolar]

Digamos que tengo un sistema de archivos con mi carpeta de inicio, /home/anna. /home/bobes una carpeta a la que no puedo acceder, con un archivo al que no puedo acceder,foo.txt

¿Puedo ejecutarlo correctamente ln -s /home/bob/foo.txten mi carpeta de inicio? ¿Es correcto suponer que si puedo, generará un enlace al que no puedo acceder (con los mismos permisos que foo.txt)?

¿Qué pasa si SÍ tenía privilegios de lectura foo.txtpero no tenía acceso a ellos /home/bob?

¿Qué pasa en el caso inverso, donde puedo acceder /home/bobpero no leer foo.txt?

Respuesta1

Sí,puedes crear un enlace simbólico acualquierubicación.

¿Puedo ejecutarlo correctamente ln -s /home/bob/foo.txten mi carpeta de inicio? ¿Es correcto suponer que si puedo, generará un enlace al que no puedo acceder (con los mismos permisos que foo.txt)?

Correcto. Se aplican las restricciones de acceso del archivo de destino. Si crea un enlace simbólico a un recurso restringido, simplemente no podrá acceder a él. Ni siquiera es necesario que el archivo de destino exista realmente.

Una demostración:

$ ln -s /etc/shadow foo
$ file foo
foo: symbolic link to /etc/shadow
$ cat foo
cat: foo: Permission denied

$ ln -s /etc/nonexistent bar
$ file bar
bar: broken symbolic link to /etc/nonexistent

¿Qué pasa si SÍ tenía privilegios de lectura foo.txtpero no tenía acceso a ellos /home/bob?

Si no tiene permisos en el directorio principal,no puedes acceder al archivo contenido. Entonces, con un enlace simbólico aún no podrás acceder a él. La creación de un enlace simbólico no afecta los permisos.

¿Qué pasa en el caso inverso, donde puedo acceder /home/bobpero no leer foo.txt?

Nuevamente, puede crear un enlace simbólico, pero no acceder al archivo.

información relacionada