Làm thế nào để tạo một liên kết chỉ đọc đến một thư mục?


18

Một trong những tập lệnh của tôi tự động tạo một liên kết tượng trưng như vậy:

ln -s /home/hosting/projects/images /home/hosting/projects/demo/images

Làm thế nào tôi có thể làm cho nó để truy cập thông qua liên kết là chỉ đọc?

Câu trả lời:


18

Bạn có thể tạo ra một liên kết gắn kết chỉ đọc .

mount --bind /path/to/source/ /path/to/dest/
mount -o bind,remount,ro /path/to/dest

Có, điều này phải được thực hiện theo hai bước trong hạt nhân sau hạt nhân Linux 2.6.25 (xem liên kết ở trên để biết lý do).

Hoặc, thay vào đó, như một /etc/fstabví dụ dòng ref :

/path/to/source/ /path/to/dest/ none bind,ro

Trong cả hai cách tiếp cận, một liên kết gắn kết sống trong lớp Hệ thống tệp ảo (VFS), do đó, nó không đặc trưng cho bất kỳ hệ thống tệp nào, bạn cũng không thực sự 'gắn kết' bất cứ điều gì. Vì vậy, về cơ bản, điều này đang tạo ra một loại liên kết tượng trưng cho bạn, nhưng điều này không hiển thị như vậy.

Và để trả lời bình luận bên dưới về việc mất dữ liệu ... không, các hướng dẫn này không xóa bất kỳ tệp nào. Trong trường hợp bạn có tệp hiện trên đường dẫn đích, giá trị này sẽ nằm trên phần này. Chỉ cần ngắt kết nối để có thể liệt kê các tệp của bạn trong đường dẫn trên hệ thống tệp bên dưới. Thậm chí còn tốt hơn; nói chung, tránh gắn lên trên một đường dẫn đích không trống.


1
Hãy cẩn thận. Thực hiện theo các bước này và nó loại bỏ toàn bộ thư mục sao lưu của tôi và làm cho nó không thể ghi được bằng daemon sao lưu của tôi.

bạn có thể vui lòng cung cấp giải pháp này như là một mục fstab?
Throoze

@Throoze Bạn đi đây;)
gertvdijk

Lệnh remount có lẽ nên là: mount -o bind,remount,ro /path/to/destXem lwn.net/Articles/637501 từ cùng một chủ đề.
anon

mount -o remount,ro /path/to/destcho tôi lỗi sau: mount: mount point is busy.@gertvdijk
alper

2

để gắn kết liên kết chỉ đọc với một lệnh:

mount --bind -r /path/to/source/ /path/to/dest/

để ngắt kết nối

umount /path/to/dest/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.