אנו מגדירים שרתי Samba מוכנים לשימוש לשיתוף קבצים אמין ומאובטח בין Linux ל-Windows. הניסיון שלנו: מעל 50 פרויקטים, מ-NAS משרדי קטן ועד אשכולות בעומס גבוה עם שכפול. אנו מבטיחים זמינות של 99.9% ואינטגרציה מלאה עם התשתית הקיימת שלך — Active Directory, LDAP, מערכות ניטור.
מצב טיפוסי: חברה עוברת מ-Windows Server ל-Linux אך צריכה לשמור על נתיבי UNC מוכרים וזכויות גישה. או שאתה צריך פתרון אחסון קבצים חסכוני ללא אובדן פונקציונליות. Samba עם ACL מותאם נכון ופרמטרים אופטימליים של SMB2/3 פותר משימות אלה.
כיצד לשלב את Samba עם Active Directory?
לשימוש ארגוני, אינטגרציית AD היא חובה. אנו מגדירים את Samba כחבר דומיין באמצעות net ads join. במהלך ההגדרה, אנו מאפשרים winbind כדי למפות משתמשים וקבוצות של AD למזהי Linux. זה מאפשר שימוש בחשבון יחיד לגישה לקבצים.
# Установка Samba с поддержкой AD
apt install samba smbclient winbind
# Настройка /etc/samba/smb.conf
[global]
workgroup = DOMAIN
security = ads
realm = DOMAIN.LOCAL
# ... остальные параметры
# Ввод в домен
net ads join -U administrator
# Запуск winbind
systemctl enable --now winbindלאחר מכן, משתמשי AD יכולים להתחבר לשיתופים ללא יצירת חשבונות מקומיים. הרשאות מוקצות דרך קבוצות AD — Samba מיישם אותן אוטומטית על ACL.
מדוע Samba איטי וכיצד לתקן זאת?
Samba איטי נגרם לעיתים קרובות מיישור לא נכון של מאגרי רשת או משימוש ב-SMB1. ראשית, השבת את SMB1 ואפשר SMB3. בצע אופטימיזציה של # Установка Samba с поддержкой AD apt install samba smbclient winbind # Настройка /etc/samba/smb.conf [global] workgroup = DOMAIN security = ads realm = DOMAIN.LOCAL # ... остальные параметры # Ввод в домен net ads join -U administrator # Запуск winbind systemctl enable --now winbind :
[global] socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072 בדוק גם את ביצועי מערכת הדיסק: השתמש ב-SSD עבור מטא-דאטה והגדר מטמון כתיבה. עבור חיבורי WAN, הגדל את socket options ואפשר [global] socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072 . המהנדסים שלנו מבצעים בדיקות עומס עם server max protocol = SMB3 ו-server signing = mandatory כדי לאתר צווארי בקבוק.
תצורת Samba בסיסית
אנו מתחילים בהתקנת חבילות וקובץ תצורה מינימלי:
apt install samba samba-common-bin קובץ smbclient מורכב מקטע גלובלי ומקטעי שיתוף:
[global]
workgroup = MYGROUP
server string = File Server
netbios name = FILESERVER
server role = standalone server
log file = /var/log/samba/log.%m
max log size = 1000
map to guest = bad user
usershare allow guests = no
min protocol = SMB2
max protocol = SMB3
[data]
path = /srv/samba/data
valid users = @sambagroup
browseable = yes
writable = yes
create mask = 0664
directory mask = 0775
force group = sambagroup
[public]
path = /srv/samba/public
browseable = yes
guest ok = yes
writable = no
read only = yes
הפרמטר dd מפנה אוטומטית משתמשים לא ידועים לגישת אורח; אחרת, לקוחות Windows יקבלו שגיאת אימות בעת ניסיון להתחבר לשיתוף ציבורי.
משתמשים וקבוצות
Samba מאחסן סיסמאות במסד נתונים משלו, נפרד מחשבונות מערכת:
# Создание системного пользователя и группы
useradd -M -s /sbin/nologin jsmith
groupadd sambagroup
usermod -aG sambagroup jsmith
# Добавление в базу Samba
smbpasswd -a jsmith
smbpasswd -e jsmith
# Проверка
pdbedit -L -v jsmithלארגונים גדולים, אנו ממליצים על backend של LDAP (apt install samba samba-common-bin ), המפשט ניהול מרכזי.
הרשאות: Linux ACL + Samba
תוכנית ההרשאות הנכונה משלבת ACL קבוצתי וזכויות ירושה:
# Группа sambagroup может читать и писать
setfacl -R -m g:sambagroup:rwX /srv/samba/data
setfacl -R -d -m g:sambagroup:rwX /srv/samba/data
# Остальные — только чтение
setfacl -R -m o::r-X /srv/samba/dataהפרמטרים /etc/samba/smb.conf ו-[global] workgroup = MYGROUP server string = File Server netbios name = FILESERVER server role = standalone server log file = /var/log/samba/log.%m max log size = 1000 map to guest = bad user usershare allow guests = no min protocol = SMB2 max protocol = SMB3 [data] path = /srv/samba/data valid users = @sambagroup browseable = yes writable = yes create mask = 0664 directory mask = 0775 force group = sambagroup [public] path = /srv/samba/public browseable = yes guest ok = yes writable = no read only = yes ב-smb.conf מגבילים הרשאות מקסימליות לקבצים חדשים שנוצרו דרך Samba.
שלבי עבודה
- ביקורת תשתית נוכחית (רשת, דומיין, קיבולת דיסק).
- תכנון מבנה שיתופים ותוכנית הרשאות.
- התקנה והגדרה של Samba, אופטימיזציית ביצועים.
- יצירת משתמשים/קבוצות, אינטגרציה עם AD/LDAP.
- הגדרת ACL של מערכת הקבצים.
- הגדרת חומת אש וגילוי (wsdd).
- אינטגרציית ניטור (Prometheus + Grafana + samba_exporter).
- בדיקות עם לקוחות Windows ו-Linux, מבחן עומס.
- מסירת תיעוד והכשרת מנהלים.
מה כלול בהתקנה מוכנה לשימוש
- פריסת Samba עצמאי או בדומיין.
- הגדרת ACL עם ירושת הרשאות.
- אינטגרציה עם AD/LDAP דרך winbind.
- אופטימיזציית ביצועים (מאגרים, מטמון, SMB3).
- ניטור:
map to guest = bad userעבור Prometheus, התראות ב-Grafana. - גיבוי תצורה ונתונים (rsync + snapshot).
- תיעוד ניהול ושחזור מאסון.
- 30 ימי תמיכה לאחר ההפעלה.
מידע נוסף על הגדרת ACL
אנו משתמשים ב-setfacl עם כללים רקורסיביים וזכויות ירושה. # Создание системного пользователя и группы useradd -M -s /sbin/nologin jsmith groupadd sambagroup usermod -aG sambagroup jsmith # Добавление в базу Samba smbpasswd -a jsmith smbpasswd -e jsmith # Проверка pdbedit -L -v jsmith ו-passdb backend = ldapsam ב-smb.conf מגבילים הרשאות מקסימליות לקבצים שנוצרו. לכיוונון עדין, השתמש ב-# Группа sambagroup может читать и писать setfacl -R -m g:sambagroup:rwX /srv/samba/data setfacl -R -d -m g:sambagroup:rwX /srv/samba/data # Остальные — только чтение setfacl -R -m o::r-X /srv/samba/data בקטע הגלובלי.
השוואת פרוטוקולים: SMB לעומת NFS לעומת FTP
| קריטריון | SMB (Samba) | NFS | FTP |
|---|---|---|---|
| תמיכה ב-Windows | טבעי, נתיבי UNC | דורש לקוח | דרך לקוח |
| אבטחה | הצפנת SMB3 | Kerberos/SSH | FTPS |
| ביצועים | גבוהים (אסינכרוני) | גבוהים יותר עבור Linux | בינוניים |
| ACL | POSIX + Windows | POSIX | מוגבל |
ניטור ואבחון
בדוק תחביר, סטטוס ויומנים באמצעות כלי שורת פקודה:
# Проверка синтаксиса testparm
# Список активных подключений smbstatus
# Тест подключения smbclient //fileserver/data -U jsmith
# Логи journalctl -u smbd tail -f /var/log/samba/log.smbdלסינון רשת, פתח פורטים והתקן wsdd לגילוי ב-Windows:
# Разрешение трафика SMB и WS-Discovery
ufw allow from 192.168.1.0/24 to any port 445,139 proto tcp
ufw allow from 192.168.1.0/24 to any port 137:138 proto udp
# Установка и запуск wsdd
apt install wsdd
systemctl enable --now wsddבעיות נפוצות: create mask בעת כתיבה — בדוק גם ACL של Samba וגם הרשאות מערכת הקבצים. directory mask — בדוק אם smbd פועל והפורטים פתוחים.
לוח זמנים ועלות
שרת קבצים סטנדרטי מוגדר תוך 1-2 ימים. עבור אינטגרציית AD/LDAP או תוכניות ACL מורכבות, עד 5 ימים. העלות מחושבת באופן אישי לאחר ביקורת. החיסכון בהשוואה ל-Windows Server יכול להגיע ל-50% ללא אובדן פונקציונליות.
הזמן הגדרת Samba מוכנה לשימוש — קבל ייעוץ ממהנדס עם ניסיון של 5+ שנים. אנו מבטיחים אמינות וביצועים לאחסון הקבצים שלך. צור קשר להערכה חינמית של הפרויקט שלך — נשיב תוך שעתיים.







