Cách thiết lập thư mục chia sẻ trên cùng một mạng với Samba

Cách thiết lập thư mục chia sẻ trên cùng một mạng với Samba

Chia sẻ kiến thức 21/03/2022

Bạn muốn chia sẻ tệp với nhiều thiết bị trên một mạng (network)? Hãy tạo một thư mục chia sẻ trên máy Ubuntu của bạn bằng Samba.

Bạn muốn chia sẻ tệp với nhiều thiết bị trên một mạng (network)? Hãy tạo một thư mục chia sẻ trên máy Ubuntu của bạn bằng Samba.

Nếu bạn muốn dễ dàng chia sẻ tệp của mình trên nhiều hệ điều hành trong cùng một mạng gia đình, Samba là để dành cho bạn. 

Hướng dẫn này sẽ chỉ cho bạn cách thiết lập thư mục chia sẻ mạng trên Ubuntu Linux bằng Samba. Với máy chủ Samba, bạn có thể dễ dàng chia sẻ tệp trên mạng của mình, dù bạn đang sử dụng Windows, macOS hay Linux.

1. Samba là gì?

Samba là một dịch vụ chia sẻ tệp triển khai các phiên bản mã nguồn mở của bộ giao thức SMB, ban đầu được phát triển bởi Microsoft và IBM. Samba chứa các chương trình cho phép nó tương tác với các giao thức chia sẻ tệp của Microsoft Windows.

Samba cũng cho phép bạn dễ dàng giao tiếp với các máy khách khác bằng mạng TCP/IP tiêu chuẩn.

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

Hướng dẫn này sẽ sử dụng Ubuntu Linux 20.04 LTS, nhưng ngay cả khi bạn đang sử dụng Ubuntu 16.04 trở lên các bước vẫn tương tự. Bắt đầu bằng cách cập nhật thông tin nguồn gói của bạn.

sudo apt update

Sau đó, cài đặt Samba bằng lệnh dưới đây:

sudo apt install samba

Để kiểm tra xem Samba đã được cài đặt thành công hay chưa, hãy chạy lệnh sau:

smbd --version

Đầu ra phải giống như bên dưới.

3. Bước 2: Định cấu hình Samba

Để có thể chia sẻ tệp một cách an toàn với các thiết bị mạng khác, bạn phải định cấu hình máy chủ Samba. Tệp cấu hình chính cho Samba được đặt tại /etc/samba/smb.conf trên PC. Hướng dẫn này sử dụng trình soạn thảo văn bản Vim để chỉnh sửa tệp cấu hình Samba, nhưng bạn cũng có thể sử dụng bất kỳ trình soạn thảo văn bản nào khác.

Lưu ý: Bạn cần có đặc quyền quản trị để chỉnh sửa tệp cấu hình.

sudo vim /etc/samba/smb.conf

Thêm các dòng sau vào cuối tệp cấu hình.

[sambashare]
comment= Network Shared Folder by Samba Server on Ubuntu
path = /home/your_username/sambashare
force user = smbuser
force group = smbgroup
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
public = yes
read only = no

Hãy nhớ cập nhật thông số (parameter) path với tên người dùng của bạn. Bạn có thể lấy tên người dùng của mình bằng cách chạy lệnh sau:

echo $USER

Để thoát khỏi trình chỉnh sửa Vim sau khi thực hiện các thay đổi của bạn, chỉ cần nhập :wq và nhấn phím Enter.

Hiểu cấu hình

Đây là mô tả ngắn gọn về các dòng cấu hình mà bạn vừa thêm vào.

  • Section (Phần): Phần mới trong tệp cấu hình được biểu thị bằng dấu ngoặc vuông ( [] ). Trong trường hợp này, phần là [sambashare].
  • Comment: Dòng mã này tóm tắt về nội dung của phần này. Đặc biệt, nó rất hữu ích nếu bạn có một số phần thư mục được chia sẻ trong tệp cấu hình.
  • Path: Đây là đường dẫn đến thư mục của thư mục chia sẻ mạng được chỉ định của bạn.
  • Force user: Người dùng hệ thống mà máy chủ Samba sẽ sử dụng để chia sẻ tệp.
  • Force group: Tên của nhóm mà người dùng hệ thống Samba sẽ thuộc về.
  • Create mask: Tham số này sẽ đặt quyền cho các tệp mới được tạo trong thư mục chia sẻ. Trong trường hợp này, giá trị 0664 có nghĩa là chủ sở hữu của tệp và nhóm sẽ có quyền đọc và ghi trong khi những người dùng khác sẽ chỉ có quyền đọc.
  • Force create mode: Hoạt động cùng với tham số Create mask để thiết lập quyền đối với tệp chính xác.
  • Directory mask: Tham số này xác định quyền cho các thư mục trong thư mục được chia sẻ. Quyền = 0775, có nghĩa là chủ sở hữu và nhóm có quyền đọc, ghi và thực thi, trong khi những người khác chỉ có quyền đọc và thực thi.
  • Force directory mode: Tham số này hoạt động cùng với Directory mask để đảm bảo rằng quyền thư mục chính xác được đặt.
  • Public: Tham số này chỉ định rằng đây là một thư mục công khai trên mạng của bạn và các thiết bị khác có thể truy cập vào nó.
  • Read-only: Chỉ định quyền sửa đổi các tệp trong thư mục được chia sẻ.

>>> Xem thêm: Cách cập nhật Google Chrome trên Ubuntu

4. Bước 3: Tạo tài nguyên Samba

Sau khi cấu hình máy chủ Samba, bây giờ bạn phải tạo các tài nguyên (resources) cần thiết như người dùng Samba và thư mục để chia sẻ. Các tài nguyên này sẽ tạo điều kiện thuận lợi cho quá trình chia sẻ một thư mục trên mạng.

4.1 Thư mục Chia sẻ

Bạn cần tạo thư mục chia sẻ trong đường dẫn được chỉ định trong tệp cấu hình Samba ở trên. Hướng dẫn này sử dụng một thư mục chia sẻ có tên là sambashare nằm trong thư mục chính của bạn.

Điều hướng đến thư mục chính của bạn bằng lệnh cd .

cd ~

Sau đó, tạo thư mục chia sẻ bằng lệnh dưới đây:

mkdir -p sambashare

4.2 Người dùng và nhóm Samba

Bước tiếp theo là tạo nhóm và người dùng hệ thống Samba được chỉ định trong tệp cấu hình.

Bạn có thể tạo nhóm hệ thống Samba bằng lệnh sau:

sudo groupadd --system smbgroup

Tiếp theo, tạo người dùng hệ thống Samba bằng useradd.

sudo useradd --system --no-create-home --group smbgroup -s /bin/false smbuser 

Lệnh trên tạo người dùng hệ thống và thêm người dùng vào nhóm Samba đã tạo ở trên. Ngoài ra, vì đây là người dùng hệ thống nên sẽ không có thư mục chính nào được tạo.

4.3 Thay đổi chủ sở hữu thư mục được chia sẻ

Khi người dùng và nhóm Samba đã có sẵn, bây giờ bạn có thể thay đổi chủ sở hữu thư mục được chia sẻ thành người dùng mới smbuser và nhóm thành smbgroup. Bạn có thể làm điều này bằng cách sử dụng lệnh dưới đây:

sudo chown -R smbuser:smbgroup ~/sambashare

Cuối cùng, đưa ra lệnh dưới đây để cấp cho nhóm quyền ghi vào thư mục chia sẻ và nội dung bên trong nó.

sudo chmod -R g+w ~/sambashare

5. Bước 4: Khởi động lại dịch vụ Samba

Bạn nên khởi động lại dịch vụ Samba để các thay đổi trong tệp cấu hình Samba có hiệu lực.

sudo systemctl restart smbd

Sau khi dịch vụ khởi động lại, bạn có thể kiểm tra trạng thái của nó bằng lệnh dưới đây:

sudo systemctl status smbd

Lưu ý : Nếu bạn đã bật tường lửa, bạn cũng nên thêm Samba vào các quy tắc đã bật của mình bằng lệnh ufw.

sudo ufw enable samba

6. Bước 5: Truy cập Thư mục Chia sẻ

Thư mục được chia sẻ của bạn hiện có thể truy cập được bởi các thiết bị trên mạng của bạn.

6.1 Trên Windows

Trong Windows, bạn có thể truy cập thư mục chia sẻ bằng Windows Explorer. Bạn có thể mở trình khám phá tệp bằng phím tắt Windows + E.

Trong thanh địa chỉ, nhập \\ip_address_of_pc_with_shared_folder\sambashare.

Hãy nhớ thay thế bằng địa chỉ IP chính xác và tên thư mục chia sẻ.

Hệ thống cũng sẽ yêu cầu bạn nhập tên người dùng và mật khẩu của người dùng trên PC Linux.

6.2 Trên Ubuntu

Trên Ubuntu Linux, mở trình quản lý tệp mặc định và nhấp vào nút Other Location (Vị trí khác). Sau đó, trong đầu vào Connect to Server (Kết nối với Máy chủ), hãy nhập địa chỉ IP ở định dạng sau:

smb://ip_adresss_of_pc_with_shared_folder/sambashare

Bạn có thể kết nối với tư cách người dùng đã đăng ký hoặc ẩn danh. Hãy nhớ rằng nếu bạn chọn Registered User (Người dùng đã đăng ký) từ menu thả xuống, bạn sẽ phải nhập thông tin đăng nhập của người dùng.

6.3 Trên macOS

Người dùng Mac cũng có thể truy cập thư mục chia sẻ một cách dễ dàng. Trong menu Finder, nhấp vào tab Network và máy tính có thư mục chia sẻ công khai sẽ được liệt kê. Click vào nó và bạn sẽ có thể truy cập các tệp.

7. Chia sẻ tệp giữa nhiều thiết bị một cách hiệu quả

Trong bài viết này, FUNiX đã hướng dẫn bạn cách chia sẻ tệp trên mạng bằng Samba. Với Samba, bạn có thể chia sẻ tệp trên mạng dù bạn đang chạy hệ điều hành nào trên thiết bị.

>>> Nếu bạn đang có nhu cầu tìm hiểu về khóa học lập trình đi làm ngay. Hãy liên hệ với FUNiX ngay tại đây:

>>> Xem thêm chuỗi bài viết liên quan:

FUNiX – Học lấy bằng đại học trực tuyến giá trị ngang bằng đại học chính quy

Cách khắc phục sự cố vòng lặp đăng nhập trên Ubuntu

Hướng dẫn từng bước để bắt đầu với máy chủ Ubuntu

9 điều cần làm sau khi cài đặt Ubuntu Linux trong VirtualBox

Cách cài đặt và thiết lập máy chủ ProFTPD với TLS trên Ubuntu

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/set-up-network-shared-folder-ubuntu-with-samba/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!