Samba fayl serveri. SAMBA nima? Windows, Linux, Android bilan ishlaydigan qurilmalar uchun Samba yordamida uy tarmog'ini yaratish Sambani qanday ishlashini

Tarmoq protokollarini amalga oshirish Server xabarlar blokirovkasi (SMB) va Umumiy Internet fayl tizimi (CIFS)... Asosiy maqsad - Linux va Windows tizimlari o'rtasida fayl va printerlarni almashish.

Samba Orqa fonda ishlaydigan va xizmatlar ko'rsatadigan va Windows xizmatlari bilan ishlash uchun bir qator buyruq qatori vositalaridan tashkil topgan bir nechta demonlardan iborat:

  • smbd- fayl va bosma xizmatlar uchun SMB -server bo'lgan demon;
  • nmbd- NetBIOS nomlash xizmatlarini ko'rsatadigan demon;
  • xushbo'y- yordamchi dastur SMB resurslariga buyruq satridan foydalanishni ta'minlaydi. Bundan tashqari, masofaviy serverlardagi umumiy manbalar ro'yxatini olish va tarmoq muhitini ko'rish imkonini beradi;
  • smb.conf- barcha Samba vositalari sozlamalarini o'z ichiga olgan konfiguratsiya fayli;

Samba tomonidan ishlatiladigan portlar ro'yxati

  • baham ko'rish- Bu xavfsizlik rejimi Windows 9x / Windows Me operatsion tizimlarida ishlatiladigan autentifikatsiya usulini taqlid qiladi. Bu rejimda foydalanuvchi nomlari e'tiborga olinmaydi va aktsiyalarga parollar tayinlanadi. Bu rejimda Samba har xil foydalanuvchilar foydalanishi mumkin bo'lgan mijoz tomonidan taqdim etilgan paroldan foydalanishga harakat qiladi.
  • foydalanuvchi* - bu xavfsizlik rejimi sukut bo'yicha o'rnatiladi va odatda Linuxda bo'lgani kabi autentifikatsiya uchun foydalanuvchi nomi va paroldan foydalanadi. Ko'p hollarda zamonaviy operatsion tizimlarda parollar faqat Samba foydalanadigan shifrlangan ma'lumotlar bazasida saqlanadi.
  • server- Bu xavfsizlik rejimi Samba boshqa serverga autentifikatsiya qilish zarur bo'lganda ishlatiladi. Mijozlar uchun bu rejim foydalanuvchi darajasidagi autentifikatsiya (foydalanuvchi rejimi) bilan bir xil ko'rinadi, lekin aslida autentifikatsiyani amalga oshirish uchun Samba parol serveri parametrida ko'rsatilgan server bilan bog'lanadi.
  • domen- ushbu xavfsizlik rejimidan foydalanib, siz Windows domeniga to'liq qo'shilishingiz mumkin; mijozlar uchun bu foydalanuvchi darajasidagi autentifikatsiya bilan bir xil ko'rinadi. Server darajasidagi autentifikatsiyadan farqli o'laroq, domenga asoslangan autentifikatsiya xavfsizroq domen darajasida parol almashishni qo'llaydi. To'liq domenga qo'shilish Samba tizimida va ehtimol domen boshqaruvchisida qo'shimcha buyruqlarni talab qiladi.
  • reklamalar- Bu xavfsizlik rejimi domenni autentifikatsiya qilish uslubiga o'xshaydi, lekin Active Directory Domain Services domen boshqaruvchisini talab qiladi.

Parametrlarning to'liq ro'yxati Samba sahifalarda mavjud.

Yuqorida umumiy katalogga kirishga ruxsat berilgan misol keltirilgan. Keling, faqat login va parol orqali kirish mumkin bo'lgan shaxsiy katalog bilan boshqa misolni ko'rib chiqaylik.

Guruh yarating va unga foydalanuvchi qo'shing

Sudo groupadd smbgrp sudo usermod -a -G smbgrp proft

Foydalanuvchi uchun katalog yarating va huquqlarni o'rnating

Sudo mkdir -p / srv / samba / proft sudo chown -R proft: smbgrp / srv / samba / proft sudo chmod -R 0770 / srv / samba / proft

Samba foydalanuvchisini yarating

Sudo smbpasswd -proft

/Etc/samba/smb.conf ga yangi manba qo'shing

Yo'l = / srv / samba / proft haqiqiy foydalanuvchilar = @smbgrp mehmon ok = yozilmaydi = ha ko'rish mumkin = ha

Serverni qayta ishga tushiring

Sudo systemctl smbd -ni qayta ishga tushiring

Manbaga ega bo'lgan konfiguratsiyaga misol simli havola foydalanuvchi papkasiga ( / srv / samba / media / video ยป / uy / proft / video)

Yo'l = / srv / samba / media mehmoni ok = ha faqat o'qiladi = ha ko'rib chiqish mumkin = ha majburlash foydalanuvchi = proft

Mijozni sozlash

Umumiy kompyuter resurslarini ko'rish

Smbclient -L 192.168.24.101 -U%

Anonim foydalanuvchi bilan buyruq satri orqali bog'lanishning yana bir usuli

Smbclient -U hech kim //192.168.24.101/public ls

Agar server yuqori darajadagi xavfsizlik darajasida tuzilgan bo'lsa, sizga mos ravishda -W va -U parametrlari yordamida foydalanuvchi nomi yoki domen nomini kiritish kerak bo'ladi.

Smbclient -L 192.168.24.101 -U proft -W WORKGROUP

Samba manbasini o'rnatish

# o'rnatish nuqtasini yaratish mkdir -p ~ / share / public # public resource # anonim foydalanuvchi uchun hech kim -t cifsni o'rnatmaydi //192.168.24.101/public / home / proft / share / public -o user =, hech kim parol =, ishchi guruh = WORKGROUP, ip = 192.168.24.101, utf8 # forft proft mount -t cifs //192.168.24.101/public / home / proft / share / public -o user = proft, password = 1, workgroup = WORKGROUP, ip = 192.168. 24.101, utf8

Yaxshisi, parollarni alohida faylda saqlang.

# sudo vim / etc / samba / sambacreds username = proft parol = 1 foydalanuvchi nomi = noboy parol =

Keling, 0600 kirish huquqlarini o'rnatamiz

Sudo chmod 0600 / etc / samba / sambacreds

O'rnatish uchun yangi qator

-T cifs //192.168.24.101/public / home / proft / share / public -o user = proft, hisobga olish ma'lumotlari = / etc / samba / sambacreds, ishchi guruhi = WORKGROUP, ip = 192.168.24.101

Va bunga misol / etc / fstab

//192.168.24.101/public / home / proft / share / public cifs noauto, username = proft, hisobga olish ma'lumotlari = / etc / samba / sambacreds, ishchi guruhi = WORKGROUP, ip = 192.168.24.101 0 0

Nautilus / Nemo / etc fayl menejerida mana shu yo'l yordamida manba ochishingiz mumkin smb: //192.268.24.101.

Agar Nemo yozsa Nemo "smb" joylarini boshqarolmaydi. paket etarli emasligini bildiradi gvfs-smb.

Windows va Android mijozidan serverga kirish

Windows ostida siz konsoldan foydalanib ishchi guruhini bilib olishingiz mumkin

Net konfiguratsiya ish stantsiyasi

Siz UNC manzilini Explorer satriga yoki Ishga tushirish (Ishga tushirish - Ishga tushirish) orqali masofaviy mashinada resurslarni ochishingiz mumkin: \192.168.24.101 .

Android uchun server yordamida ulanishingiz mumkin ES Fayl Explorer, Tarmoq yorlig'ida serverni oddiygina IP orqali qo'shing (sxemani ko'rsatmasdan, smb). Keyin umumiy manbalarni ochishingiz mumkin. Statistika uchun: HDRIP-film sekinlashmasdan ishlaydi.

Qo'shimcha o'qish

Asosiy Samba konfiguratsiya fayli /etc/samba/smb.conf. Asl konfiguratsiya fayli turli xil konfiguratsiya ko'rsatmalarini hujjatlashtirish uchun ko'p miqdordagi izohlarga ega.

Hamma variantlar standart konfiguratsiya fayliga kiritilmagan. Qo'llanmani ko'ring man smb.conf yoki Samba haqida tez -tez so'raladigan savollar.

1. Birinchidan, bo'limda quyidagi kalit / qiymat juftlarini o'zgartiring fayl /etc/samba/smb.conf:

Ishchi guruh = O'RNAK ... xavfsizlik = foydalanuvchi

Parametr xavfsizlik bo'limda ancha pastda joylashgan va sukut bo'yicha izohlanadi. Shuningdek almashtiring MISOL sizning muhitingizga mos keladigan narsa.

2. Fayl oxirida yangi bo'lim yarating yoki almashmoqchi bo'lgan katalogga misollardan birini qoldiring:

Sharh = Ubuntu fayl serveri yo'lini bo'lishish = / srv / samba / share browsable = ha mehmon ok = ha faqat o'qish = yo'q niqob yaratish = 0755

    izoh: umumiy manbaning qisqacha tavsifi. Sizning qulayligingiz uchun ishlatiladi.

    yo'l: umumiy katalogga yo'l.

    Bu misolda / srv / samba / sharename ishlatiladi, chunki fayl tizimi ierarxiyasi (FHS) standartiga ko'ra, / srv katalogi bu saytga tegishli barcha ma'lumotlar bo'lishi kerak. Texnik jihatdan, Samba ulanishi fayl tizimiga kirish cheklovlari ruxsat berilgan joyda bo'lishi mumkin, lekin standartlarga rioya qilish tavsiya etiladi.

    ko'rish mumkin: Windows mijozlariga Windows Explorer yordamida umumiy katalog tarkibini ko'rishga ruxsat beradi.

    mehmon yaxshi: Mijozlarga umumiy manbaga parol ko'rsatmasdan ulanish imkonini beradi.

    faqat o'qish: Resurs faqat o'qish yoki yozish huquqiga ega ekanligini aniqlaydi. Yozish huquqi faqat belgilangan vaqtda mavjud yo'q bu misolda ko'rsatilgandek. Agar qiymat bo'lsa ha, keyin manbaga kirish faqat o'qish uchun bo'ladi.

    niqob yarating: Yangi yaratilgan fayllar uchun qanday ruxsatlar belgilanishini aniqlaydi.

3. Endi Samba konfiguratsiya qilingan, siz katalog yaratishingiz va unga ruxsatlarni o'rnatishingiz kerak. Terminalga kiriting:

Sudo mkdir -p / srv / samba / share sudo chown noody.nogroup / srv / samba / share /

parametr -p agar mavjud bo'lmasa, mkdirga to'liq katalog daraxti yaratishni aytadi.

4. Nihoyat, yangi sozlamalarni qo'llash uchun samba xizmatlarini qayta ishga tushiring:

Sudo restart smbd sudo restart nmbd

Endi siz Windows mijozi yordamida Ubuntu fayl serverini topishingiz va uning umumiy kataloglarini ko'rib chiqishingiz mumkin. Agar sizning mijozingiz sizning umumiy manbalaringizni avtomatik ravishda ko'rsatmasa, Windows Explorer oynasidan, masalan, \\ 192.168.1.1, IP -manzili orqali serveringizga kirishga harakat qilib ko'ring. Hammasi ishlayotganini tekshirish uchun Windows ulushi ichida katalog yaratishga harakat qiling.

Qo'shimcha aktsiyalar yaratish uchun /etc/samba/smb.conf sahifasida yangi bo'lim yarating va Sambani qayta ishga tushiring. Faqat umumiy katalog yaratilgan va to'g'ri ruxsatlarga ega ekanligiga ishonch hosil qiling.

Umumiy manba "" va yo'l / srv / samba / share faqat misollar. Resurs nomini va katalog nomini muhitingizga mos ravishda o'rnating. Resurs nomi sifatida fayl tizimidagi o'z katalogining nomidan foydalanish maqsadga muvofiqdir. Boshqacha aytganda, manba / srv / samba / qa katalogi sifatida ko'rsatilishi mumkin.

Samba - SMB / CIFS protokoli yordamida turli xil operatsion tizimlardagi tarmoq drayverlariga kirishga imkon beruvchi dastur. Mijoz va server qismlari mavjud. Bu GPL litsenziyasi ostida chiqarilgan bepul dasturiy ta'minot.
Samba GNU / Linux, POSIX-ga mos keladigan Solaris va Mac OS X Server kabi Unix-ga o'xshash tizimlarda ishlaydi, BSD-ning turli xil ta'mlari, OS / 2, Windows. Samba deyarli barcha GNU / Linux tarqatmalariga kiritilgan, shu jumladan, albatta Ubuntu.
O'rnatish

Ubuntu Desktop-da umumiy papka yaratish uchun papkani o'ng tugmasini bosing va "Jildni nashr etish" menyusini tanlang. Hech qanday konfiguratsiya fayllarini tahrir qilishingiz shart emas. Quyida tavsiflangan hamma narsa faqat qo'lda konfiguratsiyaga tegishli, masalan, fayl serverini yaratishda.
O'rnatish uchun terminalni oching va kiriting:

sudo apt-get samba-ni o'rnating

Dastur avtomatik ravishda yuklab olinadi va o'rnatiladi.

Moslashtirish

Terminaldan foydalanib, dastlabki konfiguratsiya faylining zaxira nusxasini yarataylik:

Sudo cp /etc/samba/smb.conf (,.bak)

Endi siz /etc/samba/smb.conf sozlamalari faylini superuser huquqlariga ega bo'lgan har qanday matn muharririda ochib tahrir qilishingiz mumkin. Masalan, bu kabi:

Sudo nano /etc/samba/smb.conf Sambani avtorizatsiya qilingan avtonom fayl serveri sifatida sozlashning namunasi :; Global server sozlamalari; Umumiy server sozlamalari; Tarmoq muhitida ko'rsatiladigan kompyuter nomi netbios name = main-server server string =; Mijozlar ishchi guruhi ishchi guruhi = WORKGROUP versiyasini e'lon qiladi = 5.0 soket variantlari = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF = 8192 SO_SNDBUF = 8192 passdb backend = tdbsam security = foydalanuvchi null parollari = rost; Foydalanuvchi nomining taxalluslari uchun fayl foydalanuvchi nomi xaritasi = / etc / samba / smbusers nomini hal qilish tartibi = xostlar bcast yutadi; Agar samba -dagi nmbd (8) WINS -server bo'lsa, win qo'llab -quvvatlashi ha deb o'rnatiladi. Agar sizda bir nechta subnet bo'lmasa va nmbd -ning WINS -server sifatida ishlashini xohlamasangiz, bu parametrni ha deb belgilamang. Hech qachon bir xil tarmoq ichidagi bir nechta mashinada bu parametrni ha deb qo'ymang. qo'llab -quvvatlaydi = yo'q; Printerni bosib chiqarishni qo'llab -quvvatlash = CUPS printcap nomi = CUPS; Jurnallar jurnali fayli = /var/log/samba/log.%m syslog = 0 syslog faqat = yo'q; Interfeyslarga ulanishni sozlash, agar tinglanmasa, barcha interfeyslarni tinglaydi; interfeyslar = lo, eth0; faqat interfeyslarni bog'lash = rost; ; ; yo'l = / var / lib / samba / printerlar; ko'rib chiqish = ha; mehmon ok = ha; faqat o'qish = ha; yozish ro'yxati = root; niqob yaratish = 0664; katalog niqobi = 0775; ; ; yo'l = / tmp; chop etilishi mumkin = ha; mehmon ok = ha; ko'rib chiqish = yo'q; ; ; yo'l = / media / cdrom; ko'rib chiqish = ha; faqat o'qish = ha; mehmon ok = ha; Qattiq disk to'pi; Mijozlar ko'rgan to'plarni nomlang; Umumiy disk yo'lining yo'li = / media / sda1; Ko'rish mumkinmi, ko'zdan kechiriladi = ha faqat o'qiladi = mehmon yo'q ok = yo'q niqob yaratish = 0644 katalog maskasi = 0755; Muayyan foydalanuvchi nomi yoki guruhga bog'lanish, bo'shliq bilan ajratilgan nomlar; majburlovchi user = user1 user2; kuch guruhi = guruh1 guruh2; Yuqoridagi yo'lga o'xshash boshqa qattiq disk = / media / sde1 browseable = ha faqat o'qish uchun = mehmon yo'q ok = no mask yaratish = 0644 katalog niqobi = 0755

Endi biz foydalanuvchilar bilan ishlashimiz kerak.

Samba tizimda bo'lgan foydalanuvchilarni ishlatadi, misol sifatida foydalanuvchi nomini oling, aytaylik, u allaqachon tizimda, siz uni SMB ma'lumotlar bazasiga qo'shishingiz va umumiy manbalarga kirish uchun parol belgilashingiz kerak, buni buyruq yordamida bajaring. :

Smbpasswd -foydalanuvchi

Sizdan parolni kiritish so'raladi, foydalanuvchi ma'lumotlar bazasiga qo'shiladi, endi siz ushbu foydalanuvchini yoqishingiz kerak.

Smbpasswd -foydalanuvchi

Keyinchalik, biz Windows mashinasidan kirishni osonlashtirish uchun foydalanuvchi nomi uchun taxallus yaratamiz, masalan, Admin ismli foydalanuvchi, buning uchun biz / etc / samba / smbusers faylini yaratamiz va tahrir qilamiz:

Sudo touch / etc / samba / smbusers sudo gedit / etc / samba / smbusers

Faylga bir nechta satr yozing

# Unix_name = SMB_name1 SMB_name2 user = Admin

Bu konfiguratsiyani yakunlaydi, Sambani qayta ishga tushiring.

Windows tarmog'i uchun Samba fayl serveri

Samba ko'pincha Windows tarmog'ida fayl serverini yaratish uchun ishlatiladi.

Active Directory domenidagi fayl serveri

Active Directory domeniga birlashtirilgan fayl serverini yaratish uchun avval Ubuntu mashinasini domenga kiritish kerak. Alohida maqola bunga bag'ishlangan:

Fayl serverini yaratish uchun PAMni sozlash shart emas, tizimga domen foydalanuvchilari va guruhlarini Winbind orqali qo'shish kifoya.

Muvaffaqiyatli domenga kirgandan so'ng, siz faqat kompyuteringizdagi umumiy resurslarni sozlashingiz kerak bo'ladi.

Bu erda darhol juda muhim narsani ta'kidlash kerak: Samba Windows fayllariga ruxsatlarni Unix ruxsatnomalariga kiritishga harakat qiladi, lekin ruxsat berish mexanizmidagi tub farqlar tufayli bu har doim ham mumkin emas. E'tibor bering, fayllarga bo'lgan huquqlar har doim va har qanday holatda ham sizning fayl tizimingiz tomonidan Ubuntu o'rnatilgan kompyuterda boshqariladi, samba faqat ularga moslasha oladi, lekin xatti -harakatlarini o'zgartirmaydi.

Shunday qilib, sukut bo'yicha, umumiy manbalarda kirishni boshqarishning juda kam imkoniyatlari bo'ladi - foydalanuvchi, guruh va boshqalarga har xil huquqlarni berish. Biroq, buni fayl tizimingizga POSIX ACL qo'llab -quvvatlashini qo'shish orqali tuzatish oson. Bunday holda, Windows kabi, har xil foydalanuvchilar va guruhlarga har xil huquqlarni berish mumkin bo'ladi.

POSIX ACL -ni qo'llab -quvvatlashi hech bo'lmaganda ext3 / 4 -da, uni faollashtirish uchun kerakli bo'limni o'rnatish parametrlariga acl parametrini qo'shish kifoya.

Samba orqali almashmoqchi bo'lgan katalog acl opsiyasi o'rnatilgan diskda bo'lishi muhim. Aks holda, siz odatda to'plardagi fayllarga kirish huquqlarini farqlash mexanizmidan foydalana olmaysiz.

Yana bir muhim nuqta bor: POSIX ACL -lar ota -kataloglardan kirish huquqlarining merosxo'rligini qo'llab -quvvatlamaydi va Windows -da bu xususiyat mavjud. Shuning uchun, Samba kengaytirilgan fayl tizimining atributlaridan foydalanadigan kirish huquqlarining merosxo'rligi haqidagi ma'lumotlarni saqlashning qo'shimcha mexanizmini amalga oshiradi. Shuning uchun, Samba huquqlarning merosxo'rligini to'g'ri boshqarishi uchun, acl -dan tashqari, kengaytirilgan atributlarni qo'llab -quvvatlash uchun javobgar bo'lgan user_xattr parametrini fayl tizimiga o'rnatish opsiyalariga qo'shish kerak.

Masalan, men umumiy resurslarni tashkil qilish uchun har doim alohida LVM disklaridan foydalanaman va ular uchun fstab liniyalarim quyidagicha ko'rinadi:

/ dev / mapper / data-profiles / var / data / profiles ext3 standartlari, noexec, acl, user_xattr 0 2

Noexec opsiyasi kerak, chunki Windows to'plarida 100%Linux bajariladigan fayllar bo'lmasligi kerak va uni yana xavfsiz o'ynash zarar qilmaydi.

Ubuntu -da acl bilan ishlash uchun siz tegishli yordamchi dasturlar paketini o'rnatishingiz kerak:

Sudo aptitude install acl

Shundan so'ng, siz buyruq bilan fayl yoki katalogdagi kengaytirilgan huquqlarga (ya'ni ACL) qarashingiz mumkin

Getfacl fayli

Va buyruq bilan o'rnating

Setfacl fayli

Men sizning e'tiboringizni POSIX ACL mexanizmining Samba bilan hech qanday aloqasi yo'qligiga qaratmoqchiman - bu oddiy Linux imtiyoz mexanizmiga qo'shimcha. Shunga ko'ra, Samba undan foydalanishi mumkin, lekin uni hech qanday tarzda o'zgartira olmaydi.

Kengaytirilgan FS atributlari bilan ishlash uchun sizga buyruq bilan o'rnatiladigan acl - attrga juda o'xshash yordamchi dastur kerak bo'ladi.

Sudo aptitude install attr

Kengaytirilgan atributlarni ko'rish uchun siz buyruqdan foydalanishingiz mumkin

Getfattr fayli

Va o'rnatish uchun

Setfattr fayli

Biroq, bitta kichik burilish bor. Gap shundaki, Samba merosxo'rlik haqidagi barcha ma'lumotlarni ikkilik shaklda bitta kengaytirilgan atributda saqlaydi.SAMBA_PAI. Shuning uchun, agar siz kengaytirilgan atributlarni to'liq olib tashlamasangiz (ba'zida buni qilish kerak bo'lishi mumkin), setfattr yordamida biror narsani o'zgartira olmaysiz.

Xo'sh, siz ushbu tizimning standart vositalaridan foydalanib, Windows mashinasidan huquqlarning merosxo'rligini boshqarishingiz kerak bo'ladi. Yoki smbcacls yordam dasturidan foydalanib, agar siz uni qanday ishlatishni bilsangiz.

Bundan tashqari, acl_xattr eksperimental VFS moduli mavjud, bu sizga NT ACL -ni kengaytirilgan atributlarda to'liq saqlash imkonini beradi. Afsuski, bu haqda hech qanday hujjat yo'q, shuning uchun bu haqda tushunarli narsa aytish qiyin. Samba 4 to'liq NT ACL -ni qo'llab -quvvatlashi kutilmoqda, ammo hozircha siz undan foydalanishingiz mumkin.

Agar sizda Sambada kengaytirilgan atributlar va ular bilan qanday ishlash haqida qo'shadigan biror narsa bo'lsa, forumdagi ushbu mavzuga yozishni unutmang. Mavzu bo'yicha har qanday havola, maqola va sharh uchun minnatdor bo'lardim.

Bundan tashqari, kengaytirilgan fayl tizimining atributlari Samba -ga DOS fayllarining yashirin, arxivlangan va hokazo kabi atributlarini to'liq qo'llab -quvvatlash imkonini beradi.

Shunday qilib, sizda Samba orqali almashmoqchi bo'lgan katalogingiz bor deb taxmin qilamiz (va u acl va user_xattr qo'llab -quvvatlashi o'rnatilgan diskda joylashgan). Endi siz uning almashilishini sozlashingiz kerak. Buning uchun /etc/samba/smb.conf fayliga tegishli ma'lumotlarni kiritish kerak.

Keling, ushbu fayl bo'limiga qo'shilishi mumkin bo'lgan umumiy sozlamalardan boshlaylik (bu barcha mumkin bo'lgan parametrlardan uzoqda, faqat bir nechtasi juda foydali):

# Printer almashishni o'chirib qo'ying. Albatta, agar siz ularni baham ko'rishni xohlamasangiz. # Uni butunlay o'chirib qo'yish uchun siz printerlarni yuklash ostida 4 qatorni belgilashingiz kerak = printer qo'shish ustasi yo'q = printcap nomi yo'q / = dev / null o'chirish spoolss = ha # Windows -dan qaralganda quyidagi nomlar bilan yashirin fayllarni yarating = / $ RECYCLE .BIN / desktop.ini / yo'qolgan + topildi / Thumbs.db / # Keyingi UNIX foydalanuvchisini umumiy mehmon sifatida mehmon sifatida ishlatish = hech kim # Ro'yxatdan o'tmagan foydalanuvchilarni mehmonga mehmon xaritasi sifatida ko'rib chiqish = Yomon foydalanuvchi ## Kengaytirilgan fayl yordamida sozlamalar tizim atributlari # Kengaytirilgan FS atributlari yordamida huquqlarni meros qilib olish acl inherit = ha # DOS atributlarini saqlash uchun kengaytirilgan FS atributlaridan foydalaning dos atributlari do'koni = ha # UNOS huquqlarida DOS atributlari xaritalashini o'chirib qo'ying, sukut bo'yicha yoqilgan # Foydalanuvchiga ko'ra smb.conf. kengaytirilgan atributlar bu variantlarni o'chirib qo'yish kerak xarita arxivi = xarita tizimi yo'q = xarita yashirilmagan = xarita o'qilmaydi = n o

Endi to'g'ridan -to'g'ri umumiy manbaning sozlamalari. Men uni chaqiraman profillar va jismoniy jihatdan Ubuntu mashinasida joylashgan / var / data / profillar:

# Fikr -mulohaza = Foydalanuvchining profili # Biz ulashadigan papkaga yo'l = / var / data / profiles / # Ulashish huquqiga cheklanmagan foydalanuvchilar # Menda domen ma'murlari guruhi bor. # Fayllar bilan ishlashda bu foydalanuvchilar mahalliy administrator foydalanuvchilar sifatida qaraladi = "@DOMAIN \ Domain Administrators" # Foydalanuvchi kira olmaydigan papkalarni yashirish o'qilmaydi = ha # Faqat o'qish uchun ruxsat yo'q faqat o'qish = yo'q # Maskalar uchun yaratilgan fayllar - xohlagancha o'rnatilishi mumkin #create mask = 0600 #directory mask = 0700 #Qulflarni o'chirish - qulflashni o'chirib qo'yish yaxshidir = yo'q

Boshqa ko'plab variantlar mavjud - batafsil ma'lumot uchun Samba hujjatlariga qarang.

Siz almashayotgan papkaga to'g'ri egasi va kirish huquqlarini o'rnatishni unutmang, aks holda samba sozlamalariga qaramay, unga Linux huquqlari darajasida yozish taqiqlanishi mumkin. Men odatda shunday qilaman:

Sudo chmod ug + rwx / var / data / profiles sudo chown root: "domen foydalanuvchilari" / var / ma'lumotlar / profillar

E'tibor bering, sizning Ubuntu mashinangiz domen a'zosi bo'lgani uchun, siz Ubuntu -da fayl egalari sifatida domen foydalanuvchilari va guruhlaridan foydalanishingiz mumkin.

Samba konfiguratsiyasi buyruq yordamida to'g'riligini tekshiring

Testparm

Keyin Sambani qayta ishga tushiring:

Sudo /etc/init.d/samba qayta ishga tushirish

Endi siz umumiy manbaga domendagi istalgan mashinadan kirishingiz mumkin.

Aytgancha, kataloglar uchun SGID va yopishqoq bitlar haqida unutmang. Ular sizga egalar guruhini meros qilib olish va foydalanuvchilarning o'z fayllaridan boshqa fayllarni o'chirishiga yo'l qo'ymaslik imkonini beradi - bu ko'p foydalanuvchilarli omborlar uchun juda qulay bo'lishi mumkin. Ammo, Windows -dan huquqlarni tahrirlashdan farqli o'laroq, umumiy manbadagi papkalarni bu bitlarini o'zgartirish ishlamaydi - faqat qo'lda to'g'ridan -to'g'ri Ubuntu kompyuterida.

Boshqa narsalar bilan bir qatorda, Samba fayllarning oldingi versiyalarini saqlashni tashkil qilish imkonini beradi, bu ba'zida foydalanuvchi ma'lumotlari bilan bo'lishishda foydali bo'ladi.

Mustaqil fayl serveri

Hamma ham Active Directory domeniga ega emas. Shuning uchun, ko'pincha avtorizatsiya tizimi bo'lgan Linux mashinasida avtonom fayllarni saqlashni tashkil qilish kerak bo'ladi. Buni qilish juda oson.

Fayllarni saqlashni tashkil etishning asosiy xususiyati shundaki, foydalanuvchilar haqidagi barcha ma'lumotlar Samba ma'lumotlar bazasida saqlanadi, sambada foydalanuvchilarni qo'shish va o'chirish qo'lda bajarilishi kerak bo'ladi.

Eng muhimi, resursga kirishning ishlatilgan usuli to'g'risida qaror qabul qilishdir. Uni o'zgartirish uchun faylning /etc/samba/smb.conf bo'limida xavfsizlik parametrining qiymatini to'g'ri o'rnatish kerak. Siz ushbu parametr haqida ko'proq ma'lumotni yoki rasmiy hujjatlarda o'qishingiz mumkin.

Odatda qiymat - bu ulashuvchi yoki foydalanuvchi.

Ruxsatsiz mustaqil fayl serveri

Hamma hammani ko'rishi uchun uy uchun qulay. Buni faylning /etc/samba/smb.conf bo'limiga 4 qator qo'shish orqali amalga oshirish mumkin. Ba'zilar allaqachon mavjud bo'lishi mumkin.

[global] ishchi guruhi = Mehmonlar uchun WORKGROUP xaritasi = Yomon foydalanuvchi netbios nomi = NOTEBOOK xavfsizligi = foydalanuvchi

NOTEBOOK - tarmoqdagi kompyuter nomi. Bundan tashqari, siz qo'shimcha dasturlarni o'rnatishingiz kerak:

sudo apt-get samba-ni o'rnating

Kubuntu uchun siz smb4k -ni o'rnatishingiz kerak. Konfiguratsiyani tahrir qilgandan so'ng, siz xizmatlarni qayta ishga tushirishingiz kerak. Systemd (15.04 dan boshlab) qayta ishga tushirish quyidagicha ko'rinadi:

sudo systemctl smbd.service nmbd.service -ni qayta ishga tushiring

Siz "to'plar" ni nautilus, konkueror yoki shunga o'xshash fayl brauzeri orqali ko'rishingiz mumkin:

Smbclient -L 127.0.0.1

... Ingliz tilida rasmiy hujjatlar.

Ubuntu -da papkani almashish

Fayllarni almashish uchun papka yarating.

mkdir ~ / ulashish

/Etc/samba/smb.conf faylining oxiriga quyidagi qatorlarni qo'shing, yuraku1504 ni samba kompyuterining foydalanuvchi nomi bilan almashtiring:

[MyShareWork] comment = Anonim Samba yo'lini bo'lishish = / home / yuraku1504 / mehmonni bo'lishish ok = ha browsable = ha yozish mumkin = ha faqat o'qish uchun = kuch yo'q foydalanuvchi = yuraku1504 kuch guruhi = yuraku1504

Jild o'qish va yozish uchun ochiq bo'ladi.

Ushbu qo'llanmada biz Ubuntu 16.04 da Samba serverini o'rnatish va sozlashni o'rganamiz. Samba - Unix va Linux uchun SMB / CIFS protokolining bepul va ochiq manbali ilovasi bo'lib, u mahalliy tarmoqdagi mashinalarda Unix / va Windows -dagi fayllar va printerlar o'rtasida aloqa o'rnatishga imkon beradi.

Samba - bu dasturiy ta'minot to'plami, ulardan eng asosiylari:

  • smbd: SMB / CIFS xizmatlarini taqdim etadi (fayl almashish va chop etish) hamda Windows domen boshqaruvchisi vazifasini bajarishi mumkin.
  • nmbd: NetBIOS nomlash xizmatini taqdim etadi

Samba serverini Ubuntu 16.04 ga qanday o'rnatish kerak

Samba ko'pgina Linux tarqatishlariga kiritilgan. Samba -ni o'rnatish uchun quyidagilarni bajaring:

Samba sambo o'rnatish

Oxirgi barqaror versiya - 2016 yil 19 -dekabrda chiqarilgan 4.5.3 versiyasi. Versiyani tekshirish uchun Samba , yugur

Sudo holati

Sudo smbd -versiya

Chiqish misoli:

Samba 4.3.11-Ubuntu versiyasi

Samba xizmati ishlayotganligini tekshirish uchun quyidagi buyruqlarni bajaring.

Systemctl holati smbd systemctl holati nmbd

Ushbu ikkita xizmatni ishga tushirish uchun quyidagi buyruqlarni bajaring:

Sudo systemctl start smbd sudo systemctl start nmbd

Ishga tushirilgandan so'ng, smbd 139 va 445 portlarida tinglaydi.

Konfiguratsiya faylini tahrirlash

Faqat bitta konfiguratsiya fayli tahrir qilinishi kerak: /etc/samba/smb.conf.

Sudo nano /etc/samba/smb.conf

Bo'limda qiymatga ishonch hosil qiling ishchi guruh Windows kompyuterlari ishchi guruhiga tegishli.

Ishchi guruh = WORKGROUP

Faylning pastki qismiga pastga aylantiring. (Nano matn muharririda CTRL + W va keyin CTRL + V tugmachalarini bosing) Quyida ko'rsatilgan yangi bo'limni qo'shing. Foydalanuvchi nomini kerakli foydalanuvchi nomi bilan almashtiring.

Sharh = Bosh sahifa umumiy jild yo'li = / home / username / writable = ha haqiqiy foydalanuvchilar = foydalanuvchi nomi

Home Share - bu Windows tarmog'ida ko'rsatiladigan papkaning nomi. Sharh - bu umumiy papkaning tavsifi. Keyingi 3 satr faqat ko'rsatilgan foydalanuvchilarning / home / username / katalogiga kirish huquqiga ega ekanligini ko'rsatadi, bu ham yozilishi mumkin. Yuqoridagi konfiguratsiya anonim kirishni o'chirib qo'yadi.

Faylni saqlang va yoping, keyin sintaksik xatolar mavjudligini tekshirish uchun quyidagi buyruqni bajaring.

Testparm

Foydalanuvchi yaratish

Samba sukut bo'yicha xavfsizlik rejimida foydalanuvchini o'z ichiga oladi, ya'ni mijozlar umumiy papkaga kirish uchun foydalanuvchi nomi va parolni kiritishlari kerak. Ubuntu -ga foydalanuvchi qo'shish uchun quyidagi buyruqni bajaring:

Sudo adduser foydalanuvchi nomi

Sizdan Unix parolini o'rnatish so'raladi. Bundan tashqari, siz quyidagi buyruq yordamida foydalanuvchi uchun alohida Samba parolini o'rnatishingiz kerak bo'ladi:

Sudo smbpasswd -foydalanuvchi nomi

Endi faqat smbd dasturini qayta ishga tushirish qoladi.

Sudo systemctl smbd -ni qayta ishga tushiring

Samba -dan Windows -dan umumiy papkaga kirish

Xuddi shu tarmoqdagi Windows kompyuterida Fayl Explorer -ni oching va chap panelda Tarmoq -ni bosing. Siz samba serverini ko'rasiz. Umumiy papkani ikki marta bosing va foydalanuvchi nomi va parolni kiriting.

Ubuntu kompyuteridan papkani almashish uchun Samba -ga kirish

Fayl menejerida chap paneldagi "Tarmoqlar" yorlig'iga o'ting va "Windows tarmoqlari" ni tanlang.

Ishchi guruhni, Samba serverini va umumiy papkani tanlang, so'ng Samba foydalanuvchi nomi va parolini kiriting.

Bir nechta foydalanuvchilar yoki guruhlarni qo'shish

Agar bir nechta hisoblar umumiy papkaga kirishi kerak bo'lsa, /etc/samba/smb.conf faylida ko'rsatilganidek, tegishli foydalanuvchilarni o'zgartirishingiz kerak.

Foydalanuvchilar = user1, user2, user3

Bundan tashqari, ushbu foydalanuvchilarning har biri uchun Samba parolini o'rnatish uchun smbpasswd -dan foydalaning.

Sudo smbpasswd -a foydalanuvchi1 sudo smbpasswd -a foydalanuvchi2 sudo smbpasswd -a foydalanuvchi3

Bir guruh foydalanuvchilarga umumiy papkaga kirishga ruxsat berish uchun quyidagi /etc/samba/smb.conf konfiguratsiyasidan foydalaning.

Foydalanuvchilar = @sambashare

Guruh yaratish.

Samo guruhi uchun samo guruhi

Keyin foydalanuvchilarni ushbu guruhga qo'shing

Sudo gpasswd -a user1 sambashare sudo gpasswd -a user2 sambashare sudo gpasswd -a user3 sambashare

Guruh umumiy papkaga yozish ruxsatiga ega bo'lishi kerak, bunga quyidagi ikkita buyruq yordamida erishish mumkin.

Sambashare -ni umumiy papkalar guruhining egasi sifatida o'rnating:

Sudo chgrp sambashare / path / to / shared / papkaga -R

Guruhga yozish huquqini bering.

Sudo chmod g + w / path / to / shared / folder / -R

Umid qilamanki, bu maqola Ubuntu 16.04 da Samba serverini o'rnatishga yordam berdi. Har doimgidek, agar siz ushbu xabarni foydali deb topsangiz, sharhlarda obunani bekor qiling.

Samba- SMB / CIFS protokoli yordamida turli xil operatsion tizimlardagi tarmoq drayverlariga kirishga imkon beruvchi dastur. Mijoz va server qismlari mavjud. Bu GPL litsenziyasi ostida chiqarilgan bepul dasturiy ta'minot.

Samba GNU / Linux, POSIX bilan mos keladigan Solaris va Mac OS X Server kabi turli xil Unix-ga o'xshash tizimlarda, turli BSD lazzatlari, OS / 2, Windows-da ishlaydi. Samba deyarli barcha GNU / Linux tarqatmalariga kiritilgan, shu jumladan, albatta Ubuntu.

O'rnatish

Ubuntu Desktop-da umumiy papka yaratish uchun papkani o'ng tugmasini bosing va "Jildni nashr etish" menyusini tanlang. Hech qanday konfiguratsiya fayllarini tahrir qilishingiz shart emas. Quyida tavsiflangan hamma narsa faqat qo'lda konfiguratsiyaga tegishli, masalan, fayl serverini yaratishda.

O'rnatish uchun terminalni oching va kiriting:

Samo apt-get ni o'rnat

Dastur avtomatik ravishda yuklab olinadi va o'rnatiladi.

Moslashtirish

Terminaldan foydalanib, dastlabki konfiguratsiya faylining zaxira nusxasini yarataylik:

Sudo cp /etc/samba/smb.conf (,.bak)

Endi siz /etc/samba/smb.conf sozlamalari faylini superuser huquqlariga ega bo'lgan har qanday matn muharririda ochib tahrir qilishingiz mumkin. Masalan, bu kabi:

Sudo nano /etc/samba/smb.conf

Quyida yozilgan narsa, odatda, Samba uchun faqat bitta aniq holatdir va ko'p hollarda hamma narsa boshqacha tarzda tuzilgan. Maqolani tuzatish kerak, bunda Samba imkoniyatlariga e'tibor qaratiladi va bu dasturni faqat mahalliy avtorizatsiya qilingan fayllar ombori sifatida ishlatishga emas. Fayl saqlanadigan misolni alohida batafsil maqolada olish yaxshiroqdir.

Samba -ni avtorizatsiya qilingan mustaqil fayl -server sifatida sozlashning misoli:

; Global server sozlamalari; Umumiy server sozlamalari; Tarmoq muhitida ko'rsatiladigan kompyuter nomi netbios name = main-server server string =; Mijozlar ishchi guruhi ishchi guruhi = WORKGROUP versiyasini e'lon qiladi = 5.0 soket variantlari = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF = 8192 SO_SNDBUF = 8192 passdb backend = tdbsam security = foydalanuvchi null parollari = rost; Foydalanuvchi nomining taxalluslari uchun fayl foydalanuvchi nomi xaritasi = / etc / samba / smbusers nomini hal qilish tartibi = xostlar bcast yutadi; Agar samba -dagi nmbd (8) WINS -server bo'lsa, win qo'llab -quvvatlashi ha deb o'rnatiladi. Agar sizda bir nechta subnet bo'lmasa va nmbd -ning WINS -server sifatida ishlashini xohlamasangiz, bu parametrni ha deb belgilamang. Hech qachon bir xil tarmoq ichidagi bir nechta mashinada bu parametrni ha deb qo'ymang. qo'llab -quvvatlaydi = yo'q; Printerni bosib chiqarishni qo'llab -quvvatlash = CUPS printcap nomi = CUPS; Jurnallar jurnali fayli = /var/log/samba/log.%m syslog = 0 syslog faqat = yo'q; Interfeyslarga ulanishni sozlash, agar tinglanmasa, barcha interfeyslarni tinglaydi; interfeyslar = lo, eth0; faqat interfeyslarni bog'lash = rost; ; ; yo'l = / var / lib / samba / printerlar; ko'rib chiqish = ha; mehmon ok = ha; faqat o'qish = ha; yozish ro'yxati = root; niqob yaratish = 0664; katalog niqobi = 0775; ; ; yo'l = / tmp; chop etilishi mumkin = ha; mehmon ok = ha; ko'rib chiqish = yo'q; ; ; yo'l = / media / cdrom; ko'rib chiqish = ha; faqat o'qish = ha; mehmon ok = ha; Qattiq disk to'pi; Mijozlar ko'rgan to'plarni nomlang; Umumiy disk yo'lining yo'li = / media / sda1; Ko'rish mumkinmi, ko'zdan kechiriladi = ha faqat o'qiladi = mehmon yo'q ok = yo'q niqob yaratish = 0644 katalog maskasi = 0755; Muayyan foydalanuvchi nomi yoki guruhga bog'lanish, bo'shliq bilan ajratilgan nomlar; majburlovchi user = user1 user2; kuch guruhi = guruh1 guruh2; Yuqoridagi yo'lga o'xshash boshqa qattiq disk = / media / sde1 browseable = ha faqat o'qish uchun = mehmon yo'q ok = no mask yaratish = 0644 katalog niqobi = 0755

Endi biz foydalanuvchilar bilan ishlashimiz kerak.

Samba tizimda bo'lgan foydalanuvchilarni ishlatadi, misol sifatida foydalanuvchi nomini oling, aytaylik, u allaqachon tizimda, siz uni SMB ma'lumotlar bazasiga qo'shishingiz va umumiy manbalarga kirish uchun parol belgilashingiz kerak, buni buyruq yordamida bajaring. :

Smbpasswd -foydalanuvchi

Sizdan parolni kiritish so'raladi, foydalanuvchi ma'lumotlar bazasiga qo'shiladi, endi siz ushbu foydalanuvchini yoqishingiz kerak.

Smbpasswd -foydalanuvchi

Keyinchalik, biz Windows mashinasidan kirishni osonlashtirish uchun foydalanuvchi nomi uchun taxallus yaratamiz, masalan, Admin ismli foydalanuvchi, buning uchun biz / etc / samba / smbusers faylini yaratamiz va tahrir qilamiz:

Sudo touch / etc / samba / smbusers sudo gedit / etc / samba / smbusers

Faylga bir nechta satr yozing

# Unix_name = SMB_name1 SMB_name2 user = Admin

Bu konfiguratsiyani yakunlaydi, Sambani qayta ishga tushiring.

Samba uchun eng oddiy GUI -ni quyidagi buyruq bilan o'rnatishingiz mumkin:

Sudo apt-get system-config-samba-ni o'rnating

Bu buyruq bilan boshlanadi:

Samo tizimi-konfiguratsiyasi-samba

U samba konfiguratsiya faylidagi barcha o'zgarishlarni yozadi.

Samba -ni masofadan boshqarish uchun Samba veb -interfeysi juda mos keladi