Estou recebendo um erro de permissão no CentOS 7 quando tento criar um link físico. Com as mesmas permissões definidas no CentOS 6, não recebo o erro. O problema é centrado nas permissões de grupo. Não tenho certeza de qual versão do sistema operacional está certa e qual está errada.
Deixe-me ilustrar o que está acontecendo. No meu diretório de trabalho atual, tenho dois diretórios: origem e destino. No início, o destino está vazio; source contém um arquivo 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 você pode ver, em relação às permissões, os dois diretórios são 777, com o proprietário e o grupo configurados para raiz. O proprietário e o grupo do arquivo de texto também estão definidos como raiz. No entanto, as permissões do arquivo de texto são de leitura e gravação para o proprietário, mas somente leitura para o grupo.
Quando estou logado como root, não tenho problemas para criar um link físico no diretório de destino apontando para o arquivo de texto (no diretório de origem).
[root@tc-dlx-nba cwd]# ln source/test.txt destination/
[root@tc-dlx-nba cwd]# ls destination/
test.txt
No entanto, se eu fizer login como outro usuário, neste caso, admin, não conseguirá criar o link. Eu recebo: "Operação não 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
O que acontece realmente faz sentido para mim, mas como o acima é permitido no CentOS 6, eu queria verificar se estava entendendo algo errado. Para mim, parece um bug no CentOS 6 que foi corrigido no CentOS 7.
Alguém sabe o que dá? Estou certo de acreditar que o comportamento acima é o comportamento correto? O CentOS 6 está correto? Ou, ambos estão certos e talvez haja algum problema sutil de permissão de grupo que esteja faltando? Obrigado.
Edit: Eu tentei o mesmo teste agora em uma VM Debian v7 que eu tenho. O Debian concorda com o CentOS 7: "Operação não permitida".
Edição nº 2: tentei a mesma coisa no Mac OS X (Yosemite). Isso funcionou da maneira que o CentOS 6 funcionou. Em outras palavras, permitiu que o link fosse criado. (Nota: no OS X, o grupo raiz é chamado de "roda". Essa é a única diferença, pelo que sei.)