linux – ¿Cómo cambiar la propiedad de los enlaces simbólicos?

Pregunta:

Estoy enfrentando algún problema con la creación de enlaces suaves. A continuación se muestra el archivo original.

$ ls -l /etc/init.d/jboss
-rwxr-xr-x 1 askar admin 4972 Mar 11  2014 /etc/init.d/jboss

La creación del enlace falla con un problema de permiso para el propietario del archivo:

ln -sv  jboss /etc/init.d/jboss1
ln: creating symbolic link `/etc/init.d/jboss1': Permission denied

$ id
uid=689(askar) gid=500(admin) groups=500(admin)

Entonces, creé el enlace con privilegios de sudo:

$ sudo ln -sv  jboss /etc/init.d/jboss1
`/etc/init.d/jboss1' -> `jboss'

$ ls -l /etc/init.d/jboss1
  lrwxrwxrwx 1 root root 11 Jul 27 17:24 /etc/init.d/jboss1 -> jboss

A continuación, intenté cambiar la propiedad del enlace suave al usuario original.

$ sudo chown askar.admin /etc/init.d/jboss1

$ ls -l /etc/init.d/jboss1
lrwxrwxrwx 1 root root 11 Jul 27 17:24 /etc/init.d/jboss1 -> jboss

Pero el permiso del enlace flexible no se modificará.

¿Qué me falta aquí para cambiar el permiso del enlace?

Respuesta:

En un sistema Linux, cuando se cambia la propiedad de un enlace simbólico usando chown , por defecto cambia el destino del enlace simbólico (es decir, a lo que apunta el enlace simbólico ).

Si desea cambiar la propiedad del enlace en sí, debe usar la opción -h para chown :

-h, –no-dereference afecta a cada enlace simbólico en lugar de a cualquier archivo referenciado (útil solo en sistemas que pueden cambiar la propiedad de un enlace simbólico)

Por ejemplo:

$ touch test
$ ls -l test*
-rw-r--r-- 1 mj   mj   0 Jul 27 08:47 test
$ sudo ln -s test test1
$ ls -l test*
-rw-r--r-- 1 mj   mj   0 Jul 27 08:47 test
lrwxrwxrwx 1 root root 4 Jul 27 08:47 test1 -> test
$ sudo chown root:root test1
$ ls -l test*
-rw-r--r-- 1 root root 0 Jul 27 08:47 test
lrwxrwxrwx 1 root root 4 Jul 27 08:47 test1 -> test

Tenga en cuenta que el destino del enlace ahora es propiedad de root.

$ sudo chown mj:mj test1
$ ls -l test*
-rw-r--r-- 1 mj   mj   0 Jul 27 08:47 test
lrwxrwxrwx 1 root root 4 Jul 27 08:47 test1 -> test

Y de nuevo, el enlace test1 sigue siendo propiedad de root, a pesar de que test ha cambiado.

$ sudo chown -h mj:mj test1
$ ls -l test*
-rw-r--r-- 1 mj mj 0 Jul 27 08:47 test
lrwxrwxrwx 1 mj mj 4 Jul 27 08:47 test1 -> test

Y finalmente cambiamos la propiedad del enlace usando la opción -h .

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım