Samba Là Gì? Cài đặt và cấu hình Samba trên Ubuntu

Samba là một tiện ích mã nguồn mở cho phép chia sẻ tập tin giữa các máy tính chạy trên cùng một mạng. Công cụ này cho phép các máy Linux chia sẻ tập tin với các máy chạy hệ điều hành khác , chẳng hạn như Windows.

Trong hướng dẫn này, bạn sẽ học cách cài đặt và cấu hình Samba trên Ubuntu .

Điều kiện tiên quyết

  • Hệ thống Ubuntu (hướng dẫn này sử dụng Ubuntu 24.04 và áp dụng cho cả 22.04 và 20.04).
  • Tài khoản người dùng có quyền quản trị (root) .
  • Một trình soạn thảo văn bản .

Tham khảo VPS tại: VPSRE

Hướng dẫn cài đặt Samba trên Ubuntu

Hầu hết các trình quản lý gói Linux đều có Samba trong kho lưu trữ mặc định . Hãy làm theo các bước bên dưới để cài đặt và cấu hình Samba trên Ubuntu:

Bước 1: Cài đặt Samba

Chúng ta sẽ sử dụng apt , trình quản lý gói mặc định của Ubuntu, để cài đặt Samba:

1. Làm mới thông tin kho gói bằng lệnh:

sudo apt update

2. Chạy lệnh sau để cài đặt Samba:

sudo apt install samba -y

Tham số này -ytự động chấp thuận mọi yêu cầu trong quá trình cài đặt.

3. Xác minh quá trình cài đặt bằng lệnh whereis :

whereis samba
In thư mục cài đặt Samba ra cửa sổ dòng lệnh.

Kết quả sẽ in ra thư mục nơi Samba được cài đặt. Một phương pháp khác để xác minh việc cài đặt là kiểm tra phiên bản Samba:

samba -V
Kiểm tra phiên bản chương trình Samba.

Kết quả hiển thị cho thấy hệ thống đã cài đặt Samba phiên bản 4.19.5.

4. Cuối cùng, hãy xác nhận rằng dịch vụ Samba đang chạy bằng lệnh:

systemctl status smbd
Kiểm tra trạng thái dịch vụ Samba trong Ubuntu.
Kết quả hiển thị cho thấy dịch vụ smbd đã được kích hoạt và đang chạy. Nhấn phím q để quay lại cửa sổ dòng lệnh.

Bước 2: Tạo thư mục chia sẻ

Hãy tạo một thư mục chia sẻ để xác định thư mục cụ thể và nội dung của nó mà người dùng hoặc thiết bị khác trên mạng có thể truy cập. Nếu không có thư mục chia sẻ, Samba sẽ không có gì để cung cấp cho các máy khách được kết nối.

1. Sử dụng lệnh mkdir để tạo thư mục con dưới /home . Ví dụ, tạo một thư mục có tên là sharing với:

sudo mkdir -p /home/sharing

2. Sử dụng lệnh ls để kiểm tra kết quả.

ls /home
Kiểm tra việc tạo thư mục bằng lệnh ls.

Bước 3: Cấu hình các tùy chọn toàn cục của Samba

Cấu hình Samba bằng cách chỉnh sửa tệp cấu hình smb.conf nằm trong thư mục /etc/samba/smb.conf . Trong hướng dẫn này, chúng ta sẽ sử dụng nano :

1. Mở tệp cấu hình bằng lệnh:

sudo nano /etc/samba/smb.conf

2. Cuộn xuống phần Cài đặt Toàn cầu . Phần này cấu hình hành vi, tên, vai trò và giao diện mạng của máy chủ Samba.

Lưu ý: Một số thiết lập trong tệp smb.conf được đánh dấu là chú thích. Để kích hoạt và điều chỉnh các thiết lập đó, hãy bỏ chú thích chúng.

Các thông số quan trọng cần xem xét được trình bày trong các tiểu mục bên dưới.

Duyệt web/Nhận dạng

Mục Duyệt chứa các tham số workgroupvà server string.

  • Tham số này workgroupcho phép chia sẻ tập tin giữa một nhóm máy tính qua mạng cục bộ. Hãy đảm bảo các workgroupthiết lập tương ứng với các thiết lập trên Windows.
  • Thiết lập này server stringxác định máy chủ Samba. Trong ví dụ của chúng tôi, máy chủ được đặt tên là samba_server .

 

Lưu ý: Để thiết lập cài đặt nhóm làm việc trên Windows 10, hãy mở Bảng điều khiển và truy cập vào cài đặt Hệ thống và Bảo mật . workgroupTham số này nằm trong phần Hệ thống .

 

Để cấu hình cài đặt nhận dạng, hãy bỏ dấu chú thích khỏi workgroupcác server stringtham số và thêm các giá trị sau:

workgroup = WORKGROUP
server string = samba_server
Cài đặt duyệt web trong tệp cấu hình Samba.

Kết nối mạng

Sử dụng mục Mạng (Networking) để cấu hình các giao diện mạng mà Samba liên kết. Mục Mạng chứa hai tham số:

  • Tham số này interfacesthiết lập giao diện mạng mà Samba sẽ liên kết đến.
  • Tham số này  bind interfaces onlyđảm bảo rằng Samba chỉ liên kết với các giao diện được liệt kê trong tệp. Tham số này luôn phải được đặt thành yes.

Để thiết lập interfacestham số, trước tiên hãy kiểm tra các giao diện khả dụng bằng lệnh ip :

ip link
Kết quả đầu ra của lệnh ip trong Ubuntu.

Ví dụ về kết quả đầu ra cho thấy Samba liên kết với hai giao diện: lo, giao diện loopback, và enp0s3, giao diện mạng.

Ví dụ, trong trường hợp này, các thiết lập như sau:

interfaces = lo enp0s3
bind interfaces only = yes
Mục cấu hình mạng trong tệp cấu hình Samba.

Lưu ý: Các giao diện mạng mà Samba liên kết có thể khác nhau giữa các máy.

Gỡ lỗi

Mục Gỡ lỗi có bốn tham số. Hãy thiết lập chúng như sau:

log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
  • log file = /var/log/samba/log.%m– Lưu nhật ký vào một tệp có tên giống với máy kết nối ( %m) trong thư mục được chỉ định. Cài đặt này giúp dễ dàng gỡ lỗi các sự cố cụ thể của máy khách.
  • max log size = 1000– Giới hạn dung lượng tệp nhật ký ở mức 1000 KB trước khi xoay vòng, giúp tránh tình trạng hết dung lượng ổ đĩa.
  • logging = file– Cấu hình Samba để ghi nhật ký sự kiện vào tập tin nhằm tạo ra các bản ghi có thể truy cập và lưu trữ lâu dài.
  • panic action = /usr/share/samba/panic-action %d– Thực thi đoạn mã được chỉ định khi xảy ra lỗi nghiêm trọng ( %dtruyền thông tin chi tiết lỗi), cho phép khắc phục sự cố hoặc thực hiện các hành động khôi phục ngay lập tức.

Xác thực, Tên miền và Khác

Tham số xác thực quan trọng nhất là server role. Tham số này xác định loại máy chủ cho Samba.

1. Nếu chưa có, hãy thêm dòng sau để thiết lập Samba như một máy chủ độc lập:

server role = standalone server
Cài đặt xác thực trong Samba.

Các thiết lập xác thực khác bao gồm:

  • obey pam restrictions = yes– Đảm bảo Samba tuân thủ các chính sách xác thực PAM để duy trì quyền truy cập tập trung.
  • unix password sync = yes– Đồng bộ hóa mật khẩu Samba với mật khẩu hệ thống UNIX để đảm bảo thông tin đăng nhập nhất quán giữa các dịch vụ.
  • passwd program = /usr/bin/passwd– Chỉ định lệnh hệ thống để thay đổi mật khẩu người dùng nhằm tích hợp với chức năng quản lý mật khẩu gốc .
  • passwd chat = Enter\snew\s\spassword: %n\n Retype\snew\s\spassword: %n\n password\supdated\ssuccessfully .**– Tự động hóa các thao tác thay đổi mật khẩu để đảm bảo quá trình cập nhật của người dùng diễn ra suôn sẻ.
  • pam password change = yes– Sử dụng PAM để xử lý việc thay đổi mật khẩu. Thiết lập này cho phép thực thi các chính sách mật khẩu trên toàn hệ thống.
  • map to guest = bad user– Chuyển hướng người dùng chưa được xác thực sang tài khoản khách để đảm bảo hạn chế quyền truy cập cho người dùng chưa được xác thực.

2. Không thay đổi bất kỳ cài đặt nào trong mục Tên miền , mà hãy cuộn xuống mục Khác và thiết lập như sau:

usershare allow guests = yes
Cài đặt chia sẻ người dùng Samba.

Cài đặt này cho phép khách truy cập (không cần xác thực) vào các thư mục chia sẻ Samba do người dùng tạo. Điều này cho phép bất kỳ ai trên mạng đều có thể truy cập các tệp được chia sẻ mà không cần tên người dùng hoặc mật khẩu.

Giữ nguyên tất cả các cài đặt chung khác .

3. Lưu và thoát khỏi tập tin, sau đó chạy testparmtiện ích Samba để kiểm tra lỗi cú pháp:

testparm
Kiểm tra lỗi cú pháp trong tệp cấu hình Samba.

Kết quả đầu ra hiển thị thông báo “Loaded services file OK” , cho thấy không có lỗi cú pháp nào. Với cấu hình Cài đặt Toàn cầu , máy chủ Samba đã sẵn sàng để sử dụng.

Tuy nhiên, để khai thác tối đa chức năng của Samba, hãy cấu hình người dùng và thư mục như được trình bày trong phần bên dưới.

Bước 4: Thiết lập tài khoản người dùng

Hãy tạo tài khoản người dùng trong Samba để xác thực và kiểm soát quyền truy cập vào các tài nguyên được chia sẻ. Việc này đảm bảo rằng chỉ những người dùng được ủy quyền mới có thể truy cập vào các tệp hoặc thư mục nhạy cảm.

1. Để tạo tài khoản người dùng, hãy thiết lập tên người dùng và mật khẩu bằng lệnh:

sudo smbpasswd -a username

Lưu ý rằng tên người dùng phải thuộc về một người dùng hệ thống. Ví dụ, trong ví dụ này, tài khoản hệ thống trên hệ thống Ubuntu là bosko . Do đó, tên người dùng sẽ giống nhau nếu bạn muốn thêm người dùng hiện có đó vào Samba:

sudo smbpasswd -a bosko
Thêm người dùng mới vào Samba.

2. Để thêm người dùng mới vào Samba và hệ thống, hãy sử dụng lệnh adduser :

sudo adduser [username]

Thay thế [username]bằng tên của người dùng mới. Ví dụ: thêm người dùng mới vào hệ thống bằng lệnh:

sudo adduser new_user
Tạo người dùng mới.

Nhập và xác nhận mật khẩu hệ thống cho người dùng mới new_user .

3. Tạo người dùng Samba mới với lệnh:

sudo smbpasswd -a new_user
Thêm người dùng mới vào Samba.

4. Cả hai người dùng cần có quyền đọc, ghi và thực thi thư mục chia sẻ . Mặc dù người dùng bosko có các quyền này theo mặc định, nhưng  new_user thì không.

Để cấp quyền đọc, ghi và thực thi cho thư mục chia sẻ , hãy chạy lệnh sau setfacl:

sudo setfacl -R -m "u:new_user:rwx" /home/sharing

Lệnh này không tạo ra kết quả đầu ra.

Bước 5: Cấu hình cài đặt thư mục chia sẻ Samba

Thư mục chia sẻ Samba là một thư mục trên hệ thống Linux được cấu hình để các thiết bị khác trên mạng có thể truy cập được bằng giao thức SMB/CIFS. Hãy làm theo các bước bên dưới để cấu hình cài đặt thư mục:

1. Truy cập lại tệp cấu hình để thêm thư mục chia sẻ đã tạo trước đó .

sudo nano /etc/samba/smb.conf

2. Cuộn đến cuối tập tin và thêm các dòng sau:

[sharing]
comment = Samba share directory
path = /home/sharing
read only = no
writable = yes
browseable = yes
guest ok = no
valid users = @bosko @new_user

Mỗi dòng lệnh cấp quyền truy cập cụ thể vào thư mục. Ví dụ:

  • [sharing]Dấu chấm (.) biểu thị tên thư mục. Đây là vị trí thư mục mà người dùng Windows nhìn thấy.
  • comment.Đóng vai trò như một mô tả thư mục dùng chung.
  • pathChỉ định vị trí thư mục chia sẻ. Ví dụ sử dụng một thư mục trong /home , nhưng người dùng cũng có thể đặt các tệp chia sẻ trong /samba .
  • read onlyCho phép người dùng chỉnh sửa thư mục và thêm hoặc thay đổi tệp khi được thiết lập thành no.
  • writeableCấp quyền đọc và ghi khi được thiết lập thành yes.
  • browseableCho phép các máy khác trong mạng tìm thấy máy chủ Samba và thư mục chia sẻ Samba khi được thiết lập yes. Nếu không, người dùng phải biết chính xác tên máy chủ Samba và nhập đường dẫn để truy cập thư mục chia sẻ.
  • guest okKhi được đặt thành no, tham số này sẽ vô hiệu hóa quyền truy cập của khách. Người dùng cần nhập tên người dùng và mật khẩu để truy cập vào thư mục chia sẻ.
  • valid usersChỉ những người dùng được đề cập mới có quyền truy cập vào thư mục chia sẻ Samba. Hãy thay thế @boskovà @new_userbằng các giá trị của riêng bạn.

3. Lưu các thay đổi và thoát khỏi tệp.

4. Kiểm tra lại cú pháp:

testparm

Kết quả hiển thị sẽ xác nhận rằng Samba đã được cấu hình đúng cách. Để xem chi tiết hơn tất cả các thiết lập, hãy nhấn Enter :

Lấy thông tin chi tiết về kiểm tra cú pháp Samba.

Bước 6: Cập nhật các quy tắc tường lửa

Để đảm bảo tường lửa Linux cho phép lưu lượng Samba, hãy chạy lệnh sau:

sudo ufw allow samba
Cho phép sử dụng Samba trong ufw.

Bước 7: Kết nối với thư mục chia sẻ

Để hoàn tất cấu hình, hãy kết nối với thư mục chia sẻ mà chúng ta đã thiết lập trước đó. Thực hiện theo các bước dưới đây:

1. Trước tiên, hãy khởi động lại dịch vụ Samba để đảm bảo tất cả các thay đổi cấu hình được áp dụng:

sudo systemctl restart smbd

Lệnh này không in ra bất kỳ kết quả nào.

2. Để kết nối với thư mục chia sẻ thông qua giao diện đồ họa, hãy truy cập trình quản lý tập tin mặc định và chọn tùy chọn ” Vị trí khác” .

3. Nhập địa chỉ máy chủ sau vào ô “Nhập địa chỉ máy chủ…” và nhấn ” Kết nối” :

smb://ip-address/sharing
Đang kết nối đến thư mục chia sẻ Samba.

4. Hệ thống sẽ yêu cầu bạn nhập Tên người dùng và Mật khẩu . Hãy cung cấp thông tin được yêu cầu và nhấp vào Kết nối một lần nữa:

Xác thực quyền truy cập vào thư mục dùng chung.

5. Thao tác này thêm thư mục chia sẻ vào vị trí chia sẻ của Windows :

Thư mục Samba dùng chung trên Linux Ubuntu.

Kết luận

Hướng dẫn trên giúp bạn cài đặt, cấu hình và gỡ bỏ Samba trên Ubuntu. Samba là công cụ mạnh mẽ để chia sẻ tệp và kết nối đa nền tảng giữa Linux và Windows trong mạng nội bộ.

VPSRE  là nhà cung cấp dịch vụ VPS dưới dạng dịch vụ cho thuê, hoặc buôn bán với hơn 3 năm kinh nghiệm. Chúng tôi cung cấp các VPS theo ý bạn với các khả năng đám mây như truy cập từ xa, mở rộng theo nhu cầu và tăng cường bảo mật, giúp bạn không cần phải lưu trữ các máy chủ tại chỗ.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *