Samba paylaşımını bir istifadəçi və bir VPN ünvanı ilə məhdudlaşdırın
Samba-nın valid users və hosts allow parametrləri şəxsi ünvanla cütləşdirmir: iki paylaşım adı bu cütlüyü ifadə edə bilər və çarpaz cüt testləri bunu sübut edir.
Bu dizaynda iki ayrı icazə qarışdırılır: kimin qovluqdan istifadə edə biləcəyi və hansı ünvanların ümumiyyətlə qoşula biləcəyi. Hesab siyahısını mənbə siyahısının yanına yazmaq cütlük kimi hiss olunur, amma Samba iki siyahını bunun əvəzinə müstəqil predikatlar kimi qiymətləndirir. Hər ikisini ödəyən hər kəs qəbul edilir, bu isə əksər administratorların nəzərdə tutduğundan daha geniş qaydadır. Düzəliş ya fərqli paylaşım düzümü, ya da cütlüyü ifadə edə bilən siyasət qatıdır.
Mif: iki siyahı bir qayda yaradır
smb.conf sənədi valid users və hosts allow parametrlərini bir-biri ilə əlaqəsiz iki parametr kimi təyin edir və çaşqınlıq ikisinin də bir paylaşımda qurulması ilə başlayır. valid users = mira, tomas və hosts allow = 10.77.0.21, 10.77.0.22 qurulanda dörd kombinasiya qəbul edilir: Mira hər iki ünvandan, Tomas hər iki ünvandan. Konfiqurasiyada heç nə birinci adı birinci ünvana bağlamır və adların görünmə sırasının heç bir mənası yoxdur. Onları yenidən sıralamaq, ikinci hosts allow sətri əlavə etmək və ya hər sətrə bir ad yazmaq heç nəyi dəyişmir. Nəticə iki siyahının hasili olur, onların arasında xəritə deyil.
Əksər insanların əslində istədiyi daha dardır: Mira yalnız bir ünvandan, Tomas yalnız digərindən. Tək bir paylaşım tərifində bu bağlanma üçün sintaksis yoxdur və heç bir ağıllı sıralama onu yaratmır. Bu, Samba-nın bir paylaşım daxilində ifadə etmədiyi siyasət formasıdır və mif elə burada yaşayır.
Samba nəyi, hansı sıra ilə qiymətləndirir
Mərhələlər sabit sıra ilə işləyir və sıranın səhv salınması yanlış diaqnoz doğurur. Müştəri bağlantı açır; qlobal host yoxlaması konfiqurasiya edilibsə işləyir; sessiya qurulması hesabı doğrulayır; sonra müştəri paylaşıma qoşulur və orada həmin paylaşımın öz host siyahısı, valid users və yalnız oxuma rejimi tətbiq edilir; fayl açılarkən yalnız o zaman doğrulanmış şəxsiyyətin fayl sistemi icazələri həlledici olur. Hər mərhələ sorğunu özü rədd edə bilər və birindən keçmək növbəti barədə heç nə demir. Əhəmiyyətli nəticə odur ki, paylaşımın host siyahısı qiymətləndirilənə qədər hesab artıq məlumdur və host siyahısı həmin hesabı adlandırmağın yolunu hələ də bilmir.
Buna görə paylaşım bir istifadəçini bir ünvana bağlaya bilmir: hosts allow və valid users eyni ağaca qoşulma mərhələsində tətbiq olunan ayrı predikatlardır və hər biri öz sualına cavab verir. Host predikatı heç vaxt hesab adını giriş kimi qəbul etmir, ona görə də hər istifadəçi üzrə yazıla bilməz. Cütlüyü yalnız ikinci paylaşım və ya Samba-dan kənar siyasət qatı ifadə edə bilər.
Qlobal dəyərlər miras qalma qaydasına görə vacibdir. hosts allow parametrini buraxan paylaşım qlobal dəyəri miras alır, öz dəyərini quran paylaşım isə qlobal dəyərin yerinə onu işlədir, ona əlavə olaraq deyil. Beləliklə geniş qlobal siyahı parametri heç vaxt qurmayan paylaşımları genişləndirir və öz dəyərini təyin edən paylaşıma heç nə etmir. testparm -s işə salın və onun çap etdiyi hər paylaşım üzrə dəyərləri oxuyun, çünki effektiv siyasət həmin çıxışdır, diskdəki fayl deyil.
Bir paylaşımı daraltmaq serverin qalanı üçün də heç nə etmir. Digər paylaşımlar, printer növbələri və IPC bağlantısı öz qaydalarını saxlayır, ona görə bir paylaşımın ünvan siyahısına güvənən dizayn hostu deyil, bir yolu qoruyur.
Bir qovluq üzərində iki paylaşım adı
Eyni qovluğa iki nəfərin iki ünvandan çıxışı lazım olduqda, onu fərqli adlarla iki dəfə açıqlayın. Hər blok bir hesab və bir mənbə daşıyır, bu da cütlüyü konfiqurasiyanın tətbiq edə biləcəyi bir şeyə çevirir. Qiyməti odur ki, hər nəfər eyni fayllara çatmaq üçün fərqli paylaşım adı işlədir və bu, müştəri tərəfində qəsdən edilən dəyişiklik olmalıdır.
[shared-mira]
path = /srv/shared
guest ok = no
read only = yes
valid users = mira
hosts allow = 10.77.0.21
hosts deny = ALL
[shared-tomas]
path = /srv/shared
guest ok = no
read only = yes
valid users = tomas
hosts allow = 10.77.0.22
hosts deny = ALL
Paylaşım qapısı fayl sistemi icazəsi deyil. Hər iki şəxsiyyət hələ də altındakı ACL vasitəsilə qovluğa çıxışa ehtiyac duyur və paylaşımın yalnız oxuma rejimi yeganə deyil, ikinci qatdır. Yazma icazəsini yalnız iş axını tələb edirsə verin, sonra bir şəxsiyyətin yaratdığı faylların digəri üçün istifadə oluna bilən qaldığını yoxlayın.
Hər iki blok bir yola işarə edir, ona görə qovluqdakı dəyişiklik hər iki paylaşıma təsir edir. Bu adətən məqsəddir, amma həm də o deməkdir ki, icazə səhvi hər iki istifadəçiyə eyni anda görünür.
Mənbə ünvanı nəyi sübut edə bilər
Samba-nın gördüyü ünvan serverə çatan ünvandır, müştərinin sahib olduğunu düşündüyü ünvan deyil. Hər müştərini bir mənbə ünvanına çevirən VPN şlüzü bu fərqi sıfırlayır: bütün müştərilər eyni host kimi gəlir və mənbə siyahısı artıq onları ayıra bilmir. Hər müştəri üçün sabit ayrım və mənbəni qoruyan şlüz ünvanlardan ümumiyyətlə siyasət kimi istifadə etməyin ilkin şərtləridir. İkisi də olmadan məhdudiyyət istifadəçini deyil, şlüzü ölçür.
Yenə də ünvan cihaz deyil. Bir tunel ünvanı arxasında iki noutbuk, yenidən təyin edilmiş icarə və paylaşılan iş stansiyası mənbənin şəxsi tanıtdığı fərziyyəsini birgə puça çıxarır. Məhdudiyyəti şəbəkə əhatəsi kimi qəbul edin və doğrulanmış SMB hesablarını şəxsiyyət qatı kimi saxlayın, cihaz səlahiyyəti lazımdırsa sertifikat kimi cihaz etimadı ilə.
Bu həm də ona görədir ki, dizayn serveri deyil, paylaşımları qapılayır. Rədd edilən cüt yenə sessiya aça, başqa paylaşıma çata və ya serveri siyahıya ala bilər, bu isə qoşulma zamanı doğrulama uğursuzluğundan fərqli nəticədir. Tələb doğrulamadan əvvəl rədd etməkdirsə, Samba-nın paylaşım parametrləri səhv alətdir.
Çarpaz cütlərlə sübut edin
Konfiqurasiyanı doğrulayın, sonra dörd kombinasiyanı təkrar işlədilmiş sessiya ilə deyil, təzə bağlantılarla sınaqdan keçirin. Nəzərdə tutulan cüt qovluğa çatmalı, hər iki çarpaz cüt isə uğursuz olmalıdır. Əvvəlki sınaqdan keşlənmiş sessiya səhv kombinasiya üçün məmnuniyyətlə cavab verəcək və pozulmuş qaydayı doğru göstərəcək.
testparm -s
smbclient //fileserver/shared-mira -U mira -c 'ls'
smbclient //fileserver/shared-tomas -U tomas -c 'ls'
smbstatus --shares
Sintaksis yoxlaması yalnız faylın təhlil olunduğunu sübut edir. Etimad məlumatları, ACL-lər və host qərarı real bağlantı ilə işlədilir, ona görə müştəri əmrini sınaqdan keçirmək istədiyiniz ünvandan işə salın və hansı mərhələnin onu rədd etdiyinə baxın. Çarpaz cüt keçərsə, effektiv host siyahısı blokun göstərdiyindən genişdir və ilk oxunmalı şey testparm -s-dir. Çarpaz cüt səhv səbəbdən uğursuz olarsa, şübhəli hesab ya ACL-dir.
Sessiyaları smbstatus ilə izləmək və onları sonlandırmaq, çıxış başladıqdan sonra görülən cavab tədbiridir, qəbul nəzarəti deyil. Müşahidə olunan bütün bir ünvanı bloklamaq da eyni NAT arxasındakı əlaqəsiz istifadəçiləri ayıra bilər, buna görə qərar paylaşım tərifinə, monitorinq isə cavab prosesinə aiddir. İkisini ayrı saxlayın, dizayn da nəyi tətbiq etdiyi barədə dürüst qalsın.