Hướng dẫn cài đặt samba trên centos năm 2024

Samba là một giao thức mạng phổ biến với nhiệm vụ chính là kết nối mạng các máy tính và truyển dữ liệu qua mạng. Chúng ta thường thấy Samba trên các máy tính chạy hệ điều hành Windows hơn, nhưng thực tế thì Samba được cung cấp cả cho Linux và Unix

Giao thức Samba (SMB) phổ biến đến mức nó là chức năng cần phải có ở các máy tính, các phần mềm nghe nhạc, phát video có hỗ trợ phát qua Internet như VLC… Việc ứng dụng giao thức SMB vào máy chủ Linux có thể sử dụng như là máy chủ NAS – Lưu trữ mạng.

Với trường hợp của mình thì mình sẽ cài Samba trên máy chủ mà bài trước đã cài qBittorrent lên đó – Xem bài viết Cài đặt qBittorrent trên Docker. Mục đích là tạo thành máy chủ nhỏ cho gia đình, phục vụ lưu trữ dữ liệu và tải files…

Cách cài đặt

Bước 1: Cập nhật hệ thống

Sử dụng câu lệnh sau để tiến hành cập nhật các gói dữ liệu cũng như đảm bảo các chương trình chạy trên Linux là mới nhất

sudo apt-get update sudo apt-get upgrade -y

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

sudo apt-get install samba samba-common-bin

Bước 3: Lựa chọn vị trí chia sẻ

Chúng ta cần tạo 1 thư mục, nơi lưu trữ các dữ liệu để chia sẻ qua giao thức Samba

mkdir /home/samba/shared

Hoặc bạn cũng có thể sử dụng luôn ổ đĩa gắn ngoài để làm thư mục chia sẻ. Mình sẽ lấy vị trí của ổ đĩa gắn ngoài /media/viet/VIET để lưu trữ, vì thế mà sẽ không cần chạy câu lệnh phía trên để tạo thư mục mới nữa

Bước 4: Chia sẻ thư mục qua giao thức Samba

Để cấu hình chia sẻ qua SMB, chúng ta cần chỉnh sửa file smb.conf. Sử dụng câu lệnh dưới đây để chỉnh sửa file bằng trình soạn thảo nano

sudo nano /etc/samba/smb.conf

Thêm các dòng sau vào cuối file vừa mở

[VIETHOME] path = /media/viet/VIET writeable=Yes create mask=0777 directory mask=0777 public=no

[VIETHOME]: Tên thư mục chia sẻ. Nếu các bạn thêm ổ đĩa vào Windows, nó sẽ có dạng \\IP-SERVER-SAMBA\VIETHOME

path: Đường dẫn đến thư mục chia sẻ đã cài đặt ở Bước 3

writeable: Với giá trị Yes, thư mục này sẽ cho phép người dùng chép dữ liệu vào. Ngược lại, No sẽ chặn việc chép dữ liệu vào thư mục chia sẻ

create mask và directory mask: sẽ cài đặt phân quyền cho file và thư mục có trong thư mục chia sẻ. Mình sẽ để 0777 để cấp quyền đọc ghi cao nhất cho nó. Còn các bạn có thể đặt 0644 cho create mask và 0755 cho directory mask để dảm bảo an toàn

public: với giá trị No, thư mục này sẽ cần phải đăng nhập trước khi truy cập

Lưu lại và thoát khỏi trình soạn thảo nano bằng tổ hợp phím: Ctrl + X tiếp theo là Y và cuối cùng là Enter

Bước 5: Thêm người dùng đăng nhập thư mục chia sẻ Samba

Người dùng mặc định của Raspberry Pi sẽ là pi, với Centos là root, và với nhân Debian,Ubuntu… thì chúng ta sẽ tự đặt. Ở bài viết mình sẽ lấy ví dụ là pi nhé. Chúng ta sẽ thêm tài khoản đó vào smb và đặt mật khẩu riêng để đăng nhập smb là 12345678

sudo smbpasswd -a pi

Sau đó nhập mật khẩu 12345678 vào khi được hỏi, nhập lại lần nữa để xác minh

Khởi động lại Samba

sudo systemctl restart smbd

Tận hưởng thành quả thôi nào

Kết luận

Trên đây mình đã hướng dẫn cách cài đặt giao thức Samba trên hệ điều hành Linux. Nếu trong quá trình cài đặt có bất kỳ vấn đề gì, hãy để lại bình luận để chúng ta cũng nhau giải quyết nhé. Xin cảm ơn!

Samba là một hệ thống chia sẻ tập tin tương thích với windows. Nó được sử dụng để thiết lập chia sẻ windows trên hệ thống Linux. Samba là một triển khai Linux của giao thức SMB/CIFS.

Samba có thể được sử dụng để thiết lập máy chủ lưu trữ hoặc chia sẻ tập tin, thư mục trên hệ thống Linux.

Trong bài viết này, tôi sẽ hướng dẫn bạn cách cài đặt và định cấu hình Samba share với Windows và CentOS 7. Hãy bắt đầu.

Sơ đồ mạng cho máy chủ lưu trữ Samba:

Máy chủ và máy khách Samba được thiết lập theo cách sau:

Máy chủ lưu trữ Samba (dựa trên CentOS 7) có tên máy chủ smb-server và địa chỉ IP 10.0.1.11

Máy khách Samba CentOS 7 có tên máy chủ smb-client và địa chỉ IP 10.0.1.14

Máy khách Samba Windows 7 có địa chỉ IP 10.0.1.12

Các máy tính này nằm trong cùng một mạng 10.0.1.0/24

Cấu hình DNS cho Samba Server:

Trước khi bắt đầu, hãy đảm bảo máy chủ DNS của bạn được cấu hình đúng. Nếu không, Samba có thể không khởi động được.

Việc định cấu hình máy chủ DNS đầy đủ nằm ngoài phạm vi của bài viết này, vì vậy tôi đã chỉnh sửa tệp /etc/hosts của mọi máy CentOS 7 và thêm dòng sau vào đó.

Trên máy smb-server và smb-client, bạn chỉ cần chạy lệnh sau để thêm dòng trên vào /etc/hosts tài liệu:

$ echo "10.0.1.11 smb-server" | sudo tee -a /etc/hosts

Đối với máy khách Windows, tôi đã sử dụng Notepad để chỉnh sửa tệp C:\Windows\System32\Drivers\etc\hosts và thêm dòng sau vào đó:

Bước 1:

Đi tới trình đơn Bắt đầu và tìm kiếm notepad. Bây giờ hãy nhấp chuột phải vào biểu tượng Notepad và nhấp vào Chạy với tư cách quản trị viên.

Bước 2:

Bây giờ nhấn + o để đi tới Tệp > Mở… và chọn tệp C :\Windows\System32\Drivers\etc\hosts

Bước 3:

Bây giờ thêm dòng trên vào cuối tập tin. Bây giờ hãy nhấn + s hoặc đi tới Tệp > Lưu để lưu tệp.

Cài đặt máy chủ Samba:

Máy chủ Samba không được cài đặt theo mặc định trên CentOS 7. Vì vậy, bạn phải cài đặt nó trên máy smb-server.

Trước khi cài đặt máy chủ Samba, hãy chạy lệnh sau để cập nhật bộ đệm kho lưu trữ gói YUM:

Bây giờ hãy cập nhật hệ thống CentOS 7 của bạn bằng lệnh sau:

Nếu có bản cập nhật, bạn sẽ thấy cửa sổ sau. Nhấn y rồi nhấn để tiếp tục.

Quá trình cập nhật sẽ mất một lúc để hoàn thành. Sau khi hoàn tất, hãy chạy lệnh sau để khởi động lại hệ thống của bạn.

Bây giờ cài đặt máy chủ Samba bằng lệnh sau:

Bây giờ nhấn y rồi nhấn để tiếp tục.

Máy chủ Samba nên được cài đặt.

Các dịch vụ samba smb và nmb bị dừng theo mặc định. Bạn phải bắt đầu chúng trước khi làm bất cứ điều gì.

Bắt đầu dịch vụ smb bằng lệnh sau:

$ sudo systemctl start smb

Bắt đầu dịch vụ nmb bằng lệnh sau:

$ sudo systemctl start nmb

Bây giờ bạn phải thêm các dịch vụ smb và nmb vào quá trình khởi động hệ thống để chúng khởi động khi máy chủ khởi động.

Thêm dịch vụ smb vào quá trình khởi động hệ thống bằng lệnh sau:

$ sudo systemctl enable smb

Thêm dịch vụ nmb vào quá trình khởi động hệ thống bằng lệnh sau:

$ sudo systemctl enable nmb

Thêm và liệt kê người dùng Samba:

Người dùng Windows có các sơ đồ cấp phép tệp và thư mục khác với Linux. Để thêm các tham số bổ sung này cho người dùng Linux hiện tại, lệnh pdbedit được sử dụng.

Bạn có thể thêm người dùng đăng nhập của mình vào Samba bằng lệnh sau:

$ sudo pdbedit -a -u $(whoami)

Bây giờ bạn phải thiết lập mật khẩu Samba. Đây là mật khẩu bạn sẽ sử dụng khi đăng nhập vào chia sẻ Samba.

Nhập mật khẩu Samba của bạn cho người dùng và nhấn .

Nhập lại mật khẩu Samba của bạn và nhấn .

Người dùng đăng nhập của bạn nên được thêm vào.

Bạn cũng có thể thêm người dùng Linux khác vào Samba bằng lệnh sau:

$ sudo pdbedit -a -u USERNAME

Lưu ý: Ở đây, USERNAME có thể là bất kỳ tên người dùng Linux nào.

Bây giờ bạn có thể liệt kê tất cả người dùng Samba bằng lệnh sau:

Cho phép lưu lượng truy cập Samba:

Bây giờ hãy cho phép lưu lượng samba đến máy smb-server bằng lệnh Tường lửa sau:

$ sudo firewall-cmd --add-service\=samba --permanent

Áp dụng cấu hình Tường lửa mới bằng lệnh sau:

$ sudo firewall-cmd --reload

Truy cập chia sẻ Samba từ máy khách CentOS 7:

Bạn có thể cài đặt các tiện ích máy khách Samba vào các máy CentOS 7 mà bạn muốn gắn kết các chia sẻ Samba từ máy smb-server.

Chạy lệnh sau để cài đặt tiện ích máy khách Samba trên máy khách CentOS 7:

$ sudo yum install samba-client

Bây giờ nhấn y rồi nhấn để tiếp tục.

Tiện ích máy khách Samba nên được cài đặt.

Bây giờ bạn có thể liệt kê tất cả các chia sẻ có sẵn cho thông tin đăng nhập USERNAME của mình trên máy smb-server bằng lệnh sau:

$ smbclient -U USERNAME\> -L //HOSTNAME

Lưu ý: Ở đây USERNAME là tên người dùng Samba của bạn và HOSTNAME là tên DNS hoặc IP của smb của bạn -máy chủ.

Bây giờ hãy nhập mật khẩu Samba của bạn và nhấn .

Tất cả các cổ phiếu của bạn nên được liệt kê. Theo mặc định, chỉ có thư mục chính của người dùng được chia sẻ. Nếu muốn, bạn có thể thêm nhiều lượt chia sẻ hơn.

Bây giờ bạn có thể gắn kết chia sẻ của mình bằng lệnh sau:

$ sudo mount -t cifs -o username\=USERNAME,password\=SAMBA_PASSWORD //SERVER_IP/SHARENAME MOUNTPOINT

Lưu ý: USERNAME và SAMBA_PASSWORD là chi tiết đăng nhập Samba, SERVER_IP là địa chỉ IP của smb- máy chủ, SHARENAME là tên của chia sẻ và MOUNTPOINT là vị trí/đường dẫn nơi bạn muốn gắn kết chia sẻ SHARENAME của mình vào CentOS7.

Chia sẻ được gắn kết.

Truy cập Samba Shares từ Windows Client:

Từ cửa sổ, chỉ cần mở File Explorer và nhập \\HOSTNAME\SHARENAME vào vị trí của bạn như được đánh dấu trong ảnh chụp màn hình bên dưới. Sau khi hoàn tất, hãy nhấn .

Bây giờ hãy nhập Samba TÊN NGƯỜI DÙNG và Mật khẩu của bạn rồi nhấp vào OK.

Bạn nên đăng nhập vào chia sẻ của bạn như bạn có thể thấy.

Thêm nhiều lượt chia sẻ hơn:

Nếu bạn cần thêm nhiều lượt chia sẻ hơn, hãy đọc phần Tạo chia sẻ tệp của bài viết tại https://linux-console.net/install-samba-on-ubuntu/

Lưu ý: Tôi đã làm mọi thứ trong khi SELinux bị vô hiệu hóa. Làm việc với SELinux nằm ngoài phạm vi của bài viết này. Vui lòng kiểm tra tài liệu SELinux để biết thêm thông tin về SELinux và cách thiết lập nó cho Samba.

Vậy đó là cách bạn cài đặt và định cấu hình chia sẻ Samba với Windows và CentOS 7. Cảm ơn bạn đã đọc bài viết này.