Recibo un error de permisos en CentOS 7 cuando intento crear un enlace duro. Con los mismos permisos establecidos en CentOS 6, no obtengo el error. El problema se centra en los permisos de grupo. No estoy seguro de qué versión del sistema operativo es correcta y cuál es incorrecta.
Déjame ilustrar lo que está sucediendo. En mi directorio de trabajo actual, tengo dos directorios: origen y destino. Al principio, el destino está vacío; fuente contiene un archivo de texto.
[root@tc-dlx-nba cwd]# ls -l
total 0
drwxrwxrwx. 2 root root 6 Jun 12 14:33 destination
drwxrwxrwx. 2 root root 21 Jun 12 14:33 source
[root@tc-dlx-nba cwd]# ls -l destination/
total 0
[root@tc-dlx-nba cwd]# ls -l source/
total 4
-rw-r--r--. 1 root root 8 Jun 12 14:20 test.txt
[root@tc-dlx-nba cwd]#
Como puede ver, con respecto a los permisos, los dos directorios son 777, con el propietario y el grupo configurados como root. El propietario y el grupo del archivo de texto también están configurados como root. Sin embargo, los permisos del archivo de texto son de lectura y escritura para el propietario, pero de solo lectura para el grupo.
Cuando estoy conectado como root, no tengo problemas para crear un enlace duro en el directorio de destino que apunta al archivo de texto (en el directorio de origen).
[root@tc-dlx-nba cwd]# ln source/test.txt destination/
[root@tc-dlx-nba cwd]# ls destination/
test.txt
Sin embargo, si inicio sesión como otro usuario, en este caso, administrador, no puedo crear el enlace. Me sale: "Operación no permitida".
[root@tc-dlx-nba cwd]# rm -f destination/test.txt
[root@tc-dlx-nba cwd]# su admin
bash-4.2$ pwd
/root/cwd
bash-4.2$ ln source/test.txt destination/
ln: failed to create hard link ‘destination/test.txt’ => ‘source/test.txt’: Operation not permitted
Lo que sucede en realidad tiene sentido para mí, pero como lo anterior está permitido en CentOS 6, quería verificar si estaba malentendiendo algo. Para mí, parece un error en CentOS 6 que se ha solucionado en CentOS 7.
Alguien sabe lo que da? ¿Estoy en lo cierto al creer que el comportamiento anterior es el correcto? ¿Es CentOS 6 lo correcto? O bien, ¿tienen razón y quizás haya un problema sutil de permisos de grupo que me falta? Gracias.
Editar: Intenté la misma prueba en este momento en una máquina virtual Debian v7 que tengo. Debian está de acuerdo con CentOS 7: "Operación no permitida".
Edición n. ° 2: acabo de intentar lo mismo en Mac OS X (Yosemite). Eso funcionó de la manera que lo hizo CentOS 6. En otras palabras, permitió que se creara el enlace. (Nota: en OS X, el grupo raíz se llama "rueda". Esa es la única diferencia, por lo que puedo decir).