এটি হল সেফক্যাট কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
safecat - নিরাপদে একটি ফাইলে ডেটা লিখুন
সাইনোপিসিস
নিরাপদ tempdir destdir
সূচনা
নিরাপদ একটি প্রোগ্রাম যা প্রফেসর ড্যানিয়েল বার্নস্টাইনের বাস্তবায়ন করে maildir অ্যালগরিদম থেকে
কপি stdin একটি নির্দিষ্ট ডিরেক্টরির মধ্যে একটি ফাইল নিরাপদে. সঙ্গে নিরাপদ, ব্যবহারকারী অফার করা হয়
দুটি আশ্বাস। প্রথম, যদি নিরাপদ একটি সফল প্রস্থান অবস্থা প্রদান করে, তারপর সমস্ত ডেটা হয়
গন্তব্য ডিরেক্টরিতে সংরক্ষিত হওয়ার নিশ্চয়তা। দ্বিতীয়ত, যদি একটি ফাইল বিদ্যমান থাকে
গন্তব্য ডিরেক্টরি, দ্বারা সেখানে স্থাপন করা হয়েছে নিরাপদ, তারপর ফাইল নিশ্চিত করা হয়
সম্পূর্ণ হয়েছে।
সাথে ডেটা সেভ করার সময় নিরাপদ, ব্যবহারকারী একটি গন্তব্য ডিরেক্টরি নির্দিষ্ট করে, কিন্তু একটি ফাইল নয়
নাম ফাইলের নাম দ্বারা নির্বাচিত হয় নিরাপদ নিশ্চিত করার জন্য যে কোনও ফাইলের নাম সংঘর্ষ না ঘটে,
এমনকি যদি অনেক নিরাপদ প্রক্রিয়া এবং অন্যান্য প্রোগ্রাম বাস্তবায়ন maildir অ্যালগরিদম হয়
একই সাথে ডিরেক্টরিতে লেখা। যদি নির্দিষ্ট ফাইলের নাম পছন্দ হয়, তাহলে
ব্যবহারকারীর পরে ফাইলের নাম পরিবর্তন করা উচিত নিরাপদ সম্পূর্ণ করে সাধারণভাবে, সাথে ডেটা স্পুলিং করার সময়
নিরাপদ, একটি একক, পৃথক প্রক্রিয়ার নামকরণ, সংগ্রহ এবং মুছে ফেলা উচিত
নথি পত্র. এই ধরনের প্রক্রিয়ার উদাহরণ হল ডেমন, ক্রন জব এবং মেল রিডার।
নির্ভরযোগ্যতা সমস্যা
ডিস্কে ডেটা লেখার সময় একটি মেশিন ক্র্যাশ হতে পারে। সহ অনেক প্রোগ্রামের জন্য
অনেক মেল ডেলিভারি এজেন্ট, এর মানে হল যে ডেটা নীরবে কেটে ফেলা হবে। ব্যবহার
প্রফেসর বার্নস্টাইনের maildir অ্যালগরিদম, প্রতিটি ফাইল সম্পূর্ণ বা অস্তিত্বহীন নিশ্চিত করা হয়।
অনেক লোক বা প্রোগ্রাম একটি সাধারণ "স্পুল" ডিরেক্টরিতে ডেটা লিখতে পারে। সিস্টেমের মত mh-
মেইল একটি ডিরেক্টরিতে সংখ্যাসূচক নাম ব্যবহার করে ফাইল সংরক্ষণ করুন। ফাইলে অসতর্কভাবে লিখতে পারেন
একটি সংঘর্ষের ফলে, যার মধ্যে একটি লেখা সফল হয় এবং অন্যটি সফল হয় বলে মনে হয়
ব্যর্থ হয় এই সমস্যাটি সমাধান করার জন্য সাধারণ কৌশলগুলির মধ্যে লক ফাইল বা অন্যান্য তৈরি করা জড়িত
সিঙ্ক্রোনাইজিং মেকানিজম, কিন্তু এই ধরনের মেকানিজম ব্যর্থতার সাপেক্ষে। যে কেউ আছে
নেটস্কেপ শুরু করার জন্য $HOME/.netscape/lock মুছে ফেলা হয়েছে এটি প্রমাণ করতে পারে। দ্য maildir
অ্যালগরিদম এই সমস্যা থেকে অনাক্রম্য কারণ এটি কোন লক ব্যবহার করে না।
দ্য মেইলদির অ্যালগরিথ
হিসাবে বর্ণিত maildir(২০১১), নিরাপদ প্রয়োগ করে maildir আলগোরিদিম ছয়ে ডেটা লিখে
পদক্ষেপ প্রথমত, এটা stat()s দুটি ডিরেক্টরি tempdir এবং destdir, এবং প্রস্থান না হলে উভয়ই
ডিরেক্টরি বিদ্যমান এবং লেখার যোগ্য। দ্বিতীয়ত, এটা stat()s নাম টেম্পডির/time.pid.host,
কোথায় সময় 1970 GMT এর শুরু থেকে সেকেন্ডের সংখ্যা, PID প্রোগ্রাম এর
প্রসেস আইডি, এবং নিমন্ত্রণকর্তা হোস্টের নাম। তৃতীয়, যদি পরিসংখ্যান () ছাড়া অন্য কিছু ফেরত দিয়েছে
ENOENT, প্রোগ্রামটি দুই সেকেন্ডের জন্য ঘুমায়, আপডেট হয় সময়, এবং চেষ্টা করে পরিসংখ্যান () আবার, ক
সীমিত সংখ্যক বার। চতুর্থত, প্রোগ্রাম তৈরি করে টেম্পডির/time.pid.host. পঞ্চম, দ
কার্যক্রম এনএফএস-লেখে ফাইলে বার্তা। ষষ্ঠ, প্রোগ্রাম লিঙ্ক()s ফাইল
destdir/time.pid.host. সেই মুহুর্তে ডেটা সফলভাবে লেখা হয়েছে।
উপরন্তু, নিরাপদ তৈরি করার আগে একটি 24-ঘন্টা টাইমার শুরু করে টেম্পডির/time.pid.host, এবং
টাইমার মেয়াদ শেষ হলে লেখাটি বাতিল করে। ত্রুটি, সময়সীমা, বা স্বাভাবিক সমাপ্তির উপর, নিরাপদ
প্রচেষ্টা লিঙ্কমুক্ত() টেম্পডির/time.pid.host.
প্রস্থান করুন স্থিতি
0 এর প্রস্থান অবস্থা (সফলতা) বোঝায় যে সমস্ত ডেটা নিরাপদে ডিস্কে প্রতিশ্রুতিবদ্ধ হয়েছে। ক
অ-শূন্য প্রস্থান অবস্থা ব্যর্থতা মানে বিবেচনা করা উচিত, যদিও একটি বাইরে আছে
সুযোগ যে নিরাপদ সফলভাবে তথ্য লিখেছেন, কিন্তু তাই মনে হয়নি.
আবার নোট করুন যে যদি একটি ফাইল গন্তব্য ডিরেক্টরিতে প্রদর্শিত হয়, তাহলে এটি নিশ্চিত করা হয়
সম্পূর্ণ হতে
If নিরাপদ সফলভাবে সম্পন্ন হয়, তারপর এটি নতুন তৈরি ফাইলের নাম মুদ্রণ করবে
(এর পথ ছাড়া) স্ট্যান্ডার্ড আউটপুটে।
প্রস্তাবিত অ্যাপ্লিকেশন
জন্য উত্তেজনাপূর্ণ ব্যবহার নিরাপদ প্রচুর পরিমাণে, স্পষ্টতই, কিন্তু একটি শব্দ কি প্রস্তাব করতে পারে
তারা হয়।
আপনি যদি লিনাক্স চালান এবং সেন্ডমেইলের পরিবর্তে qmail ব্যবহার করেন, তাহলে আপনার কনভার্ট করার কথা বিবেচনা করা উচিত
ইনবক্স করুন maildir এর উচ্চতর নির্ভরযোগ্যতার জন্য। আপনার হোম ডিরেক্টরি যদি NFS মাউন্ট করা হয়,
qmail আপনাকে ব্যবহার করতে বাধ্য করে maildir.
আপনি যদি ওয়ার্ল্ড ওয়াইড ওয়েবে ডেটা সংগ্রহ করার জন্য CGI অ্যাপ্লিকেশনগুলি লেখেন, আপনি খুঁজে পেতে পারেন
নিরাপদ দরকারী ওয়েব অ্যাপ্লিকেশন দুটি প্রধান সমস্যা ভোগ করে। তাদের পারফরম্যান্স
ইন্টারনেটের প্রতিটি স্টপেজ বা বাধার সম্মুখীন হয়; তারা পরিচয় দিতে পারে না
তাদের নিজস্ব কর্মক্ষমতা সমস্যা। অতিরিক্তভাবে, ওয়েব অ্যাপ্লিকেশনগুলি কখনই ছেড়ে যাবে না
একটি অসামঞ্জস্যপূর্ণ অবস্থায় সার্ভার এবং ডাটাবেস। এটি সম্ভবত, তবে, যদি CGI স্ক্রিপ্ট হয়
কিছু ডাটাবেস সরাসরি ফ্রব করুন - বিশেষ করে যদি ডাটাবেস ওভারলোড বা ধীর হয়। কি
ব্যবহারকারীরা বিরক্ত হয়ে "স্টপ" বা "ব্যাক" এ ক্লিক করলে কি ঘটে? হয়তো ডাটাবেস কার্যকলাপ
সম্পূর্ণ করে হতে পারে সিজিআই স্ক্রিপ্টটি মেরে ফেলা হয়েছে, ডিবিকে একটি অসামঞ্জস্যপূর্ণ অবস্থায় রেখে গেছে।
নিম্নলিখিত কৌশল বিবেচনা করুন। আপনার CGI স্ক্রিপ্ট একটি স্পুল এর অনুরোধ ডাম্প করুন
ডিরেক্টরি ব্যবহার করে নিরাপদ. অবিলম্বে ব্রাউজারে একটি রসিদ ফেরত দিন। এখন ব্রাউজার
একটি সম্পূর্ণ গ্যারান্টি আছে যে তাদের জমা দেওয়া হয়েছে, এবং অনুভূত কর্মক্ষমতা
আপনার ওয়েব অ্যাপ্লিকেশন সর্বোত্তম.
এদিকে, একটি স্পুলার ডেমন নতুন অনুরোধটি লক্ষ্য করে, এটি ছিনিয়ে নেয় এবং আপডেট করে
তথ্যশালা. ব্রাউজারদের জানানো যেতে পারে যে তাদের অনুরোধ X মিনিটের মধ্যে পূরণ করা হবে।
একটি কৌতুকপূর্ণ ইন্টারনেট থাকা সত্ত্বেও ফলাফল হল সর্বোত্তম কর্মক্ষমতা। উপরন্তু, ব্যবহারকারীরা পারেন
প্রায় 100% নির্ভরযোগ্যতা দেওয়া হবে।
উদাহরণ
সেন্ডমেইলকে ব্যবহার করতে রাজি করাতে maildir বার্তা বিতরণের জন্য, আপনার সাথে নিম্নলিখিত লাইনটি যোগ করুন
ফরোয়ার্ড ফাইল:
|নিরাপদ হোম/মেইলডির/টিএমপি হোম/মেইলডির/নতুন || প্রস্থান 75 #ব্যবহারকারীর নাম
কোথায় নিরাপদ এর সম্পূর্ণ পথ নিরাপদ প্রোগ্রাম। হোম এর সম্পূর্ণ পথ
আপনার হোম ডিরেক্টরি, এবং ব্যবহারকারীর নাম আপনার লগইন নাম. এই পরিবর্তন করা অর্থ প্রদানের সম্ভাবনা আছে
বন্ধ অনেক ক্যাম্পাস এবং কোম্পানি NFS সহ ব্যবহারকারীর হোম ডিরেক্টরি মাউন্ট করে। ব্যবহার maildir থেকে
আপনার ইনবক্স ফোল্ডারে ডেলিভারি নিশ্চিত করতে সাহায্য করে যে কিছু NFS এর কারণে আপনার মেল হারিয়ে যাবে না
ত্রুটি. অবশ্যই, আপনি যদি একজন সিস্টেম অ্যাডমিনিস্ট্রেটর হন, তাহলে আপনার সুইচ করার কথা বিবেচনা করা উচিত
qmail
একটি প্রোগ্রাম চালাতে এবং কিছু ডিরেক্টরিতে নিরাপদে এর আউটপুট ধরতে, আপনি একটি শেল ব্যবহার করতে পারেন
নিচের মত স্ক্রিপ্ট।
#!/ বিন / বাশ
MYPROGRAM=cat # আপনি যে প্রোগ্রামটি চালাতে চান
TEMPDIR=/ tmp -র পরিবর্তে # একটি অস্থায়ী ডিরেক্টরির নাম
DESTDIR=$HOME/work/data # তথ্য সংরক্ষণের জন্য ডিরেক্টরি
try() { $* 2>/dev/null || ইকো নং 1>&2 }
সেট `( $MYPROGRAM চেষ্টা করুন | নিরাপদে $TEMPDIR $DESTDIR চেষ্টা করুন ) 2>&1`
পরীক্ষা "$?" = "0" || প্রস্থান -1
পরীক্ষা "$1" = "না" && { rm -f $DESTDIR/$2; প্রস্থান -1; }
এই স্ক্রিপ্টটি শেল দিয়ে সুরক্ষিত প্রোগ্রাম লেখার অসুবিধাগুলিকে চিত্রিত করে। দ্য
স্ক্রিপ্ট অনুমান করে যে আপনার প্রোগ্রাম কিছু আউটপুট তৈরি করতে পারে, কিন্তু তারপর সম্পূর্ণ করতে ব্যর্থ হয়।
জন্য কোন উপায় নেই নিরাপদ আপনার প্রোগ্রাম সফলভাবে সম্পন্ন হয়েছে কি না তা জানতে,
শেলের শব্দার্থবিদ্যার কারণে। ফলস্বরূপ, safecat একটি ফাইল তৈরি করতে পারে
ডেটা ডিরেক্টরি যা "সম্পূর্ণ" কিন্তু দরকারী নয়। শেল স্ক্রিপ্ট ফাইলটি মুছে দেয়
যে ক্ষেত্রে
আরো সাধারণভাবে, ব্যবহার করার সবচেয়ে নিরাপদ উপায় নিরাপদ একটি সি প্রোগ্রামের মধ্যে থেকে যা আহ্বান করে
সঙ্গে নিরাপদ কাঁটাচামচ () এবং execve(). অভিভাবক প্রক্রিয়া সহজভাবে করতে পারেন হত্যা () দ্য নিরাপদ
কোনো সমস্যা হলে প্রক্রিয়া করুন, এবং ঐচ্ছিকভাবে আবার চেষ্টা করতে পারেন। এই যেতে হবে কিনা
সমস্যা নির্ভর করে আপনি আপনার ডেটা সুরক্ষিত করার বিষয়ে কতটা গুরুতর তার উপর। যেভাবেই হোক, নিরাপদ
আপনার ডেটা প্রবাহে দুর্বল লিঙ্ক হবে না।
onworks.net পরিষেবাগুলি ব্যবহার করে অনলাইনে safecat ব্যবহার করুন