Ricevo un errore di autorizzazione in CentOS 7 quando provo a creare un collegamento reale. Con le stesse autorizzazioni impostate in CentOS 6 non ottengo l'errore. Il problema è incentrato sulle autorizzazioni di gruppo. Non sono sicuro di quale versione del sistema operativo sia corretta e quale sia errata.
Vorrei illustrare cosa sta succedendo. Nella mia directory di lavoro corrente, ho due directory: sorgente e destinazione. All'inizio, la destinazione è vuota; la fonte contiene un file di testo.
[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]#
Come puoi vedere, per quanto riguarda le autorizzazioni le due directory sono 777, con il proprietario e il gruppo impostati su root. Anche il proprietario e il gruppo del file di testo sono entrambi impostati su root. Tuttavia, le autorizzazioni del file di testo sono di lettura / scrittura per il proprietario ma di sola lettura per il gruppo.
Quando ho effettuato l'accesso come root, non ho problemi a creare un collegamento reale nella directory di destinazione che punta al file di testo (nella directory di origine).
[root@tc-dlx-nba cwd]# ln source/test.txt destination/
[root@tc-dlx-nba cwd]# ls destination/
test.txt
Tuttavia, se accedo come un altro utente, in questo caso, amministratore, non riesco a creare il collegamento. Ottengo: "Operazione non consentita".
[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
Quello che succede in realtà ha senso per me, ma poiché quanto sopra è consentito in CentOS 6, volevo verificare se stavo fraintendendo qualcosa. A me sembra un bug in CentOS 6 che è stato corretto in CentOS 7.
Qualcuno sa cosa dà? Ho ragione nel credere che il comportamento sopra descritto sia il comportamento corretto? CentOS 6 è corretto? Oppure, hanno entrambi ragione e forse c'è qualche sottile problema con le autorizzazioni di gruppo che mi manca? Grazie.
Modifica: ho provato lo stesso test proprio ora su una VM Debian v7 che ho. Debian è d'accordo con CentOS 7: "Operazione non consentita".
Modifica n. 2: ho appena provato la stessa cosa su Mac OS X (Yosemite). Funzionava come CentOS 6. In altre parole, ha permesso di creare il collegamento. (Nota: su OS X, il gruppo radice si chiama "ruota". Questa è l'unica differenza, per quanto ne so.)