কোনও ব্যবহারকারীর দ্বারা নির্বাহিত প্রতিটি কমান্ড আমি কীভাবে লগ করব?


32

আমি আমার সার্ভারে সমস্ত ব্যবহারকারীর ক্রিয়াকলাপ পর্যবেক্ষণ করতে চাই।

এমনকি যখন ব্যবহারকারী কোনও ভিএম এর মতো কিছু সম্পাদক থেকে শেল কমান্ড কার্যকর করে আমি লগ ফাইলে তাদের দেখতে চাই।

আমি টুলটি অ্যাক্টটি পরীক্ষা করেছি তবে এটি সম্পূর্ণ কমান্ডের তালিকা দিচ্ছে না। (যদি আমি ইতিমধ্যে কিছু বিকল্প মিস করে থাকে তবে আমাকে সংশোধন করুন)

এই সমস্যাটি সমাধান করার জন্য আমার কোন লিনাক্স সরঞ্জামটি দেখতে হবে?


1
। ম্যান স্ক্রিপ্ট (1)
অ্যাডাপ্ট্র

একটি সময়ে কটাক্ষপাত আছে serverfault.com/questions/323270/... এবং serverfault.com/questions/242842/...
খালেদ

একটি চমৎকার রেফারেন্স 8gwifi.org/docs/linux-monitor-commands.jsp
আনিশ

উত্তর:


32

লগইনগুলির জন্য দায়ী আপনার পাম কনফিগারেশনে এই লাইনটি যুক্ত করুন (রেডহাট ভিত্তিক ডিস্ট্রোজে এটির সিস্টেম-লেখক)

session    required     pam_tty_audit.so enable=*

কী করা হয়েছিল তা জানতে, আপনি ব্যবহার করতে পারেন।

ausearch -ts <some_timestamp> -m tty -i

এটি এর ফলে একটি আউটপুট উত্পাদন করে:

 type=TTY msg=audit(11/30/2011 15:38:39.178:12763684) : tty pid=32377 uid=root
 auid=matthew major=136 minor=2 comm=bash data=<up>,<ret>

এর একমাত্র নেতিবাচক দিকটি পড়া কিছুটা কঠিন হতে পারে তবে এটি বেশিরভাগ প্রস্তাবিত সমাধানগুলির চেয়ে অনেক ভাল কারণ তত্ত্বের ভিত্তিতে এটি একটি সম্পূর্ণ অধিবেশন রেকর্ড করতে ব্যবহৃত হতে পারে, সবগুলিই মেশানো।

সম্পাদনা: ওহ এবং আপনি আরও কার্যকর হতে পারে এমন একটি তালিকা তৈরি করতে অরপোর্ট ব্যবহার করতে পারেন।

# aureport --tty
...
12. 11/30/2011 15:50:54 12764042 501 ? 4294967295 bash "d",<^D>
13. 11/30/2011 15:52:30 12764112 501 ? 4294967295 bash "aureport --ty",<ret>
14. 11/30/2011 15:52:31 12764114 501 ? 4294967295 bash <up>,<left>,<left>,"t",<ret>

বিশদ জন্য ধন্যবাদ। আমি উবুন্টু 10.04 এলটিএস ব্যবহার করছি যখন আমি ফোল্ডারটি / চেক / সুরক্ষা / মডিউলটি পরীক্ষা করি তখন মডিউলটি উপস্থিত না থাকে তবে সেই মডিউলটির জন্য একটি ম্যান পৃষ্ঠা উপস্থিত থাকে। আমি মনে করি যে আমি এই বাগটি আঘাত করেছি lalaunchpad.net/ubuntu/+source/pam/+bug/588547 আমি এই মডিউলটি ইনস্টল করার মতো অন্য কোনও উপায় আছে কি?
সুপ্রতিক

বাগ রিপোর্টটিতে একটি স্থির প্রস্তাব দেয় এবং আপডেট বিতরণ করা হয়।
ম্যাথু আইফে

@ মিলেফ আমি পিএএম উত্স কোডটি সংকলন করেছি এবং / লিব / সুরক্ষা / তে .so ফাইলটি অনুলিপি করেছি এবং এটি কার্যকর হয়েছে। আবার ধন্যবাদ.
সুপ্রতিক

1
@CameronKerr: পাসওয়ার্ড সমস্যা সংশোধন করা হয়: redhat.com/archives/linux-audit/2013-May/msg00007.html
Yohann

3
দ্রষ্টব্য, এটি উল্লেখ করার মতো যে উপরে কাজ করার জন্য auditdডেমনটিকে প্রথমে সক্ষম করা দরকার (এটি আমার সেন্টোস 7.7 ইনস্টলটিতে ডিফল্টরূপে হয়নি)। ডিমনটি শুরু করতে, ব্যবহার করুন: service auditd startএবং এই পরিবর্তনটি অবিরাম করতে (পুনরায় বুট করার পরে), chkconfig auditd on উত্স: access.redhat.com/docamentation/en-US/Red_Hat_Enterprise_Linux/… এবং অ্যাক্সেস.
জনি

8

আপনার সমস্যার সর্বোত্তম সমাধান হ'ল লিনাক্স অন্তর্নির্মিত নিরীক্ষণ সিস্টেম। man 8 auditdআরও তথ্যের জন্য এই পৃষ্ঠাটি ব্যবহার করুন বা চেক করুন: http://linux.die.net/man/8/auditd

এছাড়াও, আপনি এই টিউটোরিয়ালটি পরীক্ষা করতে পারেন - যদিও এটি আপনার প্রশ্নের ক্ষেত্রের বাইরে কিছুটা দূরে রয়েছে, এটি অডিট সিস্টেমটি কীভাবে কাজ করে তা দেখায়।


2

আপনি স্নোপি ব্যবহার করতে পারেন ।

এটি একটি সাধারণ কমান্ড লগিং গ্রন্থাগার, এবং সঠিক নিরীক্ষণের সমাধান নয় (সহজেই সাজানো)। প্রকাশ: আমি বর্তমান স্নোপি রক্ষণাবেক্ষণকারী।


2

একটি স্বল্প পরিচিত কৌশল, তবে সহজেই সর্বাধিক বিস্ময়কর হ'ল কেবল অন্তর্নির্মিত নিরীক্ষণের ক্ষমতাগুলি ব্যবহার করা sudo। সুডো একটি sudoreplayকমান্ডের সাহায্যে জাহাজগুলি পুনরায় খেলানো সেশনগুলি সহজ করে তোলে। এটি এমনকি vimসেশনগুলি রিলে করবে (আপনার পরামর্শ অনুসারে)।

এটি কয়েকটি সহজ পদক্ষেপে কীভাবে ব্যবহার করবেন তা এখানে:

  1. sudoshআপনার সিস্টেমে ইনস্টল করুন; এটি হ'ল sudoকমান্ডের চারপাশে একটি শেল মোড়ক যা ব্যবহারকারীকে sudoনিজের করে তোলে (না root) এবং এটি সিস্টেম লগইন শেল হিসাবে ব্যবহৃত হতে পারে
  2. sudoলগিং সক্ষম করুন । সম্পাদনা করুন /etc/sudoers.d/sudosh: Defaults log_output Defaults!/usr/bin/sudoreplay !log_output Defaults!/sbin/reboot !log_output

  3. /etc/shellsএটি ব্যবহার করে লগইন করার জন্য এই আদেশটি যুক্ত করুন : /usr/bin/sudosh

    টিপ : ব্যবহারকারীদের লগইন করতে অন্যান্য শেল ব্যবহার থেকে বিরত রাখতে, অন্য শেলগুলি এখান থেকে সরান /etc/shells

  4. শেলটি foobarব্যবহার করতে ব্যবহারকারীকে আপডেট করুন sudosh chsh -s /usr/bin/sudosh foobar

আরও বিশদ তথ্যের জন্য, দেখুন: https://github.com/cloudposse/sudosh/


1

এখানে একটি যাদু সমাধান রয়েছে: http://www.cyberciti.biz/tips/howto-log-user-activity- using-process- accounting.html

  • Yum ইনস্টল psacct (redhat)
  • sudo apt-get ইনস্টল acct

আপনি ব্যবহারকারী কমান্ড / সংযোগ ইত্যাদি সম্পর্কে পরিসংখ্যান প্রদর্শন করতে পারেন।

প্রদত্ত ব্যবহারকারীর দ্বারা আহবান করা সমস্ত কমান্ডের তালিকা করুন ...

কমান্ড নাম দ্বারা অ্যাকাউন্টিং লগ অনুসন্ধান করুন: $ সর্বশেষকম আরএম $ সর্বশেষকম পাসউড

এবং আরও, আরও তথ্যের জন্য দয়া করে উপরের লিঙ্কটি দেখুন ..


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