Samba là phần mềm mã nguồn mở miễn phí có thể được sử dụng để chia sẻ tệp, thư mục và máy in giữa các hệ thống Linux và Windows. Nó cũng được sử dụng để Xác thực và Ủy quyền, Giải quyết tên và Thông báo dịch vụ. Nó có thể chạy trên các hệ điều hành khác nhau bao gồm Linux, Unix, OpenVMS và nhiều hệ điều hành khác.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt Samba và cấu hình nó như một máy chủ chia sẻ độc lập trên CentOS 8.
Sau khi cài đặt Samba, hãy khởi động dịch vụ SMB và cho phép nó khởi động sau khi khởi động lại hệ thống bằng lệnh sau:
Bây giờ bạn có thể xác minh dịch vụ Samba bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Tiếp theo, chỉ định các quyền và quyền sở hữu cần thiết bằng lệnh sau:
Đầu tiên, tạo bản sao lưu của tệp /etc/samba/smb.conf bằng lệnh sau:
Tiếp theo, tạo tệp cấu hình Samba mới:
Thêm các dòng sau:
Lưu và đóng tệp. Sau đó, khởi động lại dịch vụ Samba để áp dụng các thay đổi:
Tiếp theo, kiểm tra cấu hình Samba bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Tiếp theo, tất cả dịch vụ Samba thông qua firewalld bằng lệnh sau:
Cung cấp địa chỉ IP máy chủ Samba của bạn và nhấp vào nút Kết nối. Sau khi kết nối thành công, bạn sẽ thấy chia sẻ Samba trong màn hình sau:
Bây giờ, hãy nhấp vào thư mục Public, bạn sẽ thấy các tệp của mình trong màn hình sau:
Trước tiên, hãy liệt kê tất cả các chia sẻ Samba khả dụng bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Bạn cũng có thể gắn kết chia sẻ Samba bằng giao thức cifs. Để thực hiện, hãy cài đặt gói cifs-utils bằng lệnh sau:
Tiếp theo, gắn kết chia sẻ Samba vào thư mục /mnt bằng lệnh sau:
Bạn sẽ được yêu cầu cung cấp mật khẩu như hiển thị bên dưới:
Chỉ cần nhấn Enter mà không nhập bất kỳ mật khẩu nào để gắn kết chia sẻ Samba:
Bây giờ bạn có thể truy cập chia sẻ Samba trong thư mục /mnt:
Bạn sẽ thấy đầu ra sau:
Tiếp theo, tạo một người dùng mới có tên là privateuser và thêm người dùng này vào nhóm riêng tư:
Tiếp theo, đặt mật khẩu cho người dùng bằng lệnh sau:
Đầu ra:
Tiếp theo, chỉ định quyền và quyền sở hữu phù hợp bằng lệnh sau:
Tiếp theo, cấu hình ngữ cảnh SELinux cho thư mục riêng bằng lệnh sau:
Thêm các dòng sau vào cuối tệp:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Samba để áp dụng các thay đổi:
Tiếp theo, hãy kiểm tra cấu hình Samba bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Bạn sẽ thấy đầu ra sau:
Tiếp theo, kết nối đến máy chủ Samba và liệt kê các chia sẻ khả dụng bằng lệnh sau:
Bạn sẽ được yêu cầu cung cấp mật khẩu như hiển thị bên dưới:
Nhập mật khẩu của bạn và nhấn Enter để truy cập shell Samba như hiển thị bên dưới:
Bây giờ, hãy liệt kê chia sẻ khả dụng bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Bây giờ, thoát khỏi shell Samba bằng lệnh sau:
Bạn cũng có thể gắn kết chia sẻ Samba vào thư mục /opt:
Bạn sẽ được yêu cầu cung cấp mật khẩu như hiển thị bên dưới:
Cung cấp mật khẩu của bạn và nhấn Enter để gắn kết chia sẻ Samba.
Bây giờ bạn có thể kiểm tra chia sẻ Samba của mình trong thư mục /opt như được hiển thị bên dưới:
Đầu ra:
Cung cấp địa chỉ IP máy chủ Samba của bạn và nhấp vào nút Kết nối. Sau khi kết nối thành công, bạn sẽ thấy Samba share trong màn hình sau:
Bây giờ, hãy nhấp vào thư mục Private, cung cấp tên người dùng và mật khẩu của bạn, sau đó nhấp vào nút Connect. Bạn sẽ thấy các tệp của mình trong màn hình sau:
Xin chúc mừng! bạn đã cài đặt và cấu hình thành công máy chủ Samba trên CentOS 8.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt Samba và cấu hình nó như một máy chủ chia sẻ độc lập trên CentOS 8.
Điều kiện tiên quyết
- Một máy chủ chạy CentOS 8.
- Mật khẩu gốc được cấu hình trên máy chủ của bạn.
Cài đặt Samba Server
Theo mặc định, gói Samba có sẵn trong kho lưu trữ mặc định của CentOS. Bạn có thể cài đặt nó bằng lệnh sau:
Mã:
dnf install samba samba-common samba-client -y
Mã:
systemctl start smb
systemctl enable smb
Mã:
systemctl status smb
Mã:
? smb.service - Samba SMB Daemon Đã tải: đã tải (/usr/lib/systemd/system/smb.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ Hai 2020-03-02 23:03:30 EST; 8 giây trước Tài liệu: man:smbd(8) man:samba(7) man:smb.conf(5) PID chính: 2072 (smbd) Trạng thái: "smbd: sẵn sàng phục vụ kết nối..." Nhiệm vụ: 4 (giới hạn: 25028) Bộ nhớ: 33,8M CGroup: /system.slice/smb.service ??2072 /usr/sbin/smbd --foreground --no-process-group ??2074 /usr/sbin/smbd --foreground --no-process-group ??2075 /usr/sbin/smbd --foreground --no-process-group ??2076 /usr/sbin/smbd --foreground --no-process-group
Tạo Chia sẻ công khai với Samba
Trong phần này, chúng tôi sẽ tạo một chia sẻ công khai với Samba để mọi người có thể truy cập thư mục chia sẻ công khai không cần mật khẩu.Tạo thư mục chia sẻ công khai
Đầu tiên, tạo một thư mục chia sẻ có tên là public và cũng tạo hai tệp bên trong thư mục public:
Mã:
mkdir -p /samba/share/public
touch /samba/share/public/file1.txt
touch /samba/share/public/file2.txt
Mã:
chmod -R 0755 /samba/share/
chmod -R 0755 /samba/share/public
chown -R nobody:nobody /samba/share
chown -R nobody:nobody /samba/share/public
Cấu hình Samba
Tiếp theo, bạn sẽ cần cấu hình Samba để chia sẻ một thư mục công khai.Đầu tiên, tạo bản sao lưu của tệp /etc/samba/smb.conf bằng lệnh sau:
Mã:
mv /etc/samba/smb.conf /etc/samba/smb.bak
Mã:
nano /etc/samba/smb.conf
Mã:
[global]workgroup = WORKGROUPserver string = Samba Server %vnetbios name = samba-serversecurity = usermap to guest = bad userdns proxy = no[Public]path = /samba/share/publicbrowsable =yeswritable = yesguest ok = yesread only = no
Mã:
systemctl restart smb
Mã:
testparm
Mã:
Tải tệp cấu hình smb từ /etc/samba/smb.confĐã tải tệp dịch vụ OK.Vai trò máy chủ: ROLE_STANDALONENhấn enter để xem bản dump các định nghĩa dịch vụ của bạn# Tham số toàn cục[global] dns proxy = Không có bản đồ đến khách = Người dùng không hợp lệ netbios name = SAMBA-SERVER security = NGƯỜI DÙNG server string = Máy chủ Samba %v idmap config * : backend = tdb[Public] guest ok = Có path = /samba/share/public read only = Không
Cấu hình SELinux và Tường lửa
Tiếp theo, đặt các giá trị boolean và ngữ cảnh bảo mật SELinux thích hợp trên thư mục chia sẻ bằng lệnh sau:
Mã:
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"
restorecon /samba/share/public
Mã:
firewall-cmd --add-service=samba --zone=public --permanent
firewall-cmd --reload
Truy cập Samba Share từ Ubuntu Gnome
Để truy cập Samba share, hãy đến máy từ xa, mở trình quản lý tệp Gnome và nhấp vào Kết nối đến Máy chủ như hiển thị bên dưới:Cung cấp địa chỉ IP máy chủ Samba của bạn và nhấp vào nút Kết nối. Sau khi kết nối thành công, bạn sẽ thấy chia sẻ Samba trong màn hình sau:
Bây giờ, hãy nhấp vào thư mục Public, bạn sẽ thấy các tệp của mình trong màn hình sau:
Truy cập Chia sẻ Samba từ Dòng lệnh Ubuntu
Bạn cũng có thể truy cập chia sẻ Samba từ dòng lệnh.Trước tiên, hãy liệt kê tất cả các chia sẻ Samba khả dụng bằng lệnh sau:
Mã:
smbclient -L //45.58.38.51
Mã:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Sharename Type Comment --------- ---- ------- Public Disk IPC$ IPC IPC Service (Samba Server 4.10.4)Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Server Comment --------- ------- Workgroup Master --------- -------
Mã:
apt-get install cifs-utils -y
Mã:
mount -t cifs //45.58.38.51/public /mnt/
Mã:
Mật khẩu cho root@//45.58.38.51/public:
Bây giờ bạn có thể truy cập chia sẻ Samba trong thư mục /mnt:
Mã:
ls /mnt/
Mã:
file1.txt file2.txt
Tạo Chia sẻ Riêng tư bằng Samba
Trong phần này, chúng ta sẽ tạo một chia sẻ riêng tư bằng Samba để chỉ người dùng đã xác thực mới có thể truy cập vào thư mục chia sẻ riêng tư.Tạo Người dùng và Nhóm
Trước tiên, tạo một nhóm có tên là private bằng lệnh sau:
Mã:
groupadd private
Mã:
useradd -g private privateuser
Mã:
smbpasswd -a privateuser
Mã:
Mật khẩu SMB mới:Nhập lại mật khẩu SMB mới:Đã thêm người dùng privateuser.
Tạo Thư mục Chia sẻ Riêng tư
Tiếp theo, tạo một thư mục chia sẻ có tên là private và cũng tạo hai các tệp bên trong thư mục riêng:
Mã:
mkdir -p /samba/share/private
touch /samba/share/private/private1.txt
touch /samba/share/private/private2.txt
Mã:
chmod -R 0770 /samba/share/private
chown -R root:private /samba/share/private
Mã:
semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"
restorecon /samba/share/private
Cấu hình Samba
Tiếp theo, mở tệp cấu hình Samba và xác định chia sẻ riêng:
Mã:
nano /etc/samba/smb.conf
Mã:
[Private]path = /samba/share/privatevalid users = @privateguest ok = nowritable = yesbrowsable = yes
Mã:
systemctl restart smb
Mã:
testparm
Mã:
Tải tệp cấu hình smb từ /etc/samba/smb.confĐã tải tệp dịch vụ OK.Vai trò máy chủ: ROLE_STANDALONENhấn enter để xem bản dump các định nghĩa dịch vụ của bạn# Tham số toàn cục[global] dns proxy = Không có bản đồ đến khách = Người dùng không hợp lệ netbios name = SAMBA-SERVER security = NGƯỜI DÙNG server string = Máy chủ Samba %v idmap config * : backend = tdb[Public] guest ok = Có path = /samba/share/public read only = Không[Private] path = /samba/share/private read only = Không có người dùng hợp lệ = @private
Truy cập Chia sẻ Samba từ Dòng lệnh Ubuntu
Trước tiên, hãy truy cập vào chia sẻ khả dụng bằng lệnh sau:
Mã:
smbclient -L //45.58.38.51
Mã:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Sharename Type Comment --------- ---- ------- Public Disk Private Disk IPC$ IPC IPC Service (Samba Server 4.10.4)Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Server Comment --------- ------- Workgroup Master --------- -------
Mã:
smbclient //45.58.38.51/private -U privateuser
Mã:
Nhập mật khẩu của privateuser:
Mã:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]smb: \>
Mã:
smb: \> ls
Mã:
. D 0 Tue Mar 3 10:03:22 2020 .. D 0 Tue Mar 3 10:01:56 2020 private1.txt N 0 Tue Mar 3 10:03:17 2020 private2.txt N 0 Tue Mar 3 10:03:22 2020 51194 khối có kích thước 2097152. Có 49358 khối khả dụng
Mã:
smb: \>exit
Mã:
mount -t cifs -o user=privateuser //45.58.38.51/private /opt
Mã:
Mật khẩu cho privateuser@//45.58.38.51/private: *********
Bây giờ bạn có thể kiểm tra chia sẻ Samba của mình trong thư mục /opt như được hiển thị bên dưới:
Mã:
ls /opt/
Mã:
private1.txt private2.txt
Truy cập Chia sẻ Samba từ Ubuntu Gnome
Để truy cập chia sẻ Samba, hãy đến máy từ xa, mở trình quản lý tệp Gnome và nhấp vào Kết nối với Máy chủ như được hiển thị bên dưới:Cung cấp địa chỉ IP máy chủ Samba của bạn và nhấp vào nút Kết nối. Sau khi kết nối thành công, bạn sẽ thấy Samba share trong màn hình sau:
Bây giờ, hãy nhấp vào thư mục Private, cung cấp tên người dùng và mật khẩu của bạn, sau đó nhấp vào nút Connect. Bạn sẽ thấy các tệp của mình trong màn hình sau:
Xin chúc mừng! bạn đã cài đặt và cấu hình thành công máy chủ Samba trên CentOS 8.