Tôi đang nghĩ veto fileslà lựa chọn bạn đang tìm kiếm.
Chỉnh sửa /etc/samba/smb.confvới quyền root. Trong phần chia sẻ cụ thể /var/test, cài đặt sau sẽ loại trừ mọi thư mục con hoặc tệp phù hợp với hậu duệ foohoặc *bar*(hãy cẩn thận, /có nghĩa là OR ):
[myshare]
path = /var/test
veto files = /foo/*bar*/
Sau đó, bạn cần khởi động lại Samba bằng stopvà start(không reload):
sudo /etc/init.d/samba stop
sudo /etc/init.d/samba start
Lưu ý: Chia sẻ được tạo thông qua GUI Nautilus được xác định trong các tệp riêng lẻ /var/lib/samba/usersharenhưng veto files không thể được áp dụng ở đó . Nếu đó là trường hợp của bạn:
- Hoặc thêm
veto filesvào [global]phần của /var/lib/samba/usershare. Điều này sẽ ảnh hưởng đến tất cả các cổ phiếu toàn cầu của bạn.
- Hoặc xóa tệp định nghĩa chia sẻ hiện có bên dưới
/var/lib/samba/usersharevà tạo lại theo cách thủ công /etc/samba/smb.conf. Bạn không thể sao chép dán; thay vào đó, hãy làm theo hướng dẫn .
/tự trongveto filesmẫu không phải là dấu phân cách thư mục. Trong ví dụ trên, với điều kiện bạn thêm một/ở cuối để làm cho nó đúng cú pháp, bất kỳ tập tin hoặc thư mục tên là một trong haivar,testhoặcprivatesẽ được ẩn.