Lệnh smbd trong Linux

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ẻ.

400+ câu lệnh phổ biến trong Linux