תצורת שרת קבצים Samba (SMB/CIFS) סוהר

מעבר ללינוקס או הקמת אחסון קבצים נתקלים פעמים רבות בבעיות תאימות עם Windows ובהרשאות גישה מוכרות. אנו מגדירים Samba (SMB/CIFS) כפתרון turnkey, ומבטיחים שיתוף קבצים חלק בין מערכות ושילוב עם Active Directory. הצוות שלנו מטפל בכל התהליך—מבדיקת מצב קיים ועד פריסה ותמיכה שוטפת—כך שתקבלו פתרון אמין וניתן להרחבה.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

אנו מגדירים שרתי 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.

שלבי עבודה

  1. ביקורת תשתית נוכחית (רשת, דומיין, קיבולת דיסק).
  2. תכנון מבנה שיתופים ותוכנית הרשאות.
  3. התקנה והגדרה של Samba, אופטימיזציית ביצועים.
  4. יצירת משתמשים/קבוצות, אינטגרציה עם AD/LDAP.
  5. הגדרת ACL של מערכת הקבצים.
  6. הגדרת חומת אש וגילוי (wsdd).
  7. אינטגרציית ניטור (Prometheus + Grafana + samba_exporter).
  8. בדיקות עם לקוחות Windows ו-Linux, מבחן עומס.
  9. מסירת תיעוד והכשרת מנהלים.

מה כלול בהתקנה מוכנה לשימוש

  • פריסת 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+ שנים. אנו מבטיחים אמינות וביצועים לאחסון הקבצים שלך. צור קשר להערכה חינמית של הפרויקט שלך — נשיב תוך שעתיים.