vsftpd পাম প্রমাণীকরণ ব্যর্থ


13

ফেডোরা 16 দিয়ে একটি নতুন সার্ভারে একটি ট্রাই-অ-ট্রু ভার্সফ্টপিডি কনফিগারেশন স্থানান্তরিত করে আমি একটি সমস্যায় পড়েছি। সবগুলি এটির মতো চলবে বলে মনে হয় তবে ব্যবহারকারী প্রমাণীকরণ ব্যর্থ হয়। আমি কোনও লগের মধ্যে এমন কোনও এন্ট্রি খুঁজে পাই না যা ঘটেছিল তা নির্দেশ করে।

এখানে সম্পূর্ণ কনফিগারেশন ফাইল রয়েছে:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=0
data_connection_timeout=0
nopriv_user=ftpsecure
connect_from_port_20=YES
listen=YES
chroot_local_user=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_ipv6=NO

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

এফটিপি আমাকে একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডের জন্য চ্যালেঞ্জ জানায়, আমি তাদের সরবরাহ করি, লগইন ভুল। আমি যাচাই করেছি, এই ব্যবহারকারী ssh থেকে লগইন করতে সক্ষম। কিছু দিয়ে স্ক্রু করা হয় pam_service

বেনামে (যদি পরিবর্তে অনুমতি দেওয়া হয়) ভাল কাজ করছে বলে মনে হচ্ছে।

সেলিনাক্স অক্ষম।

Ftpsecure জরিমানা কনফিগার করা আছে বলে মনে হচ্ছে ... আমি একটি সম্পূর্ণ ক্ষতিতে আছি!

সফলতা ছাড়াই আমি লগ ফাইলগুলি পরীক্ষা করেছি:

/var/log/messages
/var/log/xferlog      #empty
/var/log/vsftpd.log   #empty
/var/log/secure

এতে কিছু পাওয়া গেছে /var/log/audit/audit.log:

type=USER_AUTH msg=audit(1335632253.332:18486): user pid=19528 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="kate" exe="/usr/sbin/vsftpd" hostname=ip68-5-219-23.oc.oc.cox.net addr=68.5.219.23 terminal=ftp res=failed'

সম্ভবত আমার দিকে তাকানো উচিত /var/log/wtf-is-wrong.help :-)

আরও তথ্য:

/etc/pam.d/vsftpd এর মতো দেখাচ্ছে:

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

1
পিএএম কনফিগারেশন কী (( /etc/pam.d/vsftpdআমার মনে হয়))?
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

চেষ্টা করুন /var/log/syslogবা dmesg
হ্যালো 71

প্যাম কনফিগারেশন: সেশন alচ্ছিক pam_keyinit.so বলপূর্বক প্রত্যাহার প্রমানের প্রয়োজন .so অধিবেশনটিতে পাসওয়ার্ড-
লেখার

উত্তর:


24

রক্ষে। আমি সমস্যার সমাধান করেছি। এটি একটি কনফিগার এর পরিমাণ তবে /etc/pam.d/vsftpd এর মধ্যে

কারণ এসটিএস সেশনগুলি সফল হয়েছিল যখন এফটিপি সেশনগুলি ব্যর্থ হয়েছিল, আমি গিয়েছিলাম

/etc/pam.d/vsftpd, সেখানে থাকা সমস্ত কিছু মুছে ফেলেছে এবং নিয়মগুলি সঠিকভাবে মেলে দেওয়ার জন্য ./sshd এর বিষয়বস্তু রেখে দিয়েছে। সব কাজ!

নির্মূলের পদ্ধতিতে, আমি খুঁজেছি যে আপত্তিজনক লাইনটি ছিল:

    auth       required     pam_shells.so

এটি সরানো আমাকে অগ্রসর হতে দেয়।

টান আউট, "পাম_শেলস একটি প্যাম মডিউল যা কেবল ব্যবহারকারীদের শেলটি / ইত্যাদি / শেলের মধ্যে তালিকাভুক্ত থাকলে সিস্টেমে অ্যাক্সেসের অনুমতি দেয়" " আমি সেখানে তাকিয়েছি এবং যথেষ্ট নিশ্চিত, কোন বাশ, কিছুই নেই। এটি আমার মতে vsftpd কনফিগারেশনের একটি বাগ যা ডকুমেন্টেশনে কোথাও নেই যে আপনি এতে সম্পাদনা / ইত্যাদি / শেলস করতে পারেন না। সুতরাং ডিফল্ট ইনস্টলেশন এবং নির্দেশাবলী যেমন বলা কাজ করে না।

আমি এখনই বাগটি জমা দিতে পারব যেখানে সন্ধান করব।


/ ইত্যাদি / শেলগুলি সাধারণত গ্রহণযোগ্য শেলগুলির একটি তালিকা ধারণ করে। এটি বেশ কয়েকটি পৃথক সাবসিস্টেম ব্যবহার করে এবং এটি সঠিক বলে আশা করা হচ্ছে। এই ফাইলটি vsftpd দ্বারা তৈরি বা রক্ষণাবেক্ষণ নয়, বরং আপনার ডিস্ট্রোর মূল সেটআপ দ্বারা by সুতরাং এটি কোনও ভার্স্টপিডি বাগ নয়, এটি আপনার কম্পিউটারের সেটআপ সহ একটি বাগ।
টাইলার

Thanksশ্বরের ধন্যবাদ! আমার দেখা উচিত ছিল যে ব্যবহারকারীর শেল হিসাবে / sbin / nologin এর সাথে মিলে থাকা লগ ইন করতে অক্ষম ...
মায়ারওন

তোমাকে অনেক ধন্যবাদ! আপনার সম্পর্কে আপনার মন্তব্য /etc/shellsআমাকে এই অদ্ভুত আচরণ পরিবর্তনের কারণ খুঁজতে সাহায্য করেছে। এফটিপি-ব্যবহারকারীর সাহায্যে তৈরি করা হয়েছিল Shell: /sbin/nologinএবং /sbin/nologinসেখান থেকে সরানো হবে /etc/shells। সুতরাং আমি লাইনগুলি যুক্ত করেছি /sbin/nologinএবং /usr/sbin/nologinএটি auth required pam_shells.soকাজও করেছে।
বোডো হুগো বারউইচ

4

আমি উবুন্টু ব্যবহার করছি এবং একই সমস্যা ছিল

সমাধান:

add-shell /sbin/nologin
sudo usermod -s /sbin/nologin ftpme
sudo vi /etc/pam.d/vsftpd

তারপরে মন্তব্য করুন এবং নীচের হিসাবে লাইন যুক্ত করুন

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/ftpusers  onerr=succeed
auth       required     pam_shells.so
#auth       include      password-auth
#account    include      password-auth
#session    required     pam_loginuid.so
#session    include      password-auth
@include common-auth
@include common-account
@include common-password
@include common-session

0

আপনি নিজের উত্তরে যেমন উল্লেখ করেছেন, ব্যবহারকারীর শেলটি তালিকাভুক্ত করা উচিত /etc/shells/sbin/nologinপ্যাম কনফিগারেশন পরিবর্তন না করে আপনি ssh নিষেধ করতে এবং ftp অনুমতি দিতে ব্যবহারকারীর শেল হিসাবে সেট করতে পারেন :

usermod -s /sbin/nologin restricted_ftp_user

0

যদি vsftpd এর ত্রুটির সাথে ব্যর্থ হয়

vsftpd.service: নিয়ন্ত্রণ প্রক্রিয়াটি প্রস্থান হয়েছে, কোড = বহির্গমন স্থিতি = 2

তারপরে আর একটি সম্ভাবনা ফাইলের pasv_addr_resolve=YESমধ্যে সেট করা আছে কিনা তা পরীক্ষা করা /etc/vsftpd/vsftpd.conf। এটি এফটিপি সার্ভারের হোস্টনামটি ডিএনএসের মাধ্যমে সমাধান করার কারণ ঘটায়। ডিএনএস না সমা ধান যদি তুমি না পারো যদি চান তাহলে ping yourhostname.example.com, তারপর আপনি যে DNS সমাধানের সমস্যা বা সেট সমাধান করতে হবে pasv_addr_resolve=NOসালে /etc/vsftpd/vsftpd.confএবং এটি অন্তত ত্রুটি ছাড়া শুরু vsftpd -র যাক উচিত।


0

আমি একই অদ্ভুত আচরণেও ছুটে এসেছি যেখানে কোনও এফটিপি-ব্যবহারকারী কনফিগার করেছেন

# finger <user>
Login: <user>                   Name: 
Directory: /home/user-dir           Shell: /sbin/nologin
Never logged in.
No mail.
No Plan.

একটি সিস্টেমে লগ ইন করতে সক্ষম হয় এবং অন্যটিতে নেই।

@ কেটইয়াকের উত্তরের প্রতিরোধে এটি প্রমাণিত হয়েছে যে /etc/shellsফাইলটি আলাদা এবং /sbin/nologinশেলটি অন্তর্ভুক্ত করে না । যা PAM প্রমাণীকরণ তৈরি করেছে/etc/pam.d/vsftpd

auth       required     pam_shells.so

Fail

কেবল /etc/shellsফাইলটি যুক্ত করে নিখোঁজ রেখাগুলি

/sbin/nologin
/usr/sbin/nologin

চেক ইন /etc/pam.d/vsftpdকাজ।

সুতরাং একটি কার্যকারী /etc/shellsফাইলের থাকা উচিত:

# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

0

আমার ক্ষেত্রে আমি /etc/pam.d/vsftpd কনফিগারেশন ফাইলে লেখার লেখার পক্ষে মন্তব্য করেছি

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/f$
#auth       required    pam_shells.so
auth       include  password-auth
account    include  password-auth
session    required     pam_loginuid.so
session    include  password-auth

এখানে আপনি কারণ। আপনি যদি শেল সিস্টেম হিসাবে / এসবিন / নোলোগিন যুক্ত করেন তবে আপনি সম্ভবত আপনার সিস্টেমে একটি অযাচিত পিছনে যেতে পারেন। পরিবর্তে, এই ফাইলটি পরিবর্তন করে আপনি অবশ্যই vsftpd প্রভাবিত করেন ।

যদি মত অন্য প্রক্রিয়া আমি জানি না sshd কমান্ড সিস্টেম শাঁস জন্য দেখায়, কিন্তু আমি pam.d ফাইল পরিবর্তন মনে অন্যদের চেয়ে ভাল সমাধান।


-2

পরিবর্তন করার আগে কনফিগারেশন ফাইলটির ব্যাকআপ নিন;

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.back

এবং তারপরে vsftpd.conf সম্পাদনা করুন (vi বা ন্যানো সহ)

nano /etc/vsftpd.conf

তারপরে নিম্নলিখিত পরিবর্তন করুন

pam_service_name=ftp

আপনার পরিবর্তনটি সংরক্ষণ করুন এবং এফটিপি সার্ভারটি পুনরায় চালু করুন (আপনি যদি ন্যানো ব্যবহার করেন CTRL + O টি সংরক্ষণ করুন এবং প্রস্থান করতে CTRL + X ব্যবহার করুন)

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