Giới thiệu
Trong lab này, chúng ta sẽ khám phá lệnh smbd
của Linux, đây là một thành phần quan trọng của máy chủ Samba. Daemon smbd
chịu trách nhiệm cung cấp các dịch vụ tập tin và in ấn cho các máy khách SMB/CIFS. Chúng ta sẽ học cách cấu hình máy chủ Samba, quản lý các chia sẻ Samba và thiết lập quyền. Lab này bao gồm phần giới thiệu về lệnh smbd
, cấu hình máy chủ Samba và quản lý các chia sẻ và quyền Samba.
Giới thiệu về lệnh smbd
Trong bước này, chúng ta sẽ khám phá lệnh smbd
, đây là một thành phần quan trọng của máy chủ Samba. Daemon smbd
chịu trách nhiệm cung cấp các dịch vụ tập tin và in ấn cho các máy khách SMB/CIFS.
Đầu tiên, hãy kiểm tra trạng thái của dịch vụ Samba trên container Ubuntu 22.04 Docker của chúng ta:
sudo systemctl status smbd
Ví dụ về đầu ra:
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Như bạn có thể thấy, dịch vụ smbd
hiện đang không hoạt động. Điều này là do chúng ta chưa cấu hình máy chủ Samba.
Tiếp theo, hãy khởi động dịch vụ smbd
:
sudo systemctl start smbd
Bây giờ, hãy kiểm tra lại trạng thái:
sudo systemctl status smbd
Ví dụ về đầu ra:
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-04-27 12:34:56 UTC; 10s ago
Main PID: 12345 (smbd)
Status: "smbd: ready to serve connections..."
Dịch vụ smbd
hiện đang chạy và sẵn sàng phục vụ các kết nối Samba.
Lệnh smbd
là tiến trình máy chủ Samba chính xử lý việc chia sẻ tập tin và in ấn. Nó có thể được cấu hình để chia sẻ các thư mục và máy in trên hệ thống cục bộ với Windows, macOS và các máy khách SMB/CIFS khác.
Trong các bước tiếp theo, chúng ta sẽ học cách cấu hình máy chủ Samba và quản lý các chia sẻ và quyền Samba.
Cấu hình máy chủ Samba
Trong bước này, chúng ta sẽ cấu hình máy chủ Samba để chia sẻ các thư mục trên container Ubuntu 22.04 Docker của chúng ta.
Đầu tiên, hãy cài đặt gói Samba:
sudo apt-get update
sudo apt-get install -y samba
Tiếp theo, chúng ta cần tạo một tập tin cấu hình Samba. Chúng ta sẽ sử dụng tập tin cấu hình mặc định nằm tại /etc/samba/smb.conf
:
sudo nano /etc/samba/smb.conf
Thêm cấu hình sau vào tập tin:
[global]
workgroup = WORKGROUP
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[share]
comment = Public Share
path = /home/labex/project
browsable = yes
read only = no
guest ok = yes
Cấu hình này tạo ra một chia sẻ Samba mới có tên là share
trỏ đến thư mục /home/labex/project
. Chia sẻ được đặt để có thể duyệt và ghi bởi tất cả người dùng.
Lưu và thoát tập tin.
Bây giờ, hãy tạo tài khoản người dùng Samba:
sudo smbpasswd -a labex
Nhập mật khẩu cho người dùng labex
khi được nhắc.
Cuối cùng, hãy khởi động lại dịch vụ Samba để áp dụng các thay đổi:
sudo systemctl restart smbd
Máy chủ Samba hiện đã được cấu hình và sẵn sàng chia sẻ thư mục /home/labex/project
.
Quản lý các chia sẻ và quyền Samba
Trong bước này, chúng ta sẽ học cách quản lý các chia sẻ Samba và đặt quyền trên các thư mục được chia sẻ.
Đầu tiên, hãy tạo một thư mục mới để chia sẻ:
sudo mkdir /home/labex/project/shared
sudo chown -R labex:labex /home/labex/project/shared
Thao tác này tạo ra một thư mục mới có tên là shared
bên trong thư mục /home/labex/project
và đặt quyền sở hữu cho người dùng labex
.
Tiếp theo, hãy thêm chia sẻ mới vào tập tin cấu hình Samba:
sudo nano /etc/samba/smb.conf
Thêm khối cấu hình sau bên dưới phần [global]
:
[shared]
comment = Shared Directory
path = /home/labex/project/shared
browsable = yes
read only = no
guest ok = no
valid users = labex
Thao tác này tạo ra một chia sẻ Samba mới có tên là shared
trỏ đến thư mục /home/labex/project/shared
. Chia sẻ được đặt để có thể duyệt, ghi và chỉ có thể truy cập được đối với người dùng labex
.
Lưu và thoát tập tin.
Bây giờ, hãy khởi động lại dịch vụ Samba để áp dụng các thay đổi:
sudo systemctl restart smbd
Để kiểm tra chia sẻ mới, bạn có thể thử truy cập nó từ một máy khách Windows hoặc macOS bằng URL smb://hostname/shared
, trong đó hostname
là địa chỉ IP hoặc tên máy chủ của container Ubuntu 22.04 Docker của bạn.
Bạn sẽ có thể thấy thư mục được chia sẻ mới và đọc/ghi các tập tin với tư cách là người dùng labex
.
Tóm tắt
Trong lab này, trước tiên chúng ta đã khám phá lệnh smbd
, đây là tiến trình máy chủ Samba chính chịu trách nhiệm cung cấp các dịch vụ tập tin và in ấn cho các máy khách SMB/CIFS. Chúng ta đã học cách kiểm tra trạng thái của dịch vụ Samba, khởi động dịch vụ smbd
và hiểu vai trò của nó trong máy chủ Samba. Tiếp theo, chúng ta đã cấu hình máy chủ Samba bằng cách cài đặt gói Samba và sửa đổi tập tin cấu hình Samba mặc định, smb.conf
, để thiết lập workgroup và các thư mục được chia sẻ.