কম্পিউটার টিউটোরিয়াল

ফাইল পারমিশন বোঝা: Chmod 777 এর অর্থ কী?

লিনাক্স ইউজার বা সিস্টেম অ্যাডমিন হলে 「You do not have the permissions to upload file to the folder」** এরর দেখতে পাবেন। সমাধান: ফাইল পারমিশন 775 বা 777 সেট করুন। টেকনিক্যালি: chmod 777 the file। কিন্তু 777 মানে কী? আর কেন 7, 8 বা 9 নয়?

এই পোস্টে ফাইল পারমিশন ভালোভাবে বুঝিয়ে দেওয়া হলো, chmod 777 এর অর্থসহ।

ফাইল পারমিশন বোঝা

ইউনিক্স সিস্টেম (লিনাক্স, macOS) ফাইল কন্ট্রোল মেকানিজম ব্যবহার করে—কারা ফাইল/ফোল্ডার অ্যাক্সেস করবে এবং কী করতে পারবে।

দুই অংশ বিবেচনা করতে হয়:

ক্লাস (Classes)। কারা অ্যাক্সেস করবে। তিনটি ডেজিগনেশন: Owner (মালিক), Group (একই পারমিশন শেয়ার করে), Others (সাধারণ জনগণ)।

  • Owner: সাধারণত ফাইল/ফোল্ডার ক্রিয়েটর। লিনাক্সে হোম ডিরেক্টরিতে তৈরি ফাইল আপনার অয়ারশিপ থাকে।
  • Group: একই পারমিশন ও প্রিভিলেজ শেয়ারকারী ইউজার গ্রুপ।
  • Others: সাধারণ জনগণ।

পারমিশন (Permissions)। ইউজার ফাইলের সাথে কী করবে। Read, Write, Execute—এই তিনটির প্রায় সব কম্বিনেশন সেট করা যায়।

  • Read: কন্টেন্ট মডিফাই করা যায়না। ফোল্ডারের কেসে শুধু ফাইল দেখাবে, ডিলিট/মডিফাই/অ্যাড করা যাবে না।
  • Write: ফাইল মডিফাই করা যাবে। ফোল্ডারর লেখার অ্যাক্সেস থাকলে ফাইল ডিলিট/অ্যাড করা যাবে।
  • Execute: ফাইল রান করার জন্য (সাধারণত স্ক্রিপ্ট)।

Class + Permission কম্বাইন করে কারা কী করতে পারবে তা কন্ট্রোল করা যায়। Owner-কে সাধারণত তিনটি পারমিশনই থাকে। আপলোড না হলে পারমিশন মিসম্যাচই কারণ।

ফাইল পারমিশন 777 ব্যাখ্যা

Class ও Permission বুঝলে 777, 775 বুঝা যাবে।

প্রতিটি ফাইল/ফোল্ডারে ৮-বিট ডেটা থাকে পারমিশন কন্ট্রোলের জন্য। বাইনারি 000 মানে কোনো পারমিশন নেই।

  • Read = ৪-বিট যোগ → 100 (বাইনারি) = 4 (ডেসিমাল)
  • Write = ২-বিট যোগ → 010 = 2
  • Execute = ১-বিট যোগ → 001 = 1

সহজ কথায়: Read=4, Write=2, Execute=1।

পারমিশন সেট করা বেসিক ম্যাথ। Read+Write = 4+2 = 6। অন্যান্য পারমিউটেশন:

  • 0: কোনো পারমিশন নেই
  • 1: Execute
  • 2: Write
  • 3: Write + Execute
  • 4: Read
  • 5: Read + Execute
  • 6: Read + Write
  • 7: Read + Write + Execute

পূর্ণ পারমিশন সেটে: প্রথম ডিজিট Owner, দ্বিতীয় Group, তৃতীয় Others। কমন পারমিশন:

  • 755: ওয়েব সার্ভার dùng করে। Owner-কে সব পারমিশন, অন্যদের Read+Execute, Write নেই।
  • 644: Owner Read+Write, অন্যদের শুধু Read, Execute কেউ নেই।
  • 655: Owner Read+Write (Execute নেই), অন্যদের Read+Execute (Write নেই)।

777 মানে সব ইউজার Read, Write, Execute করতে পারবে। পূর্ণ পারমিশন দিয়ে থাকায় সতর্কতা দরকার। তবে সার্ভারে আপলোডের জন্য иногда 777 লাগে।

কমান্ড লাইনে ফাইল পারমিশন সেট করা

লিনাক্সে রাইট-ক্লিক → Properties → Permission ট্যাব থেকে চেঞ্জ করা যায়। macOS-এ Get Info → Sharing & Permissions।

টার্মিনালে chmod কমান্ড দিয়ে চেঞ্জ করা যায় (change the mode):

chmod 777 /path/to/file

chmod 777 এই দুটি কনসেপ্ট কম্বাইন করে—ফাইল সবার জন্য readable, writable, executable। শক্তিশালী কমান্ড, সিস্টেম ব্রেক করতে পারে—সতর্কতা দরকার।

সংক্ষেপে

ফাইল পারমিশন রোডব্লক তৈরি করে যদি সঠিকভাবে সেট না হয়। এটি ডিজাইনই—লকডাউন সিস্টেম কমপ্রোমাইজ হয় না। কিন্তু ফাইল এক্সেস করতে চাইলে পারমিশন চেঞ্জ করার স্কিল জরুরি।

সারসংক্ষেপ: chmod 777 টার্মিনাল কমান্ড দিয়ে ফাইল/ফোল্ডার সবার জন্য অ্যাক্সেসযোগ্য করা হয়। শুধু জরুরি সময় ব্যবহার করুন এবং কাজ শেষে স্ট্রিক্ট পারমিশনে ফিরে আসুন।

টার্মিনাল আর কী কী করে জানতে চাইলে আমাদের কপি-পেস্ট কমান্ড লাইন পোস্ট পড়ুন। ফাইল পারমিশন ম্যানেজ করেন? এই পোস্ট সাহায্য করল? কমেন্টে জানান!

  1. টুইটারে বায়ো (Bio) মানে কী?

  2. লিনাক্সে Bash কী? অর্থ এবং ব্যবহারিক গাইড

  3. ইন-অ্যাপ পারচেজ কী বোঝায়?

  4. chmod 777 বুঝুন: এর অর্থ এবং লিনাক্স পারমিশনে এর প্রভাব