Tôi đang gặp lỗi về quyền trong CentOS 7 khi tôi cố gắng tạo liên kết cứng. Với các quyền tương tự được đặt trong CentOS 6, tôi không gặp lỗi. Các vấn đề tập trung vào quyền của nhóm. Tôi không chắc phiên bản HĐH nào đúng và sai.
Hãy để tôi minh họa những gì đang xảy ra. Trong thư mục làm việc hiện tại của tôi, tôi có hai thư mục: nguồn và đích. Khi bắt đầu, đích đến trống rỗng; nguồn chứa một tệp văn bản.
[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]#
Như bạn có thể thấy, liên quan đến các quyền, hai thư mục là 777, với cả chủ sở hữu và nhóm được đặt thành root. Chủ sở hữu và nhóm của tệp văn bản cũng được đặt thành root. Tuy nhiên, quyền của tệp văn bản là đọc-ghi cho chủ sở hữu nhưng chỉ đọc cho nhóm.
Khi tôi đăng nhập bằng root, tôi không gặp vấn đề gì khi tạo liên kết cứng trong thư mục đích trỏ đến tệp văn bản (trong thư mục nguồn).
[root@tc-dlx-nba cwd]# ln source/test.txt destination/
[root@tc-dlx-nba cwd]# ls destination/
test.txt
Tuy nhiên, nếu tôi đăng nhập với tư cách người dùng khác, trong trường hợp này là quản trị viên, tôi không thể tạo liên kết. Tôi nhận được: "Hoạt động không được phép."
[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
Điều gì xảy ra thực sự có ý nghĩa với tôi, nhưng vì những điều trên được cho phép trong CentOS 6, tôi muốn kiểm tra xem liệu tôi có đang hiểu nhầm điều gì không. Đối với tôi, nó có vẻ như là một lỗi trong CentOS 6 đã được sửa trong CentOS 7.
Bất cứ ai biết những gì cho? Tôi có đúng khi tin rằng hành vi trên là hành vi đúng? Có phải CentOS 6 là chính xác? Hoặc, cả hai đều đúng và có lẽ có một số vấn đề quyền nhóm tinh tế mà tôi đang thiếu? Cảm ơn.
Chỉnh sửa: Tôi đã thử cùng một bài kiểm tra trên máy ảo Debian v7 mà tôi có. Debian đồng ý với CentOS 7: "Hoạt động không được phép."
Chỉnh sửa # 2: Tôi vừa thử điều tương tự trên Mac OS X (Yosemite). Điều đó đã làm việc theo cách mà CentOS 6 đã làm. Nói cách khác, nó cho phép liên kết được tạo. (Lưu ý: Trên OS X, nhóm gốc được gọi là "bánh xe." Đó là sự khác biệt duy nhất, theo như tôi có thể nói.)