या रचनेत दोन वेगळ्या परवानग्या गोंधळतात: कोण डिरेक्टरी वापरू शकतो, आणि कोणते पत्ते कनेक्ट होऊ शकतात। स्रोत यादीच्या शेजारी खाते यादी लिहिणे जोडी सारखे वाटते, पण Samba दोन्ही याद्या स्वतंत्र अटी म्हणून मूल्यांकन करते। दोन्ही पूर्ण करणारा कोणीही स्वीकारला जातो, आणि हा बहुतेक प्रशासकांच्या हेतूपेक्षा व्यापक नियम आहे। उपाय म्हणजे वेगळी शेअर रचना किंवा जोडी व्यक्त करू शकणारा धोरण स्तर।

गैरसमज: दोन याद्या एक नियम बनवतात

smb.conf संदर्भ valid users आणि hosts allow यांना दोन असंबंधित पॅरामीटर म्हणून परिभाषित करतो, आणि एकाच शेअरवर दोन्ही सेट केल्यावर गोंधळ सुरू होतो। valid users = mira, tomas आणि hosts allow = 10.77.0.21, 10.77.0.22 सेट करा, आणि चार संयोजने स्वीकारली जातात: मीरा कोणत्याही पत्त्यावरून, टोमस कोणत्याही पत्त्यावरून। कॉन्फिगरेशनमध्ये काहीही पहिले नाव पहिल्या पत्त्याशी बांधत नाही, आणि नावे येण्याच्या क्रमाला अर्थ नाही। ती पुन्हा रचणे, दुसरी hosts allow ओळ जोडणे किंवा प्रत्येक ओळीत एक नाव ठेवणे काहीही बदलत नाही। निकाल दोन याद्यांचा गुणाकार आहे, त्यांच्यातील मॅपिंग नाही।

बहुतेक लोकांना प्रत्यक्षात हवे ते अरुंद आहे: मीरा फक्त एका पत्त्यावरून, टोमस फक्त दुसऱ्यावरून। एका शेअर व्याख्येकडे त्या बांधणीसाठी वाक्यरचना नाही, आणि कोणताही हुशार क्रम ती तयार करत नाही। हा Samba एका शेअरमध्ये व्यक्त न करणारा धोरणाचा प्रकार आहे, आणि तिथेच गैरसमज टिकतो।

Samba काय आणि कोणत्या क्रमाने मूल्यांकन करते

टप्पे ठराविक क्रमाने चालतात, आणि क्रम चुकल्यास चुकीचे निदान मिळते। क्लायंट कनेक्शन उघडतो; कॉन्फिगर केलेले असेल तर जागतिक होस्ट तपासणी चालते; सत्र सेटअप खाते प्रमाणित करते; नंतर क्लायंट शेअरशी जोडतो, जिथे त्या शेअरची स्वतःची होस्ट यादी, valid users आणि फक्त-वाचन सेटिंग लागू होते; आणि फाइल उघडल्यावरच प्रमाणित ओळखीच्या फाइलसिस्टम परवानग्या ठरवतात। प्रत्येक टप्पा स्वतःहून विनंती नाकारू शकतो, आणि एक पार होणे पुढच्याबद्दल काहीही सांगत नाही। महत्त्वाचा परिणाम म्हणजे शेअरची होस्ट यादी मूल्यांकन होण्यापूर्वीच खाते माहीत असते, आणि होस्ट यादीकडे ते खाते नाव देण्याचा मार्ग अजूनही नाही।

म्हणूनच शेअर एका वापरकर्त्याला एका पत्त्याशी बांधू शकत नाही: hosts allow आणि valid users एकाच वृक्ष-जोडणी टप्प्यावर लागू होणार्या वेगळ्या अटी आहेत, आणि प्रत्येक स्वतःच्या प्रश्नाचे उत्तर देते। होस्ट अट कधीही खात्याचे नाव इनपुट म्हणून घेत नाही, म्हणून ती प्रत्येक वापरकर्त्यासाठी लिहिता येत नाही। जोडी फक्त दुसरे शेअर किंवा Samba बाहेरील धोरण स्तर व्यक्त करू शकतो।

जागतिक मूल्ये वारसा पद्धतीमुळे महत्त्वाची आहेत। hosts allow वगळणारे शेअर जागतिक मूल्य वारसा घेते, आणि स्वतःचे सेट करणारे शेअर ते मूल्य जागतिकाऐवजी वापरते, त्याव्यतिरिक्त नाही। त्यामुळे रुंद जागतिक यादी पॅरामीटर कधीही सेट न करणार्या शेअर्सना रुंदावते, आणि स्वतःचे परिभाषित करणार्या शेअरवर काहीही करत नाही। testparm -s चालवा आणि तो छापत असलेली प्रत्येक शेअरची मूल्ये वाचा, कारण तेच आउटपुट प्रभावी धोरण आहे, डिस्कवरील फाइल नाही।

एक शेअर अरुंद केल्याने उर्वरित सर्व्हरवर काहीही होत नाही। इतर शेअर्स, प्रिंटर रांगा आणि IPC कनेक्शन स्वतःचे नियम ठेवतात, म्हणून एका शेअरच्या पत्त्यांच्या यादीवर अवलंबून असलेली रचना होस्ट नाही, एक मार्ग संरक्षित करते।

एका डिरेक्टरीवर दोन शेअर नावे

जेव्हा एकच डिरेक्टरी दोन लोकांसाठी दोन पत्त्यांवरून उपलब्ध असायला हवी, तेव्हा ती वेगवेगळ्या नावांनी दोन वेळा उघड करा। प्रत्येक ब्लॉक एक खाते आणि एक स्रोत बाळगतो, ज्यामुळे जोडी कॉन्फिगरेशन अंमलात आणू शकणारी गोष्ट बनते। किंमत ही आहे की प्रत्येक व्यक्ती त्याच फाइल्सपर्यंत पोहोचण्यासाठी वेगळे शेअर नाव वापरतो, आणि तो क्लायंट बाजूला जाणीवपूर्वक केलेला बदल असला पाहिजे।

[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

शेअर गेट फाइलसिस्टम परवानगी नाही। दोन्ही ओळखींना मूलभूत ACL द्वारे डिरेक्टरीत प्रवेश आवश्यक आहे, आणि फक्त-वाचन सेटिंग हा दुसरा स्तर आहे, एकमेव नाही। कामाचा प्रवाह आवश्यक असेल तरच लेखन परवानगी द्या, नंतर एका ओळखीने तयार केलेल्या फाइल्स दुसऱ्यासाठी वापरण्यायोग्य राहतात का ते तपासा।

दोन्ही ब्लॉक एकाच मार्गाकडे निर्देश करतात, म्हणून डिरेक्टरीतील बदल दोन्ही शेअर्सवर परिणाम करतो। सामान्यतः तोच हेतू असतो, पण परवानगीची चूक दोन्ही वापरकर्त्यांना एकाच वेळी दिसते असाही अर्थ आहे।

स्रोत पत्ता काय सिद्ध करू शकतो

Samba जो पत्ता पाहते तो सर्व्हरपर्यंत पोहोचलेला पत्ता आहे, क्लायंटला वाटणारा पत्ता नाही। प्रत्येक क्लायंटचे एका स्रोत पत्त्यात रूपांतर करणारा VPN गेटवे हा फरक मिटवतो: सर्व क्लायंट एकच होस्ट म्हणून येतात आणि स्रोत यादी आता त्यांना वेगळे करू शकत नाही। प्रत्येक क्लायंटसाठी स्थिर वाटप आणि स्रोत जपणारा गेटवे हे पत्ते धोरण म्हणून वापरण्याच्या पूर्वअटी आहेत। दोन्ही नसल्यास मर्यादा वापरकर्त्याची नाही, गेटवेची मोजणी करते।

तरीही, पत्ता हे उपकरण नाही। एका बोगदा पत्त्यामागे दोन लॅपटॉप, पुनर्वाटप केलेली भाडेकरार आणि सामायिक कार्यस्थान हे सर्व स्रोत व्यक्ती ओळखतो या गृहीतकाचे खंडन करतात। मर्यादेला नेटवर्क व्याप्ती माना आणि प्रमाणित SMB खाती ओळख स्तर म्हणून ठेवा, उपकरण अधिकृतता हवी असल्यास प्रमाणपत्रासारख्या उपकरण क्रेडेन्शियलसह।

म्हणूनच रचना सर्व्हरवर नाही, शेअर्सवर गेट लावते। नाकारलेली जोडी तरीही सत्र उघडू शकते, दुसर्या शेअरपर्यंत पोहोचू शकते किंवा सर्व्हरची यादी करू शकते, जो कनेक्ट होताना प्रमाणन अयशस्वी होण्यापेक्षा वेगळा निकाल आहे। आवश्यकता प्रमाणनापूर्वी नाकारणे असेल, तर Samba चे शेअर पॅरामीटर चुकीचे साधन आहेत।

क्रॉस जोड्यांनी सिद्ध करा

कॉन्फिगरेशन सत्यापित करा, नंतर चारही संयोजने पुनर्वापरलेल्या सत्राऐवजी नवीन कनेक्शन्सनी तपासा। इच्छित जोडीने डिरेक्टरीपर्यंत पोहोचायला हवे, आणि दोन्ही क्रॉस जोड्यांनी अयशस्वी व्हायला हवे। पूर्वीच्या चाचणीचे कॅशे केलेले सत्र चुकीच्या संयोजनासाठी आनंदाने उत्तर देईल आणि तुटलेला नियम बरोबर दिसू लागेल।

testparm -s
smbclient //fileserver/shared-mira -U mira -c 'ls'
smbclient //fileserver/shared-tomas -U tomas -c 'ls'
smbstatus --shares

वाक्यरचना तपासणी फाइल पार्स होते एवढेच सिद्ध करते। क्रेडेन्शियल्स, ACL आणि होस्ट निर्णय प्रत्यक्ष कनेक्शनने तपासले जातात, म्हणून ज्या पत्त्याची चाचणी करायची आहे तिथून क्लायंट कमांड चालवा आणि कोणता टप्पा ती नाकारतो ते पहा। क्रॉस जोडी यशस्वी झाल्यास प्रभावी होस्ट यादी ब्लॉक दर्शवते त्यापेक्षा रुंद आहे, आणि testparm -s ही पहिली गोष्ट वाचायला हवी। क्रॉस जोडी चुकीच्या कारणाने अयशस्वी झाल्यास संशयित खाते किंवा ACL आहे।

smbstatus वापरून सत्रे देखरेख करणे आणि ती थांबवणे ही प्रवेश सुरू झाल्यानंतरची प्रतिक्रिया आहे, प्रवेश नियंत्रण नाही। निरीक्षण केलेला संपूर्ण पत्ता अडवल्यास त्याच NAT मागील असंबंधित वापरकर्तेदेखील तुटू शकतात, म्हणून निर्णय शेअर व्याख्येत आणि देखरेख प्रतिक्रिया प्रक्रियेत असावी। दोन्ही वेगळे ठेवा म्हणजे रचना जे लागू करते त्याबद्दल प्रामाणिक राहील।

संबंधित लेख