Ubuntu + phiên bản samba mới nhất, symlink không còn hoạt động trên chia sẻ được gắn trong windows


14

Tôi vừa mới cài đặt apt (apt-got?) Phần mềm mới nhất cho hộp linux Ubuntu 9.10 của tôi và tôi nhận thấy rằng samba là bản được bao gồm trong bản cập nhật.

Sau khi cài đặt, các liên kết tượng trưng trong thư mục nhà của tôi không còn hoạt động khi được gắn dưới dạng một ổ đĩa trong hộp linux của tôi. Họ làm việc theo nghĩa đen vài giây trước khi tôi thực hiện cập nhật. Tất cả các thư mục bình thường của tôi hoạt động tốt. Xem danh sách thư mục trên dòng lệnh, tất cả các tệp, thư mục & liên kết đều có cùng một quyền chính xác, tuy nhiên đây là lỗi tôi gặp phải:

Location is not available
L:\LinkDir is not accessible.
Access is denied.

Tôi đã xem trên các diễn đàn và tôi thấy tùy chọn này cho smb.conf

follow symlinks = yes
wide symlinks = yes
unix extensions = no

Tôi đặt chúng vào, nhưng chúng không có tác dụng. Có ai có vấn đề này chưa?

Câu trả lời:


19

Có một vấn đề bảo mật gần đây ở Samba ( ngày 5 tháng 2 năm 2010 ), một khai thác không ngày được tuyên bố đã khai thác một cấu hình mặc định không an toàn. Theo một bài đăng trên Diễn đàn Ubuntu về chủ đề này, tùy chọn "liên kết rộng" hiện mặc định là không .

Rõ ràng tên của tùy chọn đã được thay đổi kể từ những hướng dẫn trước đó bạn đã tìm thấy.

Thêm phần này vào phần toàn cầu của tệp smb.conf của bạn sẽ khắc phục sự cố:

follow symlinks = yes
wide links = yes
unix extensions = no

Sau khi lưu smb.conf , hãy chắc chắn bạn khởi động lại Samba:

sudo /etc/init.d/samba restart

1
Tôi nghĩ rằng cấu hình được đề xuất là đặt follow symlinkswide linkstrong phần chia sẻ (thay vì toàn cầu) vì lý do bảo mật. Lệnh unix extensionsnày sẽ đi vào phần toàn cầu như được chỉ ra bởi user36732 bên dưới.
Matthew

nó không làm việc cho tôi; máy chủ samba trên raspberrypi ubfox: cifs mount trên arch linux.
Necktwi

2

Điều này cũng giúp tôi mặc dù tôi không nghĩ nó sẽ xảy ra. Tôi có hai cổ phiếu Samba trên mu Ubuntu. Trong cả hai chia sẻ, tôi sử dụng các liên kết tượng trưng nhưng trong một lần chia sẻ (chia sẻ), các liên kết tượng trưng đã hoạt động nhưng trong một lần khác (cũng được chia sẻ) thì không.

Tôi không gặp vấn đề gì khi theo các liên kết trên linux nhưng trên Win thì nó không hoạt động.

Tôi thậm chí có thể sử dụng hai cửa sổ puTTy cạnh nhau, một trong thư mục / data của tôi và một trong thư mục / data2 của tôi và đưa ra cùng một lệnh: ln -s / data3 / Mydata.

Thư mục Mydata sẽ xuất hiện trong cả hai ổ đĩa được ánh xạ của tôi trên hộp Win nhưng trong một trường hợp nó sẽ hoạt động nhưng trong trường hợp khác tôi sẽ gặp lỗi "Truy cập bị từ chối".

"Phần mở rộng unix = không" đã thực hiện mẹo nhưng tôi không biết tại sao ...


0

Tôi cũng gặp vấn đề tương tự, nhưng đối với tôi, việc đưa "unix extend = no" vào phần [toàn cầu] của smb.conf đã khắc phục vấn đề. Điều quan trọng là bạn đặt nó vào cờ mở rộng unix vào phần toàn cầu (hợp lệ cho tất cả các chia sẻ), vì điều này được phân tích cú pháp trước khi Samba biết chia sẻ mà người dùng kết nối với. Tùy chọn Wide links có thể đi vào phần chia sẻ được áp dụng.

Chỉ là một nhận xét cho những người bị hành vi này cắn và muốn tránh những sự cố tương tự trong tương lai: Nhóm samba không đọc trình theo dõi lỗi phân phối, nhưng họ có danh sách riêng:

samba-technical@lists.samba.org

Nhóm samba sống dưới ấn tượng rằng chỉ có một số ít người bị ảnh hưởng bởi lỗi này và họ chỉ có thể bị thuyết phục nếu không có nhiều người lên tiếng. Vì vậy, nếu bạn quan tâm, hãy gửi một ghi chú đến samba-technical@lists.samba.org

Cảm ơn,

Alain


0

NB: đã đăng bài này để trả lời một câu hỏi khác , nhưng khi chỉ đăng liên kết, câu trả lời (rất ngắn!) Của tôi đã được chuyển đổi thành một nhận xét cho câu hỏi ban đầu này (xem ở trên) và hơi vô hình. Vì vậy, để hiển thị, đây là câu trả lời đầy đủ một lần nữa:

Để cho phép khách hàng Samba theo dõi các liên kết ngoài đường dẫn được chia sẻ, tất cả những gì bạn cần trong cấu hình Samba là:

[global]
allow insecure wide links = yes
unix extensions = no

[myShare]
wide links = yes

(tất nhiên, ngoài các định nghĩa chia sẻ Samba, tất nhiên). Điều này là đủ về mặt lý thuyết cho các khách hàng * nix.

Lưu ý: Chỉ thị "theo liên kết tượng trưng" là không cần thiết vì nó mặc định là "có"

Đối với các máy khách Windows, vẫn còn thiếu 1 cài đặt để cho phép chúng theo các liên kết như vậy. Làm như vậy :

  1. mở một vỏ Windows có đặc quyền Quản trị viên
  2. chạy :

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. khởi động lại để tải lại cài đặt

NB: kết quả tương tự có thể bị cản trở bằng cách chỉnh sửa sổ đăng ký Windows. Xem các liên kết dưới đây

nguồn:

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.