Saya mendapatkan kesalahan izin di CentOS 7 ketika saya mencoba membuat tautan keras. Dengan izin yang sama yang diatur dalam CentOS 6 saya tidak mendapatkan kesalahan. Masalahnya berpusat pada izin grup. Saya tidak yakin versi OS mana yang benar dan mana yang salah.
Biarkan saya menggambarkan apa yang terjadi. Dalam direktori kerja saya saat ini, saya memiliki dua direktori: sumber dan tujuan. Pada awalnya, tujuan kosong; sumber berisi file teks.
[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]#
Seperti yang Anda lihat, mengenai izin kedua direktori tersebut adalah 777, dengan pemilik dan grupnya disetel ke root. Pemilik dan grup file teks juga diatur ke root. Namun, izin file teks adalah baca-tulis untuk pemilik tetapi hanya-baca untuk grup.
Ketika saya login sebagai root, saya tidak punya masalah membuat hard-link di direktori tujuan yang menunjuk ke file teks (di direktori sumber).
[root@tc-dlx-nba cwd]# ln source/test.txt destination/
[root@tc-dlx-nba cwd]# ls destination/
test.txt
Namun, jika saya masuk sebagai pengguna lain, dalam hal ini admin, saya tidak dapat membuat tautan. Saya mendapatkan: "Operasi tidak diizinkan."
[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
Apa yang terjadi sebenarnya masuk akal bagi saya, tetapi karena hal di atas diperbolehkan dalam CentOS 6, saya ingin memeriksa untuk melihat apakah saya salah memahami sesuatu. Bagi saya, sepertinya ada bug di CentOS 6 yang telah diperbaiki di CentOS 7.
Adakah yang tahu apa yang terjadi? Apakah saya benar percaya bahwa perilaku di atas adalah perilaku yang benar? Apakah CentOS 6 yang benar? Atau, apakah keduanya benar dan mungkin ada beberapa masalah izin grup halus yang saya lewatkan? Terima kasih.
Sunting: Saya mencoba tes yang sama sekarang pada Debian v7 VM yang saya miliki. Debian setuju dengan CentOS 7: "Operasi tidak diizinkan."
Sunting # 2: Saya baru saja mencoba hal yang sama pada Mac OS X (Yosemite). Itu bekerja seperti yang dilakukan CentOS 6. Dengan kata lain, itu memungkinkan tautan dibuat. (Catatan: Pada OS X, grup root disebut "roda." Itulah satu-satunya perbedaan, sejauh yang saya tahu.)