En Linux es posible cambiar el propietario o el propietario del grupo de un enlace simbólico (enlace simbólico). Me preguntaba por qué alguien querría hacer eso, ya que los permisos de un enlace simbólico no se utilizan al acceder a un archivo a través de él.
Solo puedo imaginar un caso de uso en el que podría ser útil: permitir que un usuario elimine un enlace simbólico en un directorio con bits fijos.
¿Conoces otros casos en los que podría ser útil cambiar el propietario o el propietario del grupo de un enlace simbólico?
mv myfile foo
, y la raíz terminará cambiando el propietario demyfile
. Peromyfile
tiene que ser un archivo que Eve pueda crear o mover a ese directorio, no puede ser ningún archivo en el sistema.chown -h
como medida de precaución al cambiar la propiedad de un archivo que no se supone que sea un enlace simbólico, pero que aún podría serlo (un caso extremo, IMO). No explica por qué uno podría desear cambiar la propiedad de un archivo que de hecho pretende ser un enlace simbólico, que es lo que se hizo la pregunta.chown
cambiar el propietario de "un archivo fuera del árbol" es todo lo que está cambiando es el propietario del directorio?chown -R
, que llama a la(l)chown
llamada del sistema en cada entrada del directorio. Si la entrada del directorio es un enlace simbólico, entonces no debe llamar a la llamada delchown
sistema porque eso afectaría el objetivo del enlace que puede estar ubicado fuera del árbol.Apache se puede configurar para seguir enlaces simbólicos solo si el propietario del enlace coincide con el propietario del destino. Esto puede ayudar a evitar que los usuarios creen enlaces para el acceso web a archivos que no son de su propiedad (por ejemplo, / etc / passwd).
... así que digamos que, como root, quería que Apache siguiera un enlace para mostrar un determinado archivo de registro, que era propiedad de xymon o algo así, pero no quería relajar la seguridad de Apache al permitirle seguir enlaces simbólicos independientemente del propietario . Entonces es posible que desee hacer que xymon sea el propietario del enlace simbólico.
fuente
/etc/passwd
, entonces el malvado podría haber leído el acceso a ese archivo sin tener ningún otro acceso local, pero se vería frustrado por el enlace simbólico que es propiedad de apache.La primera respuesta no parece abordar la pregunta, y la segunda solo se aplica a Apache.
Una cosa que puedo pensar para Linux en general es que solo es posible para un usuario común hacer un enlace rígido a un enlace simbólico si el usuario es el propietario del enlace simbólico. Por qué uno querría hacer ese enlace, no lo sé.
Otra cosa es que un usuario común solo puede cambiar la propiedad del grupo de un archivo si el usuario posee el archivo (y también es miembro del grupo al que se está agregando el archivo). Esto plantea la pregunta de qué propiedad del grupo un enlace simbólico lo hace. En una organización, puede ser útil como una etiqueta para indicar qué equipo necesitaría el enlace.
Además, al menos en Ubuntu, cualquiera puede actualizar la marca de tiempo de un enlace simbólico. Sin embargo, puede haber algunos sistemas que solo permiten que el propietario lo haga. No estoy seguro de qué sirve la marca de tiempo para un enlace simbólico, pero puede proporcionar información útil sobre cuánto se usa.
Editar: Acabo de darme cuenta de otra razón por la cual la propiedad sería importante. El enlace podría estar dentro de un directorio fijo, donde solo el propietario de un archivo puede eliminarlo o cambiarle el nombre.
fuente
Tengo un programa que se agrega a un archivo de registro. Estos archivos de registro se crean mensualmente, cada uno con un nombre diferente. En lugar de que el software descubra el nombre de archivo exacto, uso un nombre de archivo "genérico" (digamos data.log) que es un enlace simbólico que apunta al archivo actual de ese mes. Esto está automatizado en un trabajo cron.
Ahora que se crea un nuevo archivo mensual, necesita apuntar el enlace simbólico al nuevo archivo. Si hay un conflicto de propiedad / grupo, el software no puede cambiar el enlace simbólico. Por lo tanto, necesita privilegios de propiedad / escritura grupal para cambiar el enlace simbólico.
fuente
Si desea tener un enlace a un archivo en su pantalla de apertura, el enlace simbólico debe estar en el
"/ inicio / nombre de usuario / Escritorio"
directorio.
Y, el enlace simbólico en sí mismo debe tener propiedad de root: root (0: 0), de lo contrario, el enlace no funciona.
(Ubuntu / Debian, etc.)
fuente