में शेयर सेटिंग्स में smb.conf
, आपको एक write list = ...
लाइन का उपयोग करके उन उपयोगकर्ताओं और / या समूहों के नाम निर्दिष्ट करने होंगे, जिन्हें शेयर लिखने की अनुमति है ।
उदाहरण:
[myshare]
...
write list = my_linux_username
फिर आपको सांबा smbpasswd
को प्रमाणित करने के my_linux_username
लिए पासवर्ड सेट करने के लिए कमांड का उपयोग करना होगा :
sudo smbpasswd -a my_linux_username
यह कदम आवश्यक है क्योंकि मानक सिस्टम पासवर्ड /etc/shadow
एल्गोरिदम में हैश किए गए हैं जो SMB प्रोटोकॉल में उपयोग किए गए पासवर्ड हैश एल्गोरिदम के साथ असंगत हैं। जब कोई क्लाइंट SMB प्रमाणीकरण पैकेट भेजता है, तो उसमें एक हैशेड पासवर्ड शामिल होता है। इसकी तुलना किसी अन्य पासवर्ड हैश से की जा सकती है जो समान एल्गोरिथ्म का उपयोग करता है।
(बहुत, पिछले सहस्राब्दी से बहुत पुराने निर्देश सांबा में पासवर्ड एन्क्रिप्शन को अक्षम करने की सलाह दे सकते हैं, और नेटवर्क पर अनएन्क्रिप्टेड पासवर्डों को विंडोज को अनुमति देने के लिए कुछ रजिस्ट्री हैक का उपयोग कर रहे हैं। यह सलाह अप्रचलित है : उन रजिस्ट्री हैक अब वर्तमान संस्करणों में काम नहीं कर सकते हैं। विंडोज़, और किसी को भी, जो आपके नेटवर्क ट्रैफ़िक की निगरानी आपके पासवर्ड को तुच्छ रूप से करने की अनुमति दे सकता है।)
ग्राहक-पक्ष में एक और बात हो सकती है। जब आपका विंडोज क्लाइंट सिस्टम एक सक्रिय निर्देशिका डोमेन में शामिल हो जाता है और आप AD खाते के साथ लॉग इन हो जाते हैं, तो यह स्वचालित रूप से उपयोगकर्ता के AD डोमेन के नाम के साथ सभी अयोग्य उपयोगकर्ता नाम उपसर्ग कर देता है, अर्थात आप AD_DOMAIN\your_username
केवल इस रूप में प्रमाणित करेंगे your_username
।
यदि आप एक स्थानीय खाते (या आपका क्लाइंट सिस्टम AD डोमेन में शामिल नहीं है) के साथ लॉग इन हैं, तो Windows तब तक क्लाइंट होस्टनाम के साथ उपयोगकर्ता नाम के साथ स्वचालित रूप से उपसर्ग कर सकता है जब तक कि आप किसी अन्य डोमेन नाम को निर्दिष्ट नहीं करते।
स्टैंड-अलोन विंडोज क्लाइंट से स्टैंड-अल-सांबा सर्वर में सफलतापूर्वक लॉग-इन करने के लिए, आपको अपना उपयोगकर्ता नाम निर्दिष्ट करना पड़ सकता है SAMBA_SERVER_HOSTNAME\your_username
।
अन्यथा सांबा उपयोगकर्ता नाम को देखेगा WINDOWS_CLIENT_HOSTNAME\your_username
, यह निष्कर्ष निकालेगा कि उसके पास डोमेन नाम से संबंधित किसी भी उपयोगकर्ता को सत्यापित करने का कोई तरीका नहीं है WINDOWS_CLIENT_HOSTNAME
, और लॉगिन को अस्वीकार कर देगा।
(साम्बा के नए संस्करण हो सकता है एक अंतर्निहित इस विशिष्ट स्थिति के लिए चेक, और वे आपको फिर भी पहुँच की अनुमति हो सकती है। लेकिन इस मूल रूप से कैसे एसएमबी प्रमाणीकरण काम करता है "हुड के नीचे" है, और आप सांबा के पुराने संस्करणों के साथ सौदा करने की आवश्यकता है , यह अभी भी उपयोगी हो सकता है।)
force user = defaultUser
ने मेरे लिए काम किया।