Install and Configure Samba on Ubuntu
5 tháng 10, 2023 bởi
Install and Configure Samba on Ubuntu
iTricks
| Chưa có bình luận

Overview

Samba là gì?

Samba là một hệ thống phần mềm mã nguồn mở mạnh mẽ, được sử dụng để tạo cầu nối giữa các hệ điều hành Unix/Linux và hệ điều hành Microsoft Windows trên cùng mạng. Chủ yếu được phát triển để cung cấp khả năng chia sẻ tệp và máy in giữa các máy tính chạy các hệ điều hành khác nhau, Samba là một giải pháp độc lập và linh hoạt, thường được tích hợp sâu vào các hệ thống mạng doanh nghiệp và cũng có sẵn cho cộng đồng người dùng cá nhân.

Khả năng tương thích
Điểm đặc biệt của Samba là khả năng tương tác với giao thức SMB/CIFS, phổ biến trong các môi trường Windows. Bằng cách sử dụng Samba, người dùng có thể dễ dàng chia sẻ tài nguyên như tệp tin, thư mục, và máy in giữa các máy tính trong cùng mạng, tạo ra một môi trường làm việc đa nền tảng.

Công dụng ưu việt của Samba

Samba không chỉ giúp kết nối giữa các hệ điều hành khác nhau mà còn cung cấp các tính năng bảo mật cao, cho phép người quản trị tùy chỉnh quyền truy cập và kiểm soát đối với các tài nguyên chia sẻ. Đồng thời, Samba cũng hỗ trợ tính năng đăng nhập từ xa và quản lý tài khoản người dùng thông qua giao thức NTLM (NT LAN Manager) và SMB.

Dùng Samba, người dùng có thể xây dựng và duy trì một môi trường mạng hiệu quả, kết nối các máy tính chạy các hệ điều hành khác nhau một cách thuận tiện và hiệu quả.

Install Samba

Update hệ thống:

sudo apt-get update
sudo apt-get upgrade

Cài đặt Samba:

sudo apt install samba

Check samba xem đã cài được chưa, nếu thành công sẽ hiển thị ra path chứa samba

whereis samba

Tạo user account samba

sudo adduser scan
sudo adduser cnc
sudo adduser cnc1
sudo smbpasswd -a scan
sudo smbpasswd -a cnc
sudo smbpasswd -a cnc1

Mỗi một người dùng sẽ được cấp một user account để truy cập dịch vụ smb, có bao nhiêu người dùng thì sẽ tạo bấy nhiêu user tại đây

Tạo thư mục chia sẻ

mkdir /home/<username>/smb/

username thay bằng user muốn tạo

ví dụ:

mkdir /home/scan/smb/
mkdir /home/cnc/smb/
mkdir /home/cnc1/smb/

Phân quyền cho thư mục chia sẻ

đi tới thư mục gốc cần phân quền

cd /home
sudo chmod -R 750 cnc
sudo chmod -R 750 cnc1
sudo chmod -R 777 scan

Bộ phận cnc có 2 user là cnc, cnc1
tạo user cnc và cnc1 trên ubuntu

thêm user cnc vào group cnc1 và thêm cnc1 vào group cnc

Phân quyền cho thư mục chia sẻ là 750 (người sở hữu full quyền, nhóm sở hữu chỉ đọc, khác không có quyền gì)

750 là gì?

Số vị trí đầu tiên ở đây cụ thể là số 7, số này sẽ đại diện cho quyền cho người sở hữu file / folder
Số ở vị trí thứ hai ở đây cụ thể là số 5, số này đại diện cho quyền thuộc nhóm sở hữu file / folder này
Số ở vị trí thứ 3 ở đây là số 0, số này là quyền cho những người không thuộc sở hữu và cũng không thuộc nhóm sở hữu, nghĩa là bất cứ người dùng nào.

Quyền được chi làm 3 kiểu

- Đọc(r) = 2^2: Cho phép xem tệp tin đó
- Ghi(w) = 2^1: Cho phép tạo mới, sửa và xoá
- Thực thi(x) = 2^0: là quyền để chạy tập lệnh

Tập tin

  • Nếu bạn có quyền thực thi đối với một tập tin, bạn có thể chạy nó như một chương trình hoặc kịch bản.
  • Đối với các tập tin thực thi như các chương trình shell script hay các tập tin thực thi nhị phân, quyền thực thi là quan trọng để thực hiện chúng

Thư mục

  • Quyền thực thi đối với một thư mục là quan trọng để đi vào thư mục đó.
  • Nếu bạn không có quyền thực thi đối với một thư mục, bạn sẽ không thể truy cập các tập tin và thư mục bên trong đó, ngay cả khi chúng có quyền đọc.


7 (rwx) = 2^2 + 2^1 + 2^0 =  4 + 2 + 1
5 (r-x) = 2^2 + 2^0
0 (---) = 0

- Lưu ý: tạo thư mục scan thì tại valid users khai báo tất cả các user cho phép vào, và đồng thời phân quyền cho thư mục chia sẻ scan là 777 (ai cũng có thể vào thư mục này và full quyền)

-- Lưu ý: phải dùng quyền root với lệnh sudo, -R là áp dụng với tất cả file trong folder
1: Thay đổi quyền sở hữu: sudo chown -R user file/folder
2: Thay đổi nhóm sở hữu: sudo chgrp -R nhóm file/folder
3: Thêm user vào nhóm: sudo addgroup user group
4: Thêm user ubuntu: sudo adduser username
5: tạo folder: mkdir folder



Configure Samba

Sửa file cấu hình samba

sudo nano /etc/samba/smb.conf

Lưu ý: Hãy tạo 1 file backup phòng khi làm sai

Thêm nội dung vào file

[samba_scan]
comment = Samba for scan
path = /home/scan/smb
valid users = scan,it,cnc,cnc1,kho
read only = no
browsable = yes

[samba_cnc]
comment = Samba for cnc
path = /home/cnc/smb
valid users = cnc,cnc1
read only = no
browsable = yes

Ý nghĩa khối code trên

Mỗi một thư mục chia sẻ là 1 khối code, thường thì sẽ gắn với 1 phòng ban hay mỗi nhân viên sẽ là 1 thư mục riêng tuỳ vào mục đích sử dụng của bạn.

  • samba_scan là tên thư mục hiển thị
  • path là thư mục cho user
  • valid users là tập những user có quyền vào
  • browsable phải là yes

Connect to Samba

Window

Mở File Explorer: trên thanh địa chỉ gõ đường dẫn

\\mySambaServer\mySharedFolder

Ví dụ máy chạy dịch vụ samba có ip là: 192.168.1.100 và  thư mục cần truy cập là cnc

\\192.168.1.100\cnc

Tiến hành đăng nhập với user được cấp

Ubuntu / MacOS

Trong thanh địa chỉ của File Manager / Finder nhập địa chỉ của thư mục chia sẻ. Địa chỉ có thể có dạng:
smb://192.168.1.100/cnc

Tiến hành đăng nhập với user được cấp

Đăng nhập để viết bình luận