ค้นหาเว็บไซต์

ติดตั้ง Samba4 บน RHEL 8 สำหรับการแชร์ไฟล์บน Windows


Samba เป็นระบบไฟล์เครือข่ายโอเพ่นซอร์ส รวดเร็ว ปลอดภัย เสถียร และใช้กันอย่างแพร่หลาย ให้บริการแชร์ไฟล์และพิมพ์สำหรับลูกค้าทั้งหมดที่ใช้โปรโตคอล SMB/CIFS เช่น เช่น Linux, DOS และ Windows ทุกเวอร์ชัน, OS/2 และระบบปฏิบัติการอื่นๆ อีกมากมาย

ในบทความก่อนหน้านี้ เราได้อธิบายวิธีการติดตั้ง Samba4 บน CentOS/RHEL 7 สำหรับการแชร์ไฟล์พื้นฐานระหว่างระบบ CentOS/RHEL และเครื่อง Windows ที่ที่เราเรียนรู้วิธีกำหนดค่า Samba สำหรับการแชร์ไฟล์แบบไม่เปิดเผยตัวตนและปลอดภัยระหว่างเครื่อง

ในบทความนี้ เราจะอธิบายวิธีการติดตั้งและกำหนดค่า Samba4 บน RHEL 8 สำหรับการแชร์ไฟล์ขั้นพื้นฐานกับเครื่อง Windows

ติดตั้ง Samba4 ใน RHEL 8

1. หากต้องการติดตั้ง Samba 4 พร้อมกับการขึ้นต่อกัน ให้ใช้ตัวจัดการแพ็คเกจ DNF ตามที่แสดง

dnf install samba samba-client samba-common

2. เมื่อการติดตั้งเสร็จสมบูรณ์ ให้เริ่มบริการ Sambe เปิดใช้งานให้เริ่มอัตโนมัติในเวลาบูตระบบ และตรวจสอบบริการนั้นโดยใช้คำสั่ง systemctl ดังต่อไปนี้

systemctl start smb
systemctl enable smb
systemctl status smb

3. ถัดไป หากคุณกำหนดค่าไฟร์วอลล์ไว้ คุณจะต้องเพิ่มบริการ Samba ในการกำหนดค่าไฟร์วอลล์เพื่อให้สามารถเข้าถึงไดเร็กทอรีและไฟล์ที่แชร์ผ่านระบบ

sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload

กำหนดค่า Samba4 บน RHEL 8

4. ในการกำหนดค่า Samba สำหรับการแชร์ไฟล์ คุณต้องสร้างสำเนาสำรองของไฟล์การกำหนดค่า Samba เริ่มต้นซึ่งมาพร้อมกับการตั้งค่าการกำหนดค่าล่วงหน้าและคำสั่งการกำหนดค่าต่างๆ

cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

ตอนนี้ ดำเนินการเพิ่มเติมเพื่อกำหนดค่า samba สำหรับบริการแชร์ไฟล์ที่ไม่ระบุชื่อและปลอดภัยตามที่อธิบายไว้ด้านล่าง

การตั้งค่าการแชร์ไฟล์โดยไม่ระบุชื่อ Samba4 บน RHEL 8

5. ในส่วนนี้ ขั้นตอนแรกคือการสร้างไดเรกทอรีที่ใช้ร่วมกันซึ่งจะจัดเก็บไฟล์บนเซิร์ฟเวอร์ จากนั้นกำหนดสิทธิ์ที่เหมาะสมในไดเร็กทอรีดังที่แสดง

mkdir -p /srv/samba/anonymous
chmod -R 0777 /srv/samba/anonymous
chown -R nobody:nobody /srv/samba/anonymous

6. ถัดไป โดยใช้ ยูทิลิตี chcon เปลี่ยนบริบทความปลอดภัยของ SELinux สำหรับไดเร็กทอรีที่ใช้ร่วมกันของ samba ที่สร้างขึ้น

 
chcon -t samba_share_t /srv/samba/anonymous

7. ตอนนี้ให้เปิดไฟล์การกำหนดค่าโดยใช้โปรแกรมแก้ไขไฟล์ข้อความที่คุณชื่นชอบเพื่อกำหนดค่าการแชร์ไฟล์ที่ไม่ปลอดภัยโดยไม่ระบุชื่อบนไดเร็กทอรีที่แชร์

vim /etc/samba/smb.conf

แก้ไขพารามิเตอร์ส่วนกลางต่อไปนี้ และเพิ่มส่วนสำหรับส่วนแบ่ง ไม่ระบุชื่อ โปรดทราบว่าคุณสามารถตั้งค่าของคุณเองได้เมื่อจำเป็น (อ่าน man smb.conf สำหรับข้อมูลเพิ่มเติม)

[global]
        workgroup = WORKGROUP
        netbios name = rhel
        security = user
...
[Anonymous]
        comment = Anonymous File Server Share
        path = /srv/samba/anonymous
        browsable =yes
        writable = yes
        guest ok = yes
        read only = no
        force user = nobody

บันทึกการเปลี่ยนแปลงในไฟล์และปิด

8. จากนั้นรันคำสั่งต่อไปนี้เพื่อตรวจสอบว่าการกำหนดค่าถูกต้องหรือไม่

testparm 
Load smb config files from /etc/samba/smb.conf 
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) 
Unknown parameter encountered: "netbios" 
Ignoring unknown parameter "netbios" 
Processing section "[homes]" 
Processing section "[printers]" 
Processing section "[print$]" 
Processing section "[Anonymous]" 
Loaded services file OK. 
Server role: ROLE_STANDALONE 

Press enter to see a dump of your service definitions 

Global parameters 
[global] 
       printcap name = cups 
       security = USER 
       idmap config * : backend = tdb 
       cups options = raw 
[homes] 
       browseable = No 
       comment = Home Directories 
       inherit acls = Yes 
       read only = No 
       valid users = %S %D%w%S 

[printers] 
       browseable = No 
       comment = All Printers 
       create mask = 0600 
       path = /var/tmp 
       printable = Yes                                                                                                                           
                                                                                                                          
[print$]                                                                                                                                
       comment = Printer Drivers                                                                                                                  
       create mask = 0664                                                                                                                         
       directory mask = 0775                                                                                                                      
       force group = @printadmin                                                                                                                  
       path = /var/lib/samba/drivers 
       write list = @printadmin root 


[Anonymous] 
       comment = Anonymous File Server Share 
       force user = nobody 
       guest ok = Yes 
       path = /srv/samba/anonymous 
       read only = No

9. หากการกำหนดค่า Samba ตกลง ให้ดำเนินการต่อและรีสตาร์ทบริการ samba เพื่อให้การเปลี่ยนแปลงล่าสุดมีผล

systemctl restart smb

10. สุดท้ายนี้ ทดสอบว่าการแบ่งปัน Anonymous ทำงานได้ดีหรือไม่ ลงชื่อเข้าใช้เครื่อง Windows ของคุณ เปิด Windows Explorer คลิกที่ เครือข่าย จากนั้น คลิกที่โฮสต์ RHEL หรือใช้ที่อยู่ IP ของเซิร์ฟเวอร์เพื่อเข้าถึง (การรันคำสั่ง ip add บนเซิร์ฟเวอร์สามารถช่วยให้คุณดูที่อยู่ IP ได้)

e.g. 2.168.43.198

11. จากนั้น เปิดไดเร็กทอรี Anonymous และลองเพิ่มไฟล์ในนั้นเพื่อแชร์กับผู้ใช้รายอื่น

การตั้งค่าการแชร์ไฟล์ที่ปลอดภัยของ Samba4 บน RHEL 8

12. ในการสร้างไดเร็กทอรีที่ใช้ร่วมกันอย่างปลอดภัย คุณต้องสร้างกลุ่มระบบ Samba ผู้ใช้ทั้งหมดของการแบ่งปันที่ปลอดภัยจะถูกเพิ่มในกลุ่มนี้ คุณสามารถใช้คำสั่ง groupadd เพื่อสร้างกลุ่มได้ดังนี้

groupadd smbgrp

จากนั้นใช้คำสั่ง usermod เพื่อเพิ่มผู้ใช้ทั้งหมด เช่น tecmint ในกลุ่ม และตั้งรหัสผ่านสำหรับผู้ใช้แต่ละคนดังภาพ

usermod tecmint -aG smbgrp
smbpasswd -a tecmint

13. ถัดไป สร้างไดเร็กทอรีที่ปลอดภัยซึ่งจะจัดเก็บไฟล์ที่แชร์ไว้อย่างปลอดภัย จากนั้นตั้งค่าการอนุญาตที่เหมาะสมในไดเร็กทอรี นอกจากนี้ ให้เปลี่ยนบริบทความปลอดภัยของ SELinux สำหรับไดเร็กทอรีดังนี้

mkdir -p /srv/samba/secure
chmod -R 0770 /srv/samba/secure
chown -R root:smbgrp /srv/samba/secure
chcon -t samba_share_t /srv/samba/secure

14. จากนั้น เปิดไฟล์การกำหนดค่าเพื่อแก้ไข

vim /etc/samba/smb.conf

และเพิ่มส่วนต่อไปนี้ที่ท้ายไฟล์

[Secure]
        comment = Secure File Server Share
        path =  /srv/samba/secure
        valid users = @smbgrp
        guest ok = no
        writable = yes
        browsable = yes

บันทึกการเปลี่ยนแปลงและปิดไฟล์

15. ถัดไป ตรวจสอบการกำหนดค่า samba อีกครั้งโดยเรียกใช้ คำสั่ง testparm

testparm

16. เริ่มบริการ Samba ใหม่เพื่อใช้การเปลี่ยนแปลง

systemctl restart smb.service
systemctl restart nmb.service

การทดสอบการแชร์ไฟล์ Samba ที่ปลอดภัย

17. สุดท้ายนี้ ทดสอบว่า Secure share ทำงานได้ดีหรือไม่ จากเครื่อง Windows ของคุณ เปิด Windows Explorer คลิกที่ เครือข่าย จากนั้นคลิกที่โฮสต์ RHEL หรือลองเข้าถึงเซิร์ฟเวอร์โดยใช้ ที่อยู่ IP ตามที่อธิบายไว้ก่อนหน้านี้

e.g. 2.168.43.198

คุณจะถูกขอให้ป้อนชื่อผู้ใช้และรหัสผ่านของคุณเพื่อเข้าสู่ระบบเซิร์ฟเวอร์ RHEL 8

18. เมื่อคุณเข้าสู่ระบบ คุณจะได้รับรายการไดเร็กทอรีที่ใช้ร่วมกันของ samba ทั้งหมด ตอนนี้คุณสามารถแบ่งปันไฟล์บางไฟล์กับผู้ใช้ที่ได้รับอนุญาตรายอื่นบนเครือข่ายได้อย่างปลอดภัยโดยการเพิ่มไฟล์ในไดเร็กทอรีที่ปลอดภัย

นั่นคือทั้งหมด! ในบทความนี้ เราได้แสดงวิธีการติดตั้งและกำหนดค่า Samba 4 ใน RHEL 8 สำหรับการแชร์ไฟล์โดยไม่เปิดเผยตัวตนและปลอดภัยกับเครื่อง Windows หากคุณมีคำถามหรือความคิดเห็นเกี่ยวกับคู่มือนี้ โปรดใช้แบบฟอร์มคำติชมด้านล่างเพื่อติดต่อเรา