নির্দিষ্ট শেল সেশনের জন্য তারিখটি জালিয়াতি


30

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

কোন ধারনা ?

উত্তর:


27

আপনি কেবল এক্সিকিউটেবল faketime(উবুন্টু সংগ্রহস্থল থেকে sudo apt-get install faketime) এর মাধ্যমে ব্যবহার করতে পারেন :

faketime -f "-15d" date

এমনকি পুরো শেলটিতে নকল সময়ও

faketime -f "-15d" bash -l

1
কাইল ব্রেন্ট 2010 সালে ফিরে এই উত্তরটি বেশ পোস্ট করেছে । দয়া করে আপনার উত্তরটিকে এমনভাবে প্রসারিত করতে সম্পাদনা করুন যা এটি বিদ্যমান উত্তরগুলির থেকে একেবারে পৃথক করে তোলে।
— একটি সিভিএন

5
আমার সমাধান লাইব্রেরি প্রিললোড ব্যবহারের চেয়ে অনেক সহজ, কারণ কাইল ব্রেন্ট উত্তর দিয়েছে কারণ লাইবফেকটাইম .এসও ফাইলের অবস্থান খুব নির্দিষ্ট এবং এটি লিনাক্স বিতরণ এবং প্যাকেজ পরিচালকদের উপর নির্ভর করে।
— ই

3
@ মাইকেলKjörling এই উত্তরটি কাইল ব্রেন্টের মতো নয়।

1
@ মাইকেলKjörling এই উত্তরটি কাইল ব্রেন্টের চেয়ে উল্লেখযোগ্যভাবে সহজ।
— কেন শার্প

29

এটি এখনও চেষ্টা করে দেখেনি। তবে এটি যদি বর্তমান হয় তবে দেখে মনে হচ্ছে কেউ ইতিমধ্যে লাইব্রেরি লিখেছেন আপনি লাইবফেকটাইম দিয়ে প্রিলোড করতে পারবেন ।

প্রাথমিক ব্যবহারটি হ'ল:

user@host> LD_PRELOAD=/usr/local/lib/libfaketime.so.1 FAKETIME="-15d" date
Mon Nov  8 12:01:12 CEST 2007

ltraceআপনার অ্যাপ্লিকেশনটি যে সময় ব্যবহার করে তা কভার করা হয়েছে তা নিশ্চিত করতে আপনি ব্যবহার করতে পারেন ।


7

আপনি টিজেড ভেরিয়েবলকে একটি বিজোড় মানকে সেট করতে পারেন।

$ date
Tue May  4 06:24:43 CDT 2010
$ date -u
Tue May  4 11:24:47 UTC 2010
$ export TZ='CDT-3:12'
$ date
Tue May  4 14:36:53 CDT 2010
$ export TZ='CDT+5:37'
$ date
Tue May  4 05:48:00 CDT 2010

1
চতুর কৌশল, তবে এটি কেবল সময় অঞ্চলকে সংশোধন করে, সুতরাং এইভাবে আপনি [-12 ঘন্টা, + 11 ঘন্টা] সীমাতে সীমাবদ্ধ।
— নিকোলাজ

1
@নিকৌলজ date Thu Aug 9 12:12:50 CDT 2018, `টিজেড = 'ইউটিসি + 120: 00' তারিখ শনি 4 আগস্ট 09:00:47 ইউটিসি 2018 , টিজেড = 'ইউটিসি-120: 00' তারিখ মঙ্গলবার আগস্ট 14 09:01:41 ইউটিসি 2018`` মোটামুটি + - এক সপ্তাহ
— ফিল pirozhkov

3

বিকল্প লাইব্রেরি রয়েছে এমন লাইব্রেরি আপনি প্রিললোড করতে সক্ষম হতে পারেন time()।


1
প্রোগ্রামটি (গুলি) কীভাবে বর্তমান সময়ে অ্যাক্সেস করে তার উপর নির্ভর করে আপনাকে গেটটাইমডে, ক্লক_জেটটাইম এবং / অথবা সম্ভবত অন্যদের বিকল্প বাস্তবায়ন প্রিলোড করতে হতে পারে, তবে হ্যাঁ, আমি এই পদ্ধতির আগে সাফল্যের সাথে ব্যবহার করেছি।
— কেজেটিল জোর্জেনসেন

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