Cách Cài Đặt Samba File Server Trên Ubuntu Kết Nối Windows Cực Nhanh 2026
Cài đặt và cấu hình Samba File Server trên Ubuntu là cẩm nang thiết yếu cho những ai đang đau đầu vì việc truyền tải và đồng bộ dữ liệu giữa các máy tính khác hệ điều hành trong mạng nội bộ hoặc hệ thống máy chủ ảo. Việc chia sẻ tệp tin thường xuyên […]
Cài đặt và cấu hình Samba File Server trên Ubuntu là cẩm nang thiết yếu cho những ai đang đau đầu vì việc truyền tải và đồng bộ dữ liệu giữa các máy tính khác hệ điều hành trong mạng nội bộ hoặc hệ thống máy chủ ảo. Việc chia sẻ tệp tin thường xuyên gặp trở ngại về phân quyền, tắc nghẽn giao thức và nguy cơ rò rỉ bảo mật nếu thiết lập sai cách. Giải pháp tối ưu nhất là triển khai Samba trên máy chủ độc lập của ThueVPSGiaRe.vn, giúp bạn làm chủ không gian lưu trữ mạng an toàn, mượt mà và tối ưu chi phí vận hành.
1. Tổng quan về Samba Server và cơ chế hoạt động
Samba là bộ phần mềm mã nguồn mở thực thi bộ giao thức mạng SMB/CIFS, đóng vai trò cầu nối dữ liệu liền mạch giữa môi trường Unix/Linux và Windows. Khi triển khai trên hệ điều hành Ubuntu phổ biến, Samba biến máy chủ thành một file server mạnh mẽ, cho phép các máy trạm Windows truy cập, đọc và ghi tệp vào thư mục Linux tương tự như một ổ đĩa mạng nội bộ.
- Tương thích đa nền tảng: Xóa bỏ rào cản truyền dữ liệu khi thiết lập chia sẻ giữa hai nền tảng Windows và Linux trong cùng mạng văn phòng hoặc hạ tầng đám mây.
- Mô hình lưu trữ hiện đại: Phù hợp xây dựng hệ thống file storage tập trung với chi phí bản quyền bằng 0.
- Phân quyền chặt chẽ: Hỗ trợ thiết lập người dùng độc lập, mật khẩu mã hóa riêng biệt và giới hạn quyền đọc/ghi từng thư mục cụ thể.
2. Các bước cài đặt Samba trên nền tảng Ubuntu chi tiết
Gói cài đặt của dịch vụ Samba đã được tích hợp sẵn trong kho phần mềm chính thức của Ubuntu. Bạn chỉ cần thao tác trực tiếp trên giao diện dòng lệnh thông qua phiên làm việc khi kết nối SSH vào máy chủ Linux.
Bước 1: Làm mới danh sách gói phần mềm trên máy chủ
Trước khi cài đặt bất kỳ thành phần nào, hãy đồng bộ lại danh mục gói bằng lệnh cập nhật hệ thống:
sudo apt-get update
Lệnh này giúp máy chủ cập nhật thông tin mới nhất về các phiên bản phần mềm có sẵn trong repository để tránh lỗi thiếu phụ thuộc (dependencies).

Bước 2: Tiến hành cài đặt dịch vụ Samba
Tiếp theo, hãy thực thi lệnh cài đặt Samba daemon chính:
sudo apt install samba
Trình quản lý APT sẽ tự động tính toán và tải về các gói thư viện liên quan như smbd và nmbd.

Bước 3: Xác minh trạng thái cài đặt của Samba
Để chắc chắn Samba đã được nạp thành công vào hệ thống, hãy dùng lệnh tra cứu vị trí file thực thi:
whereis samba
Nếu hệ thống trả về các đường dẫn như /usr/sbin/samba hoặc /etc/samba, dịch vụ đã sẵn sàng cho giai đoạn cấu hình.

Bước 4: Tạo thư mục lưu trữ dùng chung
Hãy khởi tạo một thư mục chuyên biệt dùng làm không gian chia sẻ tài nguyên cho các máy trạm:
Bạn chạy lần lượt các lệnh sau:
mkdir -p /home/thuevps_jpg/sambashare
Tùy chọn -p cho phép tạo cả thư mục cha nếu chưa tồn tại.
Bước 2: Phân quyền thư mục cho Samba
Nếu bạn muốn các máy trạm truy cập thư mục này thông qua Samba, hãy chạy:
chown nobody:nogroup /home/thuevps_jpg/sambashare
chmod 2770 /home/thuevps_jpg/sambashare
Lưu ý: 2770 giới hạn quyền truy cập theo chủ sở hữu và nhóm. Nếu bạn cấu hình Samba cho người dùng cụ thể, cần điều chỉnh quyền và nhóm cho phù hợp.
Bước 3: Kiểm tra thư mục đã được tạo chưa
ls -ld /home/thuevps_jpg/sambashare
Nếu hiển thị thông tin thư mục thay vì báo lỗi, bạn đã tạo thành công.
Trong ví dụ này, thư mục sambashare nằm dưới cây thư mục người dùng. Bạn có thể thay đổi đường dẫn này tùy theo kiến trúc lưu trữ của phân vùng ổ cứng.

3. Cấu hình thư mục chia sẻ và quản lý người dùng Samba
Sau khi chuẩn bị xong thư mục vật lý, bạn cần khai báo các thông số cấp phép trong tệp cấu hình chính của Samba đặt tại /etc/samba/smb.conf.
Bước 1: Chỉnh sửa file smb.conf
Sử dụng trình soạn thảo văn bản nano cùng quyền root quản trị viên để mở file cấu hình:
sudo nano /etc/samba/smb.conf
Bước 2: Khai báo khối thông số thư mục chia sẻ
Kéo xuống cuối cùng của file và dán khối thiết lập sau:
[sambashare]
comment = Samba on Ubuntu
path = /home/fastbyte/sambashare
read only = no
browsable = yes
Ý nghĩa từng dòng thông số:
comment: Ghi chú mô tả mục đích sử dụng thư mục.path: Đường dẫn tuyệt đối trỏ đến thư mục chia sẻ thực tế vừa tạo.read only = no: Cho phép người dùng ghi, sửa, tải file lên (ngược lại với chế độ chỉ đọc).browsable = yes: Cho phép thư mục này hiển thị trong danh sách tìm kiếm tài nguyên mạng của Windows Explorer.
Bước 3: Lưu và áp dụng dịch vụ
Nhấn tổ hợp phím Ctrl + O và bấm Enter để lưu thay đổi, sau đó nhấn Ctrl + X để đóng nano. Tiến hành khởi động lại tiến trình Samba daemon để nạp cấu hình mới:
sudo service smbd restart
Bước 4: Mở port trên tường lửa UFW
Nếu hệ thống đang kích hoạt lá chắn bảo vệ, bạn cần bổ sung quy tắc trong cấu hình tường lửa UFW để mở đường truyền cho các cổng SMB (cổng 137, 138, 139, 445):
sudo ufw allow samba
Bước 5 & 6: Tạo và kích hoạt người dùng Samba
Samba duy trì cơ sở dữ liệu xác thực người dùng riêng. Bạn cần liên kết một tài khoản Linux hiện có vào danh sách Samba và đặt mật khẩu:
Kiểm tra Samba đã được cài đặt chưa:
Chạy:
smbd --version
Nếu báo command not found, cài Samba:
apt update
apt install samba -y
Tạo người dùng Linux:
Ví dụ bạn muốn tạo tài khoản fastbyte:
adduser fastbyte
Nhập mật khẩu theo yêu cầu. Nếu tài khoản đã tồn tại, bạn không cần tạo lại.

4. Cách kiểm tra địa chỉ IP của máy chủ Samba trên Linux
Để các máy khách trong mạng có thể gửi yêu cầu kết nối đến file server, bạn cần xác định chính xác địa chỉ IP của card mạng. Bạn có thể sử dụng một trong các câu lệnh Linux cơ bản là ifconfig:
ifconfig

Trong trường hợp máy chủ cài bản tối giản và chưa có sẵn công cụ trên, hãy bổ sung bộ gói tiện ích mạng:
sudo apt install net-tools
Sau đó chạy lại lệnh ifconfig, ghi nhớ địa chỉ IPv4 tại mục inet (ví dụ: 192.168.1.100 hoặc 10.0.2.15) để sử dụng cho thao tác kết nối tiếp theo.
5. Hướng dẫn 2 cách kết nối Samba Share trên Ubuntu
Trên môi trường máy khách Ubuntu, bạn có thể truy xuất dữ liệu thông qua ứng dụng dòng lệnh smbclient hoặc gắn kết trực tiếp thư mục mạng vào cấu trúc cây thư mục cục bộ thông qua CIFS.
Có 2 cách để kết nối Samba Share trên Ubuntu: cách 1 là sử dụng Samba Client để kết nối Samba Share, cách 2 là sử dụng Mount Samba share. Dưới đây là hướng dẫn chi tiết cho từng cách.
Cách 1: Sử dụng Samba Client để kết nối Samba Share
Bước 1: Bạn cần truy cập vào Samba Client trước khi cài đặt Samba share với dòng lệnh dưới đây:
sudo apt install smbclient
Trong đó:
- apt: Tiện ích gói Advance.
- install smbclient: Cài đặt Samba Client.

Bước 2: Sau khi cài đặt Samba Client, bạn đã có thể truy cập các thư mục share của Samba với câu lệnh:
smbclient //172.17.0.1/sambashare -U thuevps_jpg
Trong đó:
- smbclient: Samba Client.
- //172.17.0.1/sambashare: Địa chỉ IP của máy chủ Samba kèm tên thư mục chia sẻ trên máy chủ.
- -U thuevps_jpg: Tùy chọn để chỉ định tên người dùng Samba.
Bước 3: Sau khi bạn truy cập vào các thư mục trên Samba share, hệ thống sẽ yêu cầu bạn nhập mật khẩu để kết nối với dữ liệu. Đăng nhập thành công, bạn sẽ sử dụng nhiều lệnh khác nhau để tương tác với Samba share và thực hiện các thao tác theo nhu cầu của mình.
Giả sử, sau khi truy cập, bạn có thể dùng các lệnh để thực hiện các thao tác:
- cd <Tên_thư_mục>: Thay đổi thư mục trên Samba Share.
- mkdir <Tên_thư_mục>: Tạo một thư mục trên Samba share.
- ls: Liệt kê nội dung của thư mục.
Cách 2: Sử dụng lệnh để hỗ trợ Mount Samba share
Bước 1: Đầu tiên, bạn cần cài đặt gói cifs-utils để hỗ trợ mount Samba share với lệnh sau:
sudo apt install cifs-utils
Trong đó:
- sudo: Thực hiện lệnh với quyền Super User DO.
- install cifs-utils: Cài đặt gói cifs-utils, chứa công cụ cần thiết để gắn kết hệ thống file CIFS (Common Internet File System).

Bước 2: Tiếp theo, bạn cần tạo một thư mục trên hệ thống để sử dụng làm điểm liên kết cho Samba share:
sudo mkdir /mnt/smbmount
Trong đó:
- mkdir: Tạo thư mục trên hệ thống.
- /mnt/smbmount: Vị trí thư mục được tạo.
Bước 3: Sử dụng lệnh mount với cú pháp sudo dưới đây để kết nối Samba share vào thư mục vừa tạo:
sudo mount -t cifs -o username=thuevps_jpg //172.17.0.1/sambashare /mnt/smbmount
Trong đó:
| Tham số | Ý nghĩa |
|---|---|
| mount | Lệnh để gắn kết hệ thống tập tin hoặc thiết bị lưu trữ vào thư mục. |
| -t | Chỉ loại hệ thống file. |
| cifs | Xác định loại hệ thống tập tin là CIFS (Common Internet File System). |
| -o | Chỉ định các tùy chọn. |
| username=thuevps_jpg | Tên người dùng Samba. Bạn hoàn toàn có thể thay đổi bằng bất cứ tên người dùng nào bạn muốn. |
| //172.17.0.1/sambashare | Địa chỉ IP của máy chủ Samba và thư mục chia sẻ. |
| /mnt/smbmount | Địa chỉ, vị trí thư mục bạn mong muốn. |
6. Thiết lập cấu hình tùy chỉnh Global Samba trên Ubuntu
Khu vực [global] trong file smb.conf định hình phương thức hoạt động cơ bản của toàn bộ máy chủ Samba. Việc cấu hình đúng giúp tăng tính bảo mật và kiểm soát luồng kết nối chặt chẽ.
Định danh máy chủ và chế độ xác thực
Mở tệp /etc/samba/smb.conf và tìm đến phần [global] để thiết lập thông số định danh:
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
security = user
server role = standalone server
workgroup: Tên nhóm làm việc trong mạng nội bộ Windows (thường mặc định là WORKGROUP).server string: Chuỗi văn bản mô tả máy chủ hiển thị cho các máy khách.security = user: Yêu cầu xác thực tài khoản/mật khẩu ở cấp độ người dùng.server role = standalone server: Chỉ định máy chủ hoạt động độc lập, không phụ thuộc vào hệ thống Domain Controller.
Ràng buộc card mạng và ghi log
Để ngăn chặn việc Samba lắng nghe trên các cổng mạng không mong muốn, bạn có thể giới hạn card mạng tiếp nhận và ghi nhận nhật ký hệ thống:
interfaces = 127.0.0.0/8 eth0
bind interfaces only = yes
map to guest = bad user
log file = /var/log/samba/log.%m
Trong đó, bind interfaces only = yes đảm bảo Samba chỉ phục vụ trên giao diện mạng được liệt kê, còn map to guest = bad user sẽ chuyển hướng các lượt xác thực không hợp lệ sang chế độ tài khoản khách (guest) thay vì ngắt đột ngột.
Sau khi cập nhật, hãy khởi động lại tiến trình để lưu thiết lập:
sudo systemctl restart smbd
7. Cách gỡ Samba Ubuntu an toàn
Khi không còn nhu cầu sử dụng hoặc cần bảo trì thư mục mạng, bạn nên ngắt kết nối đúng cách để tránh treo tiến trình và mất tính toàn vẹn dữ liệu.
Bước 1: Kiểm tra các phân vùng đang được mount:
mount
Bước 2: Thực hiện lệnh ngắt kết nối thư mục Samba:
sudo umount /mnt/smbmount
Bước 3: Chạy lại lệnh mount để xác nhận dòng thông tin liên quan đến thư mục /mnt/smbmount đã hoàn toàn biến mất khỏi danh sách.
8. Giới hạn phiên bản giao thức SMB bảo mật cho Samba Client
Giao thức SMB đời cũ (đặc biệt là SMB1) tiềm ẩn rất nhiều lỗ hổng bảo mật nghiêm trọng (như WannaCry). Bạn nên thiết lập chính sách chỉ chấp nhận giao thức từ SMB2 hoặc SMB3 trở lên.
Mở tệp cấu hình /etc/samba/smb.conf và bổ sung hai dòng sau dưới khối [global]:
client max protocol = SMB3
client min protocol = SMB2
Thiết lập này buộc máy khách chỉ sử dụng giao thức bảo mật cao với thuật toán mã hóa hiện đại. Sau đó, khởi động lại Samba daemon để hệ thống áp dụng:
sudo systemctl restart smbd
9. Các câu hỏi thường gặp khi triển khai Samba Server
Dưới đây là lời giải đáp cho các câu hỏi phổ biến nhất mà quản trị viên thường gặp khi vận hành Samba File Server:
Tại sao Samba là giải pháp hàng đầu để chia sẻ file trên Ubuntu?
Samba được ưa chuộng nhờ tính ổn định vượt trội, hoàn toàn miễn phí và tương thích tự nhiên với tất cả các bản phân phối Windows hiện đại. Bên cạnh đó, bạn cũng có thể kết hợp thêm các phương án sao lưu dữ liệu định kỳ trên VPS để đảm bảo an toàn tối đa cho hệ thống file server.
Samba có hỗ trợ chia sẻ tệp giữa các hệ điều hành khác nhau không?
Có. Samba được thiết kế cốt lõi để làm việc đa nền tảng, cho phép truyền dữ liệu hai chiều mượt mà giữa Linux, Windows và macOS mà không đòi hỏi phần mềm trung gian phức tạp.
Có thể giới hạn Samba chỉ cho phép một số IP cụ thể truy cập không?
Hoàn toàn được. Trong file cấu hình smb.conf, bạn có thể khai báo thêm dòng hosts allow = 192.168.1. 127.0.0.1 trong mục [global] hoặc từng thư mục riêng lẻ để chặn mọi kết nối xuất phát từ các dải mạng bên ngoài.
Tổng kết quy trình triển khai Samba Server
Nắm vững Hướng Dẫn Cài và Cấu Hình Samba File Server Trên Ubuntu giúp bạn nhanh chóng thiết lập một hệ thống chia sẻ tập tin chuẩn mực, an toàn và tối ưu cho toàn bộ máy trạm nội bộ. Chỉ cần tuân thủ 3 nguyên tắc cốt lõi: phân quyền thư mục chặt chẽ, mở đúng cổng tường lửa và khóa giao thức ở chuẩn SMB2/SMB3, bạn sẽ sở hữu một hệ thống file server vững chắc, hạn chế tối đa nguy cơ xung đột mạng và thất thoát dữ liệu.
Cần một VPS giá rẻ để bắt đầu?
Chọn cấu hình vừa đủ nhu cầu, ưu tiên chi phí dễ tiếp cận và khả năng quản trị riêng.
Lưu ý: Các dòng lệnh và cú pháp cấu hình trong bài viết được xây dựng dựa trên môi trường Ubuntu tiêu chuẩn. Tùy thuộc vào phiên bản hệ điều hành cụ thể, phân quyền người dùng và chính sách mạng thực tế, bạn nên thực hiện sao lưu tệp tin cấu hình gốc trước khi chỉnh sửa và thử nghiệm trên môi trường thử nghiệm trước khi đưa vào vận hành chính thức.




