Tôi đã tìm thấy giải pháp sử dụng quyền Samba, nhưng vẫn muốn biết liệu có bất kỳ cách tiếp cận phía máy khách nào không. (Tôi chưa bao giờ nghe nói về bất kỳ, nhưng ai biết được).
Trong tình huống của tôi, nơi có một máy chủ tệp giống như NAS đang hoạt động + đang chia sẻ một hệ thống tệp NTFS bên ngoài, nơi không có quyền của người dùng nào được đặt từ bên trong Windows, chạy Máy chủ Samba và PC máy khách Ubuntu với người dùng trưởng thành (" tên người lớn") và người dùng trẻ em ("tên trẻ em")...
Samba NAS-box cần có khả năng thêm tên người dùng Ubuntu của đứa trẻ làm người dùng. Ví dụ. thông qua 'tên con adduser'
tên người dùng của đứa trẻ được thêm vào máy chủ, nhưng không thể (dễ dàng) được sử dụng để đặt bất kỳ quyền truy cập tệp acl/Linux nào trên đĩa NTFS, tôi chỉ cần nó ở đó cho Samba
Trên máy chủ sau khi người dùng đã được tạo, họ phải được thêm vào Samba và cũng được bật trên Samba. Các lệnh cho điều này là 'smbpasswd -a tên con' và sau đó là 'smbpasswd -e tên con'.
miễn là chúng hoạt động tốt trước khi thêm người dùng trẻ em (có rất nhiều hướng dẫn), dòng /etc/fstab mà máy chủ sử dụng để gắn ổ cứng của nó không quá quan trọng và có thể để nguyên
dòng /etc/fstab mà máy khách sử dụng để gắn chia sẻ Samba cũng không quá quan trọng, không cần thêm cài đặt mới cho acl, hoặc fmask= và dmask=, hoặc file_mode= và folder_mode=, hoặc cho bất kỳ thông tin xác thực bổ sung nào tập tin được tạo
không cần phải thử và tạo tệp ánh xạ người dùng để bật quyền truy cập tệp acl/POSIX trên đĩa ntfs (điều này có thể là một cách tiếp cận)
trong các tệp etc/fstab tương ứng của chúng, máy chủ có thể sử dụng ntfs làm loại tệp nhưng máy khách phải sử dụng cifs nếu nó muốn tự động đếm
trên ổ cứng dùng chung, tốt nhất là không để thư mục của người dùng trẻ em bên trong thư mục của người lớn hoặc để thư mục của người lớn là thư mục gốc của ổ đĩa (trong trường hợp của tôi, tôi không thể dễ dàng tránh được những điều này)
loại quyền đơn giản cần thiết để thêm người dùng trẻ em không có quyền ghi và quyền đọc hạn chế có thể được quản lý bên trong Samba bằng cách chỉnh sửa smb.conf
trong smb.conf, các cài đặt chung cần có để thêm dòng này: -
có thể duyệt = không
trong smb.conf, mục dành cho chia sẻ của người dùng trưởng thành cần có thêm những dòng này: -
danh sách đọc = tên người lớn gốc tên trẻ em
viết danh sách = tên người lớn gốc
ở trên, mặc dù nó phản trực giác, nhưng tên người dùng của trẻ phải nằm trong danh sách đã đọc của chia sẻ samba của người lớn, vì thư mục của chúng nằm trong đó và các quyền không chỉ đơn giản là "đi qua" để cho phép chúng đọc chia sẻ của chúng mà không có khả năng. để đọc thư mục trên
cài đặt có thể duyệt = không không an toàn như xóa quyền truy cập tệp acl/POSIX khỏi người dùng đó đối với các tệp đó, nhưng trong trường hợp này là đủ tốt
trong smb.conf, mục dành cho chia sẻ của người dùng trẻ em cần có thêm những dòng này: -
danh sách đọc = tên người lớn gốc tên trẻ em
viết danh sách = tên người lớn gốc
trong trường hợp của tôi, những thay đổi trên không ảnh hưởng đến các PC Windows cục bộ truy cập vào các chia sẻ
Các cách tiếp cận khác có thể là tạo các bản sao cục bộ của tất cả các tệp cho người dùng trẻ em hoặc định dạng lại hdd được chia sẻ thành ext4 và sắp xếp bố cục thư mục theo cách khác - nhưng tôi thấy cách này phù hợp hơn, nó làm được điều tôi muốn và nó đang sử dụng Samba's kiểm soát truy cập thiếu acl
Nếu tôi đã thực hiện bất kỳ sai lầm, tôi sẽ biết ơn để biết. Nếu có một cách đơn giản hơn để giới hạn người dùng trong giao diện người dùng Ubuntu thì điều đó cũng sẽ hữu ích (vì việc thêm những thứ như vậy lên trên nếu chúng ở đó cũng không hại gì).