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


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.