Cài đặt và cấu hình Samba Server trên CentOS 7

theanh

Administrator
Nhân viên
Hướng dẫn này giải thích cách cấu hình máy chủ Samba trên CentOS 7 với các chia sẻ samba ẩn danh và bảo mật. Samba là một bộ phần mềm nguồn mở/miễn phí cung cấp dịch vụ tệp và in liền mạch cho các máy khách SMB/CIFS như Windows. Samba có sẵn miễn phí, không giống như các triển khai SMB/CIFS khác và cho phép khả năng tương tác giữa các máy chủ Linux/Unix và máy khách chạy Windows.

1 Lưu ý sơ bộ​

Tôi có một máy chủ CentOS 7 mới cài đặt, trên đó tôi sẽ cài đặt máy chủ samba. Tất nhiên bạn cần có một máy Windows để kiểm tra máy chủ samba phải có thể truy cập được bằng máy chủ CentOS 7. Máy chủ Centos 7 của tôi có tên máy chủ server1.example.com & IP là 192.168.0.100


Lưu ý:
  • Máy Windows phải nằm trong cùng một nhóm làm việc. Để kiểm tra giá trị trong máy Windows, hãy chạy lệnh tại dấu nhắc cmd
Mã:
net config workstation
Nó sẽ như thế này:



Máy Windows của bạn phải ở cùng miền Workstation như trong máy chủ CentOS 7.0, tức là WORKGROUP trong trường hợp của tôi.


  • Để máy Windows có thể truy cập được trong Windows, hãy thực hiện như thế này. Trong lệnh chạy terminal & thêm mục nhập địa chỉ IP máy chủ của bạn:
Mã:
notepad C:\Windows\System32\drivers\etc\hosts
Trong trường hợp của tôi thì như thế này, chỉ cần lưu các giá trị.
Mã:
[...]
192.168.0.100 server1.example.com centos

2 Chia sẻ Samba ẩn danh​

Đầu tiên, tôi sẽ giải thích phương pháp cài đặt Samba bằng chia sẻ ẩn danh. Để cài đặt phần mềm Samba, hãy chạy:
Mã:
yum install samba samba-client samba-common
Nó sẽ cài đặt phiên bản Samba hiện tại từ kho lưu trữ phần mềm CentOS.

Bây giờ để cấu hình samba, hãy chỉnh sửa tệp /etc/samba/smb.conf.Btrước khi thực hiện thay đổi, tôi sẽ sao lưu tệp gốc thành /etc/samba/smb.conf.bak
Mã:
cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak
Vì tôi muốn bắt đầu với một tệp trống, tôi sẽ sử dụng lệnh cat để làm trống smb.conf. Nhanh hơn là xóa tất cả các dòng trong vi.
Mã:
cat /dev/null >/etc/samba/smb.conf
Ngoài ra, hãy cung cấp các mục nhập như thế này
Mã:
vi /etc/samba/smb.conf
Mã:
[global]workgroup = WORKGROUPserver string = Samba Server %vnetbios name = centossecurity = usermap to guest = bad userdns proxy = no#================================ Định nghĩa chia sẻ ===============================[Anonymous]path = /samba/anonymousbrowsable =yeswritable = yesguest ok = yesread only = no

Mã:
mkdir -p /samba/anonymous
systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service
Ngoài ra, CentOS 7 Firewall-cmd sẽ chặn quyền truy cập samba, để thoát khỏi điều đó, chúng ta sẽ chạy:
Mã:
firewall-cmd --permanent --zone=public --add-service=samba
Mã:
[root@server1 ~]# firewall-cmd --permanent --zone=public --add-service=sambasuccess[root@server1 ~]#
Cuối cùng, tải lại tường lửa để áp dụng các thay đổi.
Mã:
firewall-cmd --reload
Mã:
[root@server1 ~]# firewall-cmd --reloadsuccess[root@server1 ~]#
Bây giờ bạn có thể truy cập vào chia sẻ Centos 7 trong Windows như sau. Đi đến dấu nhắc Run và nhập \\centos:
Mã:
\\centos


Từ máy tính Windows, chỉ cần duyệt thư mục và thử tạo tệp văn bản, nhưng bạn sẽ nhận được lỗi quyền bị từ chối.





Kiểm tra quyền của thư mục được chia sẻ.

ls -l
Mã:
drwxr-xr-x. 2 root root 6 Tháng bảy 17 13:41 anonymous
[root@server1 samba]#
Để cho phép người dùng ẩn danh truy cập, hãy thiết lập các quyền như sau:
Mã:
cd /samba
Mã:
chmod -R 0755 anonymous/
chown -R nobody:nobody anonymous/
Mã:
ls -l anonymous/
Mã:
tổng số 0
drwxr-xr-x. 2 nobody nobody 6 tháng 7 năm 17 13:41 anonymous
[root@server1 samba]#
Ngoài ra, chúng ta cần cho phép SELinux cho cấu hình samba như sau:
Mã:
chcon -t samba_share_t anonymous/
Bây giờ người dùng ẩn danh có thể duyệt & tạo nội dung thư mục.



Bạn cũng có thể kiểm tra chéo nội dung tại máy chủ.
Mã:
ls -l anonymous/
Mã:
tổng số 0
-rwxr--r--. 1 nobody nobody 0 17-07-16 16:05 anonymous.txt
[root@server1 samba]#

3. Máy chủ samba được bảo mật​

Do đó, tôi sẽ tạo một nhóm smbgrp & người dùng srijan để truy cập máy chủ samba với xác thực phù hợp.
Mã:
groupadd smbgrp
Mã:
useradd srijan -G smbgrp
Mã:
smbpasswd -a srijan
Mã:
[root@server1 samba]# smbpasswd -a srijanMật khẩu SMB mới:[B]
 
Back
Bên trên