আমি কীভাবে সমস্ত ব্যবহারকারীর দ্বারা জমা দেওয়া সমস্ত ইউনিক্স শেল কমান্ড লগ করব?


8

কোনও মেশিনে সমস্ত শেলের মধ্যে জমা দেওয়া প্রতিটি কমান্ড লগ করার জন্য কি কোনও দুর্দান্ত উপায় আছে? এটি প্রায়শই ব্যবহৃত উবুন্টু সার্ভারের প্রসঙ্গে, যার মধ্যে আমি একমাত্র মানব ব্যবহারকারী। (অটোমেটেড সিস্টেম দ্বারা ব্যবহৃত বেশ কয়েকটি ব্যবহারকারীর অ্যাকাউন্ট রয়েছে))

আমি এটি নিরর্থক এবং কম ওভারহেড হতে চাই, তাই আমি যদি ভালো কিছু জড়িত একটি সহজ পদ্ধতি থাকে তবে আমি এটি পছন্দ করব script

উত্তর:


9

ভোর হওয়ার পর থেকে (প্রকৃতপক্ষে সেই সময় থেকে মানুষ যখন ব্যবহার করা কম্পিউটার চক্রের জন্য প্রকৃত অর্থ প্রদান করতে হয়েছিল) ইউনিক্স এবং এর ক্লোনগুলির মধ্যে প্রসেস অ্যাকাউন্টিং ( acct) অন্তর্নির্মিত একটি সিস্টেম রয়েছে যা সিস্টেম প্রশাসকদের ঠিক জানতে পেরেছিল to তাদের ব্যবহারকারীরা কী করছে এবং তাই সেই অনুযায়ী তাদের বিল দিতে পারে।

acctসুবিধা এখনও এই দিন সবচেয়ে ইউনিক্স এবং লিনাক্স অপারেটিং সিস্টেমে বিদ্যমান।

এই সাইটটি: http://www.cyberciti.biz/tips/howto-log-user-activity- using- process- accounting.html আপনাকে কীভাবে এটি সক্ষম করবেন তা আপনাকে জানায়।


কোন ইউজারটি sudo এবং su সম্পাদন করে এবং এরপরে রুটের কোন আদেশ দেয় তা লগ করতেও এটি ব্যবহার করা যেতে পারে?
ড্যানিয়েল অঙ্গুলিনির্দেশ

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

আপনাকে ধন্যবাদ, আমি এই বৈশিষ্ট্যটি সম্পর্কে সম্পূর্ণ অসচেতন ছিলাম। ম্যান পৃষ্ঠাগুলির একটি দ্রুত পঠন থেকে বোঝা যায় যে লো-ডিস্ক-স্পেস শর্তটি না পৌঁছানো অবধি লগইন অব্যাহত থাকে - সুতরাং সম্ভবত লোগ্রোটেট স্ক্রিপ্টের প্রয়োজন।
jl6

আমি ভেবেছিলাম প্রক্রিয়া অ্যাকাউন্টিংটি সবেমাত্র লগইন করে কোন প্রোগ্রামটি চলল, কমান্ডটি তার সমস্ত যুক্তি সহ নয়?
সাইরেক্স

2

সমস্ত শেল কমান্ড লগ করার জন্য এখানে একটি দুর্দান্ত এবং দ্রুত উপায় :

ধাপ 1:

/ Etc / bashrc খুলতে এবং শেষে নীচের লাইনটি যুক্ত করতে আপনার প্রিয় পাঠ্য সম্পাদকটি ব্যবহার করুন:

export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'

ধাপ ২:

/Etc/syslog.conf ফাইলে এই লাইনটি যুক্ত করে স্থানীয় 6 কে একটি লগ ফাইলে ফাঁসানোর জন্য সিসলগারকে সেট করুন:

local6.*                /var/log/cmdlog.log

[সম্পূর্ণ ব্লগ পোস্ট এখানে দেখুন]


আমি সতর্ক করে দিয়েছি ব্যবহারকারী ভেরিয়েবলটি পুনরায় সেট করতে অক্ষম করতে সক্ষম হবে এবং কারণ "প্রতিটি প্রাথমিক প্রম্পট দেওয়ার আগে এটি কার্যকর করা হয়েছিল" এই সত্যটি লগ করা হবে না।
ডিএমকেই --- প্রাক্তন-মডারেটর বিড়ালছানা

2

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

এটি ইনস্টল করা এবং অপসারণ করা খুব সহজ (কোনও কার্নেল মডিউল বা প্যাচিংয়ের প্রয়োজন নেই)। মনে রাখবেন যে এটি কোনও উপযুক্ত অডিটিং সমাধান নয় এবং এটি সহজেই পরিবেষ্টন করা যায়।

প্রকাশ: আমি বর্তমান স্নোপি রক্ষণাবেক্ষণকারী।


বোস্টজান স্কুফকা এখানে উবুন্টুতে স্নোপি ইনস্টল করার জন্য এবং একই থ্রেডে এখানে অতিরিক্ত মন্তব্যেও অতিরিক্ত নির্দেশনা সরবরাহ করেছেন ।
কারেল

স্নোপির জন্য +1; এটি /var/log/auth.log- এ কমান্ড এবং যুক্তিগুলির একটি দুর্দান্ত লগ সরবরাহ করে
ডেভিড গুডউইন

1

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

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