Samba là một công cụ mã nguồn mở mạnh mẽ cho phép chia sẻ file và máy in giống như Windows trên mạng trong hệ thống Linux. Nó cho phép các máy tính Linux và Windows cùng tồn tại và tương tác trên cùng một mạng. Samba được cài đặt trên máy chủ Linux nơi chứa các file được chia sẻ. Sau đó, các file được chia sẻ này có thể được truy cập bởi bất kỳ Linux hoặc Windows client được ủy quyền nào trên cùng một mạng.
Bài viết này sẽ giải thích cách cài đặt và cấu hình máy chủ Samba trên hệ thống Debian. Chúng ta cũng sẽ tìm hiểu cách truy cập các file được chia sẻ này từ máy Linux hoặc Windows.
Lưu ý: Bài viết đã sử dụng Debian 11 để chạy các lệnh và quy trình được đề cập trong bài viết này. Tuy nhiên, các lệnh và quy trình hoạt động gần như giống nhau trong các bản phân phối Linux khác.
Cài đặt Samba trên Debian
Khởi chạy Terminal trong hệ điều hành Debian của bạn. Chuyển đến tab Activities ở góc trên cùng bên trái của màn hình. Sau đó trên thanh tìm kiếm gõ từ khóa terminal. Khi kết quả tìm kiếm xuất hiện, nhấp vào biểu tượng Terminal để mở.
Trong Terminal, nhập lệnh sau để cài đặt máy chủ Samba.
$ sudo apt install samba
Nó có thể yêu cầu xác nhận bằng cách cung cấp cho bạn tùy chọn Y/n. Nhấn y để tiếp tục quá trình cài đặt và Samba sẽ được cài đặt trên hệ thống của bạn.
Trong khi cài đặt, nó có thể hỏi bạn có muốn sử dụng cài đặt WINS từ DHCP không. Nếu máy chủ của bạn đang sử dụng địa chỉ IP tĩnh, hãy chọn NO.
Xác minh cài đặt SAMBA
Để xác minh cài đặt, hãy kiểm tra trạng thái của service samba “nmbd”. Service này tự động khởi động khi cài đặt Samba.
$ sudo systemctl status nmbd
Nếu máy chủ samba được cài đặt và chạy thành công, bạn sẽ thấy trạng thái Active(running).
Nếu service không tự động khởi động, hãy chạy lệnh này để khởi động thủ công:
$ sudo systemctl start nmbd
Cấu hình Samba
Sau khi quá trình cài đặt máy chủ Samba hoàn tất, giờ là lúc cấu hình nó. File cấu hình samba smb.conf nằm ở thư mục /etc/samba. Trong file này, bạn chỉ định thư mục và máy in mà mình muốn chia sẻ cùng với các quyền và thông số hoạt động của chúng. Samba xem lại file cấu hình của nó sau một khoảng thời gian nhất định và cập nhật mọi thay đổi.
Thực hiện theo các bước dưới đây để thực hiện cấu hình:
Bước 1: Tạo thư mục để chia sẻ file qua Samba. Thư mục này sẽ giữ các file cần chia sẻ. Chạy lệnh sau để tạo một thư mục mới trong thư mục root.
$sudo mkdir /samba
Bước 2: Bây giờ, chúng ta sẽ cần chỉnh sửa file cấu hình smb.conf. Trước khi chỉnh sửa file cấu hình, hãy đảm bảo tạo bản sao lưu của file này trong cùng thư mục hoặc thư mục khác. Thực hiện lệnh sau để tạo bản sao lưu của file smb.conf.
$ sudo cp /etc/samba/smb.conf ~/Documents smb_backup.conf
Lệnh này sẽ tạo bản sao lưu tại thư mục ~/Documents.
Bước 3: Bây giờ, hãy chỉnh sửa file cấu hình gốc bằng bất kỳ trình soạn thảo văn bản nào như Vim, Nano hoặc Gedit. Bài viết đang sử dụng trình soạn thảo Nano ở đây:
$ sudo nano /etc/samba/smb.conf
Cuộn xuống cuối smb.conf và thêm các dòng sau:
[samba-share]
comment = Samba on Debian
path = /samba
read-only = no
browsable = yes
Trong đó:
- [samba-share] = tên của samba share
- comment = mô tả ngắn gọn về chia sẻ
- Path = đường dẫn của thư mục chia sẻ.
- Read-only = đặt thư mục chia sẻ ở dạng có thể đọc được
- Browsable = có đưa nội dung chia sẻ vào danh sách chia sẻ hay không
Sau khi hoàn tất, nhấn đồng thời Ctrl + O và Ctrl + X để lưu và thoát file.
Thiết lập tài khoản người dùng
Bây giờ, hãy thiết lập tài khoản người dùng cho samba. Người dùng Samba phải là người dùng hệ thống và do đó phải tồn tại trong file /etc/password. Nếu người dùng chưa tồn tại, trước tiên bạn cần tạo nó. Nếu không, chỉ cần thực thi lệnh trong Terminal bằng cú pháp sau để thiết lập mật khẩu mới cho người dùng.
$ sudo smbpasswd -a username
Khởi động lại service Samba
Khi bạn đã hoàn tất tất cả cấu hình và thiết lập người dùng, hãy khởi động lại service Samba bằng cách chạy lệnh sau trong Terminal:
$ sudo systemctl restart smbd.service
Kết nối Samba share từ máy Linux bằng dòng lệnh
Để kết nối samba share từ dòng lệnh Linux, bạn sẽ cần cài đặt Samba client. Nó sẽ giúp kết nối các samba share từ dòng lệnh.
Chạy lệnh sau trong Terminal để cài đặt Samba client:
$ sudo apt install smbclient
Sau khi cài đặt, hãy kết nối với Samba share bằng cú pháp sau:
$ sudo smbclient //[IP_address or Host_name]/share_name –U samba_user
Trong đó:
- [IP_address or Host_name] là địa chỉ IP hoặc tên của máy chủ Samba
- [share_name] là tên của thư mục Samba share
- [samba_user] là tên của người dùng có quyền truy cập vào share
Khi bạn nhập lệnh trong terminal, nó sẽ hỏi bạn mật khẩu. Nhập mật khẩu và nhấn Enter sau đó bạn sẽ thấy samba CLI. Để xem các lệnh được hỗ trợ trên CLI, hãy nhập help và nhấn Enter.
Truy cập Samba share bằng GUI
Để truy cập Samba share qua giao diện người dùng đồ họa, hãy mở File Manager. Ở cuối cửa sổ File Manager, bạn sẽ thấy tùy chọn Connect to server. Trong thanh địa chỉ, nhập địa chỉ của máy chủ Samba theo định dạng sau và nhấp vào Connect.
//[IP_address or Host_name]/share_name
Khi cửa sổ sau xuất hiện, hãy tích vào Registered user, nhập tên người dùng và mật khẩu vào các trường tương ứng. Nếu bạn đang ở trong môi trường WORKGROUP, hãy để trường Domain nguyên như mặc định và nhấp vào Connect.
Bây giờ, bạn sẽ có thể truy cập các file được chia sẻ trên máy chủ Samba.
Kết nối với Samba share từ máy Windows
Trong hệ điều hành Windows, tiện ích Run chủ yếu được sử dụng để truy cập các file được chia sẻ qua mạng. Để mở tiện ích Run, hãy sử dụng phím tắt Windows + R. Khi tiện ích mở ra, hãy nhập địa chỉ Samba share theo định dạng sau và nhấn OK.
\\[IP-address]\[share_name]
Bạn sẽ được nhắc cung cấp mật khẩu người dùng Samba. Nhập mật khẩu và nhấp vào OK.
Bây giờ, bạn sẽ có thể truy cập các file Samba được chia sẻ trên máy Windows của mình.