Tôi muốn có thể chia sẻ một ổ đĩa được đặt tên từ bộ chứa Docker qua Samba. Samba đang chạy trên hệ thống máy chủ dưới dạng dịch vụ gốc (không phải trong Docker). Bộ chứa Docker chạy dưới dạng một UID cụ thể, do đó, tất cả các tệp trong ổ đĩa của nó cũng thuộc sở hữu của UID đó.
Hệ thống máy chủ không có người dùng tương đương cho UID được đề cập.
Để đảm bảo rằng tất cả các tệp tiếp tục được sở hữu bởi đúng UID, tôi muốn sử dụng lực lượng người sử dụng
tham số để buộc Samba truy cập tất cả các tệp bằng UID. Đây là cấu hình chia sẻ:
[thùng đựng hàng]
nhận xét = Bộ lưu trữ vùng chứa docker
đường dẫn = /var/lib/docker/volume/appdata/_data
buộc người dùng = 1001
người dùng hợp lệ = # tên người dùng của tôi ở đây
có thể ghi = có
Vấn đề là lực lượng người sử dụng
lệnh dường như không hoạt động vì nó chỉ định ID người dùng là số. Tôi hoàn toàn không thể truy cập vào phần chia sẻ (tôi nhận được thông báo từ chối truy cập từ Windows) vì vậy tôi đoán nó được đặt mặc định cho người dùng "không ai", thực sự sẽ không có quyền truy cập vào thư mục dữ liệu của vùng chứa.
Tài liệu về Samba xác định rằng lực lượng người sử dụng
tham số "chỉ định một UNIX tên tài khoản sẽ được chỉ định làm người dùng mặc định" (nhấn mạnh của tôi). Điều này dường như cho thấy rằng bạn không thể sử dụng UID dạng số làm "tên người dùng".
Có cách nào khác ngoài việc tạo thủ công người dùng trên hệ thống máy chủ phù hợp với UID không? Có một rủi ro bảo mật tiềm ẩn ở chỗ, nếu một vùng chứa khác chạy trong cùng một UID máy chủ, thì người dùng Samba có thể bằng cách nào đó có được quyền truy cập vào dữ liệu của vùng chứa khác.