ব্যবহারকারীর নাম @ ডোমেন ফর্ম্যাট ব্যবহার করার সময় ডোভকোট ব্যবহারকারীর চেহারা ব্যর্থ


14

আমি একটি ফ্রিবিএসডি সার্ভারে ডোভকোট ভি 2.0.11 ইনস্টল করেছি এবং আগত ইমেল ঠিকানাগুলির জন্য ব্যবহারকারীদের অনুসন্ধান ব্যর্থ হচ্ছে, তবে সিস্টেম ব্যবহারকারীদের জন্য অনুসন্ধান সফল।

ডোভকোটটি সিস্টেম ব্যবহারকারীদের ব্যবহারের জন্য সেটআপ করা হয়েছে, সুতরাং আমার ডোভকোটকনফের রয়েছে

 userdb {
  driver = passwd
}

এবং

passdb {
  driver = passwd
}

আমার লেখক ডিবাগ সক্ষম হয়েছে।

উদাহরণস্বরূপ, আমার কাছে ওয়েবমাস্টার নামে একজন ব্যবহারকারী রয়েছে এবং "ওয়েবমাস্টার" এর জন্য ডোভ্যাডম ব্যবহারকারী ব্যবহার করে নীচের মত কাজ করে:

#doveadm user webmaster
userdb: webmaster
  system_groups_user: webmaster
  uid       : 1020
  gid       : 1020
  home      : /home/webmaster

যাইহোক domasadm ব্যবহারকারীদের webmaster@myregmittedname.com দেখার জন্য ব্যবহার ব্যর্থ হয়েছে:

# doveadm user webmaster@myregisteredname.com
userdb lookup: user webmaster@myregisteredname.com doesn't exist

এটি "অজানা ব্যবহারকারী" ত্রুটির সাথে বাউন্স করার জন্য ওয়েবমাস্টার@মাইগ্রিজার্ডনাম.কমের জন্য আগত মেলগুলির ফলাফল।

লগ ইন / ভের / লগ / মাইলগ এখানে ব্যর্থতা এখানে:

Apr 16 20:13:35 www dovecot: auth: passwd(webmaster@myregisteredname.com): unknown user

/Var/log/debug.log এ লগ ইন করা ব্যর্থতা এখানে:

Apr 16 20:13:35 www dovecot: auth: Debug: master in: USER       1       webmaster@myregisteredname.com  service=doveadm
Apr 16 20:13:35 www dovecot: auth: Debug: passwd(webmaster@myregisteredname.com): lookup
Apr 16 20:13:35 www dovecot: auth: Debug: master out: NOTFOUND  1

ব্যবহারকারী এবং তাদের হোম ডিরেক্টরিগুলি অন্য সার্ভার থেকে আমদানি করা হয়েছিল এবং ব্যবহারকারীরা ভিআইপিডব্লু সরঞ্জামটি ব্যবহার করে সেটআপ করেছিলেন। আমি নিশ্চিত যে আমদানিটি মিস করেছি যা ডোভকোট অনুসন্ধানের সাথে সিস্টেম ব্যবহারকারীকে "লিঙ্কিং" করছে না।

যে কিছু হতে পারে সম্পর্কে কোন ধারণা?

সম্পাদনা: বিলটি’র পরামর্শ ব্যবহার করে আমি dovecot.conf নিম্নলিখিত হিসাবে আপডেট করেছি:

#doveconf -n passdb userdb
passdb {
  args = username_format=%n
  driver = passwd
}
userdb {
  args = username_format=%n
  driver = passwd
}

তবে, এখন, ডোভ্যাডম ব্যবহারকারী অন্য ফ্যাশনে ব্যর্থ হন:

#doveadm user webmaster@pantronx.com
doveadm(root): Error: userdb lookup(webmaster@myregisteredname.com): Disconnected unexpectedly
doveadm(root): Fatal: userdb lookup failed for webmaster@myregisteredname.com

এবং, এটি ডোমেন ছাড়াই ব্যবহারকারীদের পক্ষে আর কাজ করে না:

#doveadm user webmaster
doveadm(root): Error: userdb lookup(webmaster): Disconnected unexpectedly
doveadm(root): Fatal: userdb lookup failed for webmaster

আমি যখন উপরের বার্তাগুলি পাই, নিম্নলিখিতটি / var / লগ / মাইলগ-এ রয়েছে:

Apr 17 17:30:02 www dovecot: auth: Fatal: passdb passwd: Unknown setting: username_format=%u
Apr 17 17:30:02 www dovecot: master: Error: service(auth): command startup failed, throttling

উত্তর:


15

পাসডবি ব্যবহার করে ডোভকোটের ব্যবহারকারীরা ডোমেনটি অন্তর্ভুক্ত করেন না। ব্যবহারকারীর ব্যবহারকারীকে ব্যবহার করা উচিত স্থানীয় অংশ, সম্পূর্ণ ইমেল ঠিকানা নয়।

যে চেকগুলি পাস এবং ব্যর্থ হচ্ছে তা প্রত্যাশা অনুযায়ী কাজ করছে। auth_username_format=%nপাসওয়ার্ড ডিবি সংজ্ঞা কার্যকর করার আগে সেট করা । যদিও ডোমেনটি বৈধ নয়।


উত্তরের জন্য আপনাকে ধন্যবাদ, তবে এটি কার্যকর হয় না। আমি আমার ফলাফল আপডেট ফলাফলের সাথে সম্পাদনা করেছি।
সিগারম্যান

1
@ কোলম্যান: ডোভকোট ১.২ এর জন্য একটি কার্যকরী সমাধান খুঁজে পেয়েছেন। ডোভকোট 2 এর জন্যও কাজ করা উচিত। আমার প্রতিক্রিয়া সম্পাদনা দেখুন। উবুন্টুর জন্য ডিফল্ট কনফিগারেশন ফাইলের মধ্যে সমাধান খুঁজে পেয়েছে।
বিলথোর

13

আমি উবুন্টু সার্ভার 12.04 ব্যবহার করছি এবং আমি উপরের সমাধানগুলি চেষ্টা করেছিলাম। তবে, আমি দেখতে পেলাম যে সবচেয়ে সহজ এবং সহজতম উপায়টি সেট করার জন্য 10-auth.conf এ ছিল

auth_username_format = %n

আমি প্রমাণীকরণের জন্য পিএএম ব্যবহার করি যা উবুন্টু 12.04-এ ডিফল্ট।


3

আমার সন্দেহ হয় যে ডোভকোট ২.১ হয় হয় এই সমাধানটি ভেঙে ফেলেছে বা প্রত্যাশিত আচরণ পরিবর্তন করেছে।

আমি একই অনুমোদনের ত্রুটিটি ইউজারডবিতে সনাক্ত করেছি:

userdb {
  driver = passwd
}

যখন কোনও স্থানীয় ব্যবহারকারী (নন-ভার্চুয়াল) এক্সিম-> এলএমটিপি-র মাধ্যমে কোনও ইমেল পান তখন এতে ডোমেন অন্তর্ভুক্ত থাকে। Auth_username_format =% Ln সংজ্ঞা দেওয়া লোকাল ডেলিভারি ঠিক করে তবে এটি ভার্চুয়াল বিতরণগুলি ভেঙে দেয়। আরগগুলি যোগ করার প্রস্তাবিত ফিক্স = ব্যবহারকারীর নাম_ফর্ম্যাট উপেক্ষা করা হবে বলে মনে হচ্ছে:

userdb {
  driver = passwd
  args = username_format=%n
}

এবং লগগুলি একটি সতর্কতা অন্তর্ভুক্ত করে

Apr  4 11:24:57 moe dovecot: auth: Warning: userdb passwd: Move templates args to override_fields setting

মজার বিষয় হল, পাসওড-ফাইল ব্যবহার করা কাজ করে তবে অউথ পাগল যে পাসডব্লু ফাইলটি রুটের মালিকানাধীন।

userdb {
  driver = passwd-file
  args = username_format=%n /etc/passwd
}

Apr  4 11:26:12 moe dovecot: auth: Error: passwd-file /etc/passwd: User root has invalid UID '0'
Apr  4 11:26:12 moe dovecot: auth-worker(6855): Error: passwd-file /etc/passwd: User root has invalid UID '0'

1

passwd-file: Unknown setting: username_format আমার জন্য কারণ অতিরিক্ত জায়গা ছিল:

passdb {
  driver = passwd-file
  args = scheme=SHA256-CRYPT **extra-space-here**username_format=%u /etc/dovecot/users
}

অর্থাৎ আমার সিআরওয়াইপিটি এবং ইউজারনামের মধ্যে দুটি স্পেস ছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.