Chia sẻ file trong mạng LAN - Hệ thống NAS nhà làm

Chia sẻ file trong mạng LAN - Hệ thống NAS nhà làm

Biến bất cứ máy tính chạy Linux nào thành NAS để truy cập file dễ dàng

Hướng dẫn tạo phân vùng share ổ cứng thông qua Samba trên Linux

Bài viết này sẽ hướng dẫn chi tiết cách tạo phân vùng ổ cứng và chia sẻ qua mạng bằng Samba trên các hệ điều hành nhân Linux như Ubuntu, Raspberry Pi và các bản phân phối khác.

Bước 1: Mount ổ đĩa

Kiểm tra danh sách ổ đĩa

Đầu tiên, kiểm tra các ổ đĩa và phân vùng hiện có trên hệ thống:

sudo lsblk -f

hoặc đơn giản hơn:

sudo lsblk

Ví dụ kết quả:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 111.8G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0 111.3G  0 part /
sdb      8:16   0   1.8T  0 disk 
└─sdb1   8:17   0   1.8T  0 part 

Trong ví dụ này, chúng ta thấy:

  • sda là ổ đĩa hệ thống với hai phân vùng: sda1 (boot) và sda2 (root)
  • sdb là ổ đĩa thứ hai với một phân vùng sdb1 chưa được mount

Chúng ta sẽ sử dụng phân vùng sdb1 để tạo share.

Format ổ đĩa (tùy chọn)

Nếu phân vùng sdb1 chưa được định dạng, bạn có thể format với hệ thống tệp ext4:

sudo mkfs -t ext4 /dev/sdb1

Lưu ý: Lệnh này sẽ xóa toàn bộ dữ liệu trên phân vùng.

Tạo điểm mount

Tạo thư mục làm điểm mount cho ổ đĩa:

sudo mkdir -p /mnt/data_share

Mount ổ đĩa

Gắn ổ đĩa vào điểm mount đã tạo:

sudo mount /dev/sdb1 /mnt/data_share

Cấp quyền cho thư mục mount

Cấp quyền sở hữu cho người dùng (ví dụ: pi) để có thể đọc/ghi vào ổ đĩa:

sudo chown -R pi:pi /mnt/data_share

Bước 2: Cài đặt và cấu hình Samba

Cài đặt Samba

sudo apt install samba samba-common-bin -y

Cấu hình Samba

Mở file cấu hình Samba để chỉnh sửa:

sudo nano /etc/samba/smb.conf

Thêm cấu hình chia sẻ vào cuối file:

[NAS]
path = /mnt/data_share
writeable = yes
guest ok = yes
create mask = 0777
directory mask = 0777

Khởi động lại dịch vụ Samba

sudo /etc/init.d/smbd restart

Bước 3: Hỗ trợ các định dạng ổ đĩa khác (tùy chọn)

Nếu bạn cần hỗ trợ định dạng exFAT (thường dùng cho ổ cứng di động):

sudo apt install exfat-fuse exfat-utils -y

Bước 4: Quản lý người dùng và phân quyền

Kiểm tra phân quyền hiện tại

ls -l /mnt/data_share

Thêm người dùng mới

sudo useradd leolion

Thêm người dùng vào nhóm đã được phân quyền

sudo usermod -aG pi leolion

Tạo mật khẩu Samba cho người dùng

sudo smbpasswd -a leolion

Lệnh này sẽ yêu cầu bạn nhập và xác nhận mật khẩu cho người dùng.

Bước 5: Cấu hình mount ổ đĩa tự động khi khởi động

Xác định UUID của phân vùng

Trước tiên, lấy UUID của phân vùng cần mount:

sudo lsblk -f

Kết quả ví dụ:

NAME   FSTYPE   LABEL UUID                                 MOUNTPOINT
sda                                                        
├─sda1 vfat           EFI5-7823                            /boot/efi
└─sda2 ext4           81bb4976-a820-4e0d-92ab-1a754f9837bd /
sdb                                                        
└─sdb1 ext4           a63e1694-79fe-4d7d-9e69-a9d4f67ce28a 

Trong ví dụ này, UUID của phân vùng sdb1a63e1694-79fe-4d7d-9e69-a9d4f67ce28a.

Chỉnh sửa file fstab

sudo nano /etc/fstab

Thêm dòng sau vào cuối file để hệ thống tự động mount ổ đĩa khi khởi động:

UUID=a63e1694-79fe-4d7d-9e69-a9d4f67ce28a /mnt/data_share ext4 defaults,auto,users,rw,nofail,noatime 0 0

Kết nối đến thư mục chia sẻ Samba

Sau khi hoàn tất cấu hình, bạn có thể truy cập thư mục chia sẻ từ các thiết bị khác trong mạng:

Từ Windows

Mở File Explorer và nhập vào thanh địa chỉ:

\\<địa_chỉ_IP_máy_chủ>\NAS

Từ Linux

smbclient //địa_chỉ_IP_máy_chủ/NAS -U tên_người_dùng

Từ macOS

Mở Finder, chọn "Kết nối đến máy chủ" và nhập:

smb://địa_chỉ_IP_máy_chủ/NAS

Với các bước trên, bạn đã hoàn tất việc cài đặt và cấu hình một máy chủ NAS đơn giản bằng Samba trên Linux, cho phép chia sẻ dữ liệu qua mạng một cách dễ dàng và an toàn.

Bạn đã đăng ký thành công vào Geek Playground
Tuyệt vời! Tiếp theo, hoàn tất thanh toán để có quyền truy cập đầy đủ vào Geek Playground
Chào mừng trở lại! Bạn đã đăng nhập thành công.
Thành công! Tài khoản của bạn đã được kích hoạt đầy đủ, bạn hiện có quyền truy cập vào tất cả nội dung.
Thành công! Thông tin thanh toán của bạn đã được cập nhật.
Cập nhật thông tin thanh toán không thành công.