chmod 1,2 এবং 4, তারা ঠিক কী করে?


0

আমি কেবল পঠন, কেবল লিখতে, বা কেবল সম্পাদন করার অনুমতি, এবং এর অর্থ কী তা নিয়ে ভাবছিলাম।

আমার যদি কেবল লেখার অনুমতি থাকে তবে তার অর্থ কি আমি ফাইলের বিষয়বস্তুগুলিতে সংযোজন করতে বা প্রতিস্থাপন করতে পারি, তবে বর্তমান সামগ্রীগুলি পড়তে পারি না?

আরও বিভ্রান্তিকর: আমি যদি কেবলই পড়ে থাকি তবে কেন আমি কেবল ফাইলটি অনুলিপি করে তা সম্পাদন করতে পারি না? এমন কোনও কারণ আছে যা পড়ার অনুমতি স্বয়ংক্রিয়ভাবে সম্পাদন করার অনুমতি দেয় না? কাউকে এক্সিকিউট করার অনুমতি না দেওয়ার কী লাভ, যদি তারা কেবল অন্য কোথাও ফাইলটি পেস্ট করে সেখানে চালিয়ে দিতে পারে?

এবং যদি তাদের কেবলমাত্র কার্যকর করার অনুমতি থাকে তবে এর অর্থ কী? কোনও ফাইল কার্যকর করার জন্য কি এটি দেখার দরকার হয় না?

এবং আমার শেষ প্রশ্ন: মৃত্যুদন্ড কার্যকর করার অনুমতি দেওয়া হলে এটি কোনও তাত্পর্যপূর্ণ কোথায়? একটি টেক্সট ফাইল কার্যকর করার অর্থ হয় না। উইন্ডোজ-তে উদাহরণস্বরূপ .exes, .bats ইত্যাদি রয়েছে। ইউনিক্স সিস্টেমে আমি কেবল .sh সম্পর্কে জানি। এক্সিকিউটেবল ফাইলগুলি সংজ্ঞায়িত করে এমন একটি নির্দিষ্ট সংখ্যক এক্সটেনশন রয়েছে? এখন যদি, আমি কিভাবে একটি স্পট করতে পারেন?

উত্তর:


0

ইউনিক্স chmod 1 = চালানো, পড়া 4 এবং লেখার 2 হয়।

যেকোনো কিছু chmod'ed করা যায় 1 এবং তারপরে বর্তমান শেলটি এটি চালানোর চেষ্টা করবে, আপনি কমান্ড হিসাবে এর নামটি টাইপ করতে পারেন। ফাইলটির শুরুতে কিছু ফাইল আছে "ম্যাজিক", যদি প্রথম দম্পতি অক্ষর হয় "#!" (শেবাং) তারপরে লাইনের পরবর্তী অংশটি চালানোর জন্য বাস্তব এক্সিকিউটেবলের পথ এবং শেলটিতে যাওয়ার কোনও বিকল্পের তালিকা করে। ফাইলটি পড়তে এবং কার্যকরভাবে চালনার জন্য পাঠ্য স্ক্রিপ্টটি কার্যকর করা বাইনারিগুলিতে প্রেরণ করা হয়।

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

যদি কোনও স্ক্রিপ্টটি কেবল 4 বা "পড়া" চিহ্নিত করা হয় তবে এটি আপনাকে আপনার টার্মিনালে ফাইলটি বিড়াল করার অনুমতি দেয়। হ্যাঁ আপনি শেল ইন্টারপ্রেটারে লাইনগুলি কীভাবে পাস করেছেন তার উপর নির্ভর করে আপনি এটিকে কার্যকর করতে পারেন, অনেকগুলি শেলের একটি প্রদত্ত ফাইল থেকে লাইনগুলি পড়তে এবং এটি চালানো যেমন স্ক্রিপ্টের মতো চালানোর জন্য এটির একটি কমান্ড লাইন বিকল্প রয়েছে।

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

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

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


0

এর মানে কি

সুরক্ষা অনুমতি অষ্টাল মান একটি বস্তুর উপর সুস্পষ্টভাবে পার্থক্যযুক্ত অনুমতিগুলি সেট করার অনুমতি দেয়। আপনি যে কোনও বিষয়বস্তুতে সেট করেছেন সেগুলি দিয়ে আপনি স্পষ্টভাবে পেতে পারেন chmod। এটি সম্পর্কে আরও বিশদের জন্য নীচের রেফারেন্সযুক্ত সারণীটি দেখুন।


আমি কি আছে

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


আপনার নিজের প্রয়োজন অনুযায়ী সেট করুন

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


সংখ্যাগত অনুমতি

Chmod সংখ্যাসূচক বিন্যাসটি চারটি অষ্টাল অঙ্ক গ্রহণ করে। তিনটি ডান সংখ্যক যথাক্রমে ফাইলের মালিক, গোষ্ঠী এবং অন্যান্য ব্যবহারকারীদের জন্য অনুমতিগুলি বোঝায়। ঐচ্ছিক নেতৃস্থানীয় অঙ্ক, যখন 4 সংখ্যা দেওয়া হয়, নির্দিষ্ট করে বিশেষ setuid, setgidএবং stickyপতাকা।

তিনটি ডান সংখ্যার প্রতিটি অঙ্ক একটি বাইনারি মানকে উপস্থাপন করে, যা এটি বিট যথাক্রমে পঠন, লেখার এবং সম্পাদনকে নিয়ন্ত্রণ করে, যেখানে 1মানে অনুমতি দেয় এবং 0মানে হয় না। এটি অষ্টাল স্বরলিপিটির মতো, তবে দশমিক সংখ্যায় প্রতিনিধিত্ব করে।

# Permission              rwx Binary
7 read, write and execute rwx 111
6 read and write          rw- 110
5 read and execute        r-x 101
4 read only               r-- 100
3 write and execute       -wx 011
2 write only              -w- 010
1 execute only            --x 001
0 none                    --- 000

উদাহরণস্বরূপ, 754অনুমতি দেবে:

  • পড়তে, লিখতে, এবং চালানো OWNER, এর বাইনারি মান হিসাবে 7হয় 111, যার অর্থ সমস্ত বিট হয়।

  • এর জন্য GROUPবাইনারি মান 5যেমন 101পড়ুন এবং সম্পাদন করুন, অর্থ পঠন এবং সম্পাদন চালু আছে তবে লেখা বন্ধ রয়েছে।

  • কেবলমাত্র পঠনযোগ্য EVERYONE ELSE, বাইনারি মান 4যেমন 100, কেবল পঠন চলমান মানে।


0

অন্যদের দ্বারা উল্লিখিত হিসাবে, ফাইল অনুমতিগুলি কিছুটা মাস্ক। অদ্ভুত বা অযথা সংযুক্তির ব্যবহার রোধ করার জন্য সিস্টেমটি তার পথ থেকে দূরে যায় না: অকেজো অর্থ ক্ষতিকারক নয়।

আমার যদি কেবল লেখার অনুমতি থাকে তবে তার অর্থ কি আমি ফাইলের বিষয়বস্তুগুলিতে সংযোজন করতে বা প্রতিস্থাপন করতে পারি, তবে বর্তমান সামগ্রীগুলি পড়তে পারি না?

হ্যাঁ.

আমি যদি কেবলই পড়ে থাকি তবে কেন আমি কেবল ফাইলটি অনুলিপি করে তা সম্পাদন করতে পারি না?

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

একই অনুলিপিটি নিজেই সংশ্লিষ্ট দোভাষীকে অনুরোধ করে অনুলিপি করা ছাড়াও করা যেতে পারে। উদাহরণস্বরূপ, আপনি শেল স্ক্রিপ্টগুলি কার্যকর করতে না পারলেও এটি চালাতে sh /path/to/scriptপারেন। লিনাক্সের বাইনারিগুলির একটি দোভাষী রয়েছে /lib/ld-linux.so,।

এবং যদি তাদের কেবলমাত্র কার্যকর করার অনুমতি থাকে তবে এর অর্থ কী? কোনও ফাইল কার্যকর করার জন্য কি এটি দেখার দরকার হয় না?

এটি করে - তবে সেটুইড বিট প্রক্রিয়া করার পরে এটি পরীক্ষা করা হয়। আপনি যদি কোনও সেটুইড প্রোগ্রাম চালাচ্ছেন তবে এতে মালিকের অধিকার থাকবে, সুতরাং কেবলমাত্র মালিকের প্রয়োজন হবে + আর।

ডিরেক্টরিগুলির জন্য, + x এর আলাদা অর্থ রয়েছে (এটি আপনাকে ফোল্ডারটি অতিক্রম করতে পারে, অর্থাত্ অভ্যন্তরীণ আইটেমগুলি অ্যাক্সেস করতে পারে)। যদি আপনি ভিতরে কোনও ফাইলের সঠিক নামটি জানেন তবে আপনি ডিরেক্টরিতে এটি কেবল + x নয়, + r থাকা অবস্থায় অ্যাক্সেস করতে পারেন।

মৃত্যুদন্ড কার্যকর করার অনুমতি দেওয়া হলে কোথায় পার্থক্য রয়েছে? একটি টেক্সট ফাইল কার্যকর করার অর্থ হয় না। উইন্ডোজ-তে উদাহরণস্বরূপ .exes, .bats ইত্যাদি রয়েছে। ইউনিক্স সিস্টেমে আমি কেবল .sh সম্পর্কে জানি। এক্সিকিউটেবল ফাইলগুলি সংজ্ঞায়িত করে এমন একটি নির্দিষ্ট সংখ্যক এক্সটেনশন রয়েছে?

এক্সিকিউটেবিলিটি ফাইলের নাম দ্বারা সংজ্ঞায়িত করা হয় না, তবে এর বিষয়বস্তু দ্বারা। (সমস্ত করার পরে, আপনি করছেন নির্বাহ বিষয়বস্তু, না নাম।)

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

উদাহরণস্বরূপ, যদি কোনও স্ক্রিপ্ট ফাইলটি শুরু হয় #!/bin/sh, তবে এটি কার্যকর করা ম্যানুয়ালি চলমান হিসাবে একই কাজ করে /bin/sh myscript.sh। পাইথন বা পার্ল বা রুবি বা টিসিএল বা সি # বা নোড / জাভাস্ক্রিপ্ট বা অন্য কোনও ভাষাতে একই প্রয়োগ করা যেতে পারে। (আবার, দ্রষ্টব্য যে ফাইলের নামের প্রত্যয়টির কোনও প্রাসঙ্গিকতা নেই - কেবল যাদু শিরোনামটি করে))

সুবিধাটি হ'ল আপনার সিস্টেমে বিভিন্ন বিভিন্ন ভাষায় কমান্ড লেখা থাকতে পারে এবং প্রতিটি কমান্ড কোন দোভাষী ব্যবহার করে তা কোন যত্ন না করে আপনি সেগুলি ব্যবহার করতে পারেন।

উইন্ডোজ একই পরিস্থিতিতে। এটিতে একই 'এক্সিকিউটেবল' অনুমতি বিটও রয়েছে এবং গ্রাফিকাল ইন্টারফেস ফাইলের নামগুলিতে .exe প্রত্যয় চায়, প্রকৃত কার্নেলটি কেবলমাত্র ফাইলের বিষয়বস্তু সম্পর্কে চিন্তা করে। (উইন্ডোজ এমজেড / পিই বাইনারি এক্সিকিউটেবল ব্যবহার করে এবং স্ক্রিপ্টগুলির জন্য # সমর্থন করে না))

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