แชร์ไฟล์จาก Linux ให้เครื่อง Windows ด้วย Samba
องค์กรจำนวนมากใช้เครื่องพนักงานเป็น Windows แต่ต้องการเก็บไฟล์ส่วนกลางไว้บนเซิร์ฟเวอร์ Linux ที่ดูแลง่ายกว่าและถูกกว่า Samba คือสะพานที่ทำให้ Windows มองเห็นโฟลเดอร์บน Linux เป็นไดรฟ์เครือข่ายได้ตามปกติ
คู่มือนี้ตั้ง Samba สำหรับใช้งานในองค์กรขนาดเล็กถึงกลาง โดยยืนยันตัวตนรายผู้ใช้ ไม่ใช่การเปิดให้ทุกคนเข้าได้แบบไม่ต้องใส่รหัส ซึ่งเป็นการตั้งค่าที่ไม่ควรใช้กับข้อมูลจริง
สิ่งที่ต้องเตรียม
- Linux Server และสิทธิ์
sudo - เครื่อง Windows ที่อยู่ในเครือข่ายเดียวกันหรือเชื่อมผ่าน VPN
- รายชื่อผู้ใช้และสิทธิ์ที่ต้องการให้แต่ละคน
# Ubuntu / Debian
sudo apt install -y samba
# AlmaLinux / Rocky Linux
sudo dnf install -y samba samba-client
sudo systemctl enable --now smb nmb
ขั้นตอนที่ 1: เตรียมโฟลเดอร์และกลุ่ม
sudo groupadd smbusers
sudo mkdir -p /srv/samba/shared /srv/samba/finance
sudo chgrp smbusers /srv/samba/shared
sudo chmod 2770 /srv/samba/shared
สำหรับโฟลเดอร์ที่ให้เฉพาะบางแผนก
sudo groupadd finance
sudo chgrp finance /srv/samba/finance
sudo chmod 2770 /srv/samba/finance
สิทธิ์ 2770 คือให้เจ้าของและกลุ่มเข้าถึงได้เต็ม คนอื่นไม่เห็นอะไรเลย และบิต setgid ทำให้ไฟล์ใหม่สืบทอดกลุ่มเดิม ซึ่งจำเป็นมากสำหรับโฟลเดอร์ที่หลายคนใช้ร่วมกัน
ขั้นตอนที่ 2: สร้างผู้ใช้
Samba เก็บรหัสผ่านของตัวเองแยกจากรหัสผ่านของ Linux ต้องสร้างทั้งสองอย่าง
# ผู้ใช้ระบบที่เข้า Shell ไม่ได้
sudo useradd -M -s /usr/sbin/nologin -G smbusers,finance somchai
# ตั้งรหัสผ่านฝั่ง Samba
sudo smbpasswd -a somchai
sudo smbpasswd -e somchai
ตรวจรายชื่อผู้ใช้ Samba ทั้งหมด
sudo pdbedit -L -v | grep -E 'Unix username|Account Flags'
ขั้นตอนที่ 3: ตั้งค่า Samba
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = TDC File Server
security = user
map to guest = never
# บังคับใช้ SMB3 เท่านั้น SMB1 มีช่องโหว่ร้ายแรงและถูกปิดใน Windows รุ่นใหม่
server min protocol = SMB3
client min protocol = SMB3
# จำกัดให้เข้าได้เฉพาะวงภายใน
hosts allow = 10.0.0.0/24 127.0.0.1
hosts deny = 0.0.0.0/0
bind interfaces only = yes
interfaces = lo eth0
log file = /var/log/samba/%m.log
max log size = 1000
logging = file
[shared]
path = /srv/samba/shared
comment = ไฟล์ส่วนกลาง
browseable = yes
read only = no
valid users = @smbusers
create mask = 0660
directory mask = 2770
force group = smbusers
[finance]
path = /srv/samba/finance
comment = เอกสารการเงิน
browseable = no
read only = no
valid users = @finance
create mask = 0660
directory mask = 2770
force group = finance
สังเกตว่า browseable = no ของโฟลเดอร์การเงินทำให้คนที่ไม่มีสิทธิ์ไม่เห็นแม้แต่ชื่อโฟลเดอร์ ซึ่งดีกว่าการให้เห็นแล้วเข้าไม่ได้
ตรวจไวยากรณ์ก่อนเสมอ
testparm
sudo systemctl restart smbd nmbd
ขั้นตอนที่ 4: เปิด Firewall
# Ubuntu
sudo ufw allow from 10.0.0.0/24 to any app Samba
# AlmaLinux / Rocky
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
ขั้นตอนที่ 5: ทดสอบจากฝั่ง Linux ก่อน
smbclient -L //localhost -U somchai
smbclient //localhost/shared -U somchai
ในหน้าต่าง smbclient ลองคำสั่ง ls, put และ get เพื่อยืนยันว่าอ่านเขียนได้จริง
ขั้นตอนที่ 6: เชื่อมต่อจาก Windows
ที่เครื่อง Windows เปิด File Explorer แล้วพิมพ์ในแถบที่อยู่
\\10.0.0.9\shared
ใส่ชื่อผู้ใช้และรหัสผ่านที่ตั้งด้วย smbpasswd หากต้องการให้เป็นไดรฟ์ถาวร คลิกขวาที่ This PC เลือก Map network drive หรือใช้คำสั่งใน PowerShell
net use Z: \\10.0.0.9\shared /user:somchai /persistent:yes
ตรวจว่าเชื่อมต่ออยู่
net use
ขั้นตอนที่ 7: ดูว่าใครเชื่อมต่ออยู่
sudo smbstatus
sudo smbstatus --shares
sudo smbstatus --locks
คำสั่งสุดท้ายมีประโยชน์มากเมื่อมีคนแจ้งว่าแก้ไฟล์ไม่ได้เพราะมีคนอื่นเปิดค้างไว้
ปัญหาที่พบบ่อย
Windows ขึ้น The specified network name is no longer available
มักเป็นเรื่องโพรโทคอล ตรวจว่าตั้ง server min protocol = SMB3 แล้วเครื่อง Windows รุ่นเก่ามากอาจต่อไม่ได้ ในกรณีนั้นควรอัปเดต Windows แทนการลดระดับโพรโทคอลลง เพราะ SMB1 มีช่องโหว่ที่ถูกใช้โจมตีในวงกว้าง
ใส่รหัสผ่านถูกแต่เข้าไม่ได้
ตรวจว่าเปิดใช้งานบัญชีแล้วด้วย sudo smbpasswd -e ชื่อผู้ใช้ และดู Log ของผู้ใช้นั้นที่ /var/log/samba/ ซึ่งจะบอกสาเหตุชัดเจน
เข้าได้แต่เขียนไม่ได้
สิทธิ์ระดับไฟล์ของ Linux เป็นตัวตัดสินสุดท้ายเสมอ แม้ Samba จะประกาศ read only = no ตรวจด้วย ls -ld /srv/samba/shared ว่าผู้ใช้อยู่ในกลุ่มที่เขียนได้จริง และตรวจว่า force group ตั้งไว้ถูกต้อง
Windows จำรหัสผ่านเก่าไว้
ล้างการเชื่อมต่อเดิมด้วย net use * /delete แล้วเชื่อมต่อใหม่ หรือลบข้อมูลที่เก็บไว้ใน Credential Manager ของ Windows
ชื่อไฟล์ภาษาไทยเพี้ยน
ตรวจว่าใน [global] ไม่ได้ตั้ง unix charset ผิด ค่าเริ่มต้น UTF-8 ถูกต้องอยู่แล้วสำหรับระบบปัจจุบัน
ต้องการวางระบบไฟล์ส่วนกลางสำหรับองค์กร ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
Related Posts
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี








