ম্যাকওএস ফাইল কীভাবে পরিবর্তন করা যাবে সেটি সীমাবদ্ধ করতে ফ্ল্যাগ ব্যবহার করে। এগুলো পারমিশনের থেকে আলাদাভাবে সেট হয় এবং chown ও chmod কমান্ডের সাথে সমান্তরাল একটি কাঠামোতে চলে। আপনি ফ্ল্যাগ পরিবর্তনের জন্য chflags এবং ফ্ল্যাগ দেখার জন্য ls ব্যবহার করবেন। ইউনিক্স একটি অনুরূপ সিস্টেম চালাতে থাকে, কিন্তু অধিক অপশনের সাথে যাকে "অ্যাট্রিবিউট" বলা হয়।
ম্যাকওএসে সেট করা ফ্ল্যাগ দেখা
টার্মিনালে, আপনি কোনো ফ্ল্যাগ আছে কিনা দেখতে ls ফ্ল্যাগ ব্যবহার করতে পারেন।
ls -lO ~/Library drwx------@ 88 alexander staff hidden 2992 Jan 25 14:01 Library
যদি কোনো ফাইল বা ফোল্ডারের জন্য কোনো ফ্ল্যাগ সেট না থাকে, তবে একটি ড্যাশ দেখানো হবে।
ls -lO ~/Library/Caches drwx------+ 234 alexander staff - 7956 Jan 25 13:03 Caches
সেট করা ফ্ল্যাগগুলো নিচে বর্ণিতভাবে তাদের বিপরীত ব্যবহার করে সরানো যাবে।
ম্যাকওএসে ফ্ল্যাগ সেট করা এবং ক্লিয়ার করা

ফ্ল্যাগগুলো অধিকাংশ সময় একটি সমস্যা হিসেবে উঠে। যেহেতু এগুলো অতিরিক্ত পারমিশন সেট করে, তাই এগুলো মিস করা সহজ। কি আপনি এমন একটি ফাইলের সাথে সমস্যায় পড়েছেন যা আপনার ইউজার পারমিশন যতোই উচ্চ কেন না হোক, ডিলিট করা যাচ্ছে না? हो सकता है আপনাকে এক বা দুই ফ্ল্যাগ ক্লিয়ার করতে হয়।
ম্যাকওএসে সেট করা যাবে এমন ফ্ল্যাগগুলো নিচে লিস্ট করা হলো। এটি উপলব্ধ সব অপশনের পূর্ণ তালিকা এবং তাদের কার্যকারিতার ব্যাখ্যা। অধিকাংশ ফ্ল্যাগ শুধু ফাইল মালিক বা সুপারইউজার সেট করতে পারেন; sappnd এবং schg শুধু সুপারইউজার সেট করতে পারেন, কারণ এগুলো সিস্টেম-লেভেল ফ্ল্যাগ। শুধু hidden ফ্ল্যাগ বিশেষাধিকার বাড়ানোর nélkül সেট করা যায়।
ম্যাকওএসে ফ্ল্যাগ সেট করা
ম্যাকওএসে ফ্ল্যাগ সেট করার সময়, নিচের কমান্ডটি ব্যবহার করুন। ডিরেক্টরি-লেভেল অপারেশনের জন্য রিকার্সিভ ফ্ল্যাগ -R উপলব্ধ:
sudo chflags -R [flag] /usr/bin/local sudo chflags [flag] /usr/bin/local/mnt.sh chflags -R hidden ~/Desktop
উপযুক্ত ফ্ল্যাগ সেট হবে। উদাহরণস্বরূপ, নিচেরটি nodump ফ্ল্যাগ সেট করে:
sudo chflags nodump /usr/bin/local/tty.sh
প্রতি chflags কমান্ডে শুধু একটি ফ্ল্যাগ সেট বা রিমুভ করা যায়।
- opaque ফোল্ডারটিকে UNION Mount-এর মাধ্যমে দেখা গেলে opaque দেখানোর জন্য সেট করে, একাধিক ডিরেক্টরি একসাথে দেখার পুরনো পদ্ধতি।
- nodump
dumpকমান্ড ব্যবহার করে সিস্টেম ব্যাকআপ নেওয়ার সময় ফাইল বা ফোল্ডারকে ডাম্প হতে বাধা দেয়। - sappnd, sappend সিস্টেম অ্যাপেন্ড-অনলি ফ্ল্যাগ সেট করে, যা ফাইলে যোগ করা যায় কিন্তু মডিফাই বা ডিলিট করা যায়না। এই ফ্ল্যাগ সরাতে হলে সিঙ্গেল ইউজার মোডে যেতে হয়।
- schg, schange, simmutable সিস্টেম ইমিউটেবল ফ্ল্যাগ সেট করে, যা সকল ইউজারের জন্য সব ফাইল পরিবর্তন লক করে দেয়। এটি সরানোর জন্যও সিঙ্গেল ইউজার মোড দরকার।
- uappnd, uappend ইউজার অ্যাপেন্ড-অনলি ফ্ল্যাগ সেট করে। ফাইল মালিক এটি সেট করতে পারেন এবং বিশেষাধিকার বাড়ানোর Безেই আনসেট করতে পারেন। যেহেতু এটি
sappndবাschgএর চেয়ে কম সিকিউরিটিতে ফাইল লক করে, তাই এটি বেশি ব্যবহার হয়। - uchg, uchange, uimmutable ইউজার ইমিউটেবল ফ্ল্যাগ সেট করে, যা সিস্টেম ইমিউটেবল ফ্ল্যাগের সাথে ঠিক वैसा ही সম্পর্ক রাখে जैसा
uappndএরsappndএর সাথে। - hidden হিডেন ফ্ল্যাগ সেট করে। এটি ফাইন্ডার GUI এবং ls কমান্ডে আইটেমটি লুকিয়ে রাখে।
ম্যাকওএসে ফ্ল্যাগ ক্লিয়ার করা
একটি দেওয়া ফ্ল্যাগ ক্লিয়ার করতে, এর বিপরীত সেট করুন। অধিকাংশ ক্ষেত্রে, এর মানে হলো কমান্ডের শুরুতে "no" যোগ করা। nodump-এর ক্ষেত্রে, dump ফ্ল্যাগ ব্যবহার করে ক্লিয়ার করতে হয়, যেমনঃ
sudo chflags dump /usr/bin/local/oty.sh
সাধারণ টার্মগুলো "no" প্রিফিক্স দিয়ে বিপরীত করা যায়, যেমনঃ
sudo chflags nosappnd /usr/bin/local/oty.sh
chmod-এর মতই এখানেও রিকার্সিভ ফ্ল্যাগ আছে:
chflags -R nohidden ~/Desktop
একবার ফ্ল্যাগগুলো ক্লিয়ার হলে, আপনি প্রত্যাশা অনুযায়ী ফাইলের আওনারশিপ এবং পারমিশন পরিবর্তন করতে পারবেন।
ইউনিক্সে অ্যাট্রিবিউট ব্যবহার করা

ইউনিক্স ব্যাকএন্ডে একটি অনুরূপ সিস্টেম চালাতে থাকে, কিন্তু এটি ভিন্ন কমান্ডের মাধ্যমে হ্যান্ডেল করা হয়। সবচেয়ে জনপ্রিয় লিনাক্স প্ল্যাটফর্মগুলিতে, আপনি বদলে chattr এবং lsattr পাবেন। এগুলো "অ্যাট্রিবিউট" পরিবর্তন ও দেখার জন্য ব্যবহার হয়, যা অধিকাংশ অন্য ইউনিক্স ইন্সটলে ফ্ল্যাগ বলা হয়।
অ্যাট্রিবিউট lsattr দিয়ে দেখা যায়:
lsattr /path/to/file.txt
অ্যাট্রিবিউট পরিবর্তন করা_INITIALISM কোডের ওপর নির্ভর করে এবং chattr ম্যান পেজে লিস্ট করা থাকে:
"'acdeijstuADST' অক্ষরগুলো ফাইলগুলোর নতুন অ্যাট্রিবিউট সিলেক্ট করে: অ্যাপেন্ড অনলি (a), কমপ্রেসড (c), নো ডাম্প (d), এক্সটেন্ট ফরম্যাট (e), ইমিউটেবল (i), ডেটা জার্নালিং (j), সিকিউর ডিলিশন (s), নো টেইল-মার্জিং (t), আনডিলিটেবল (u), নো অটাইম আপডেট (A), সিঙ্ক্রোনাস ডিরেক্টরি আপডেট (D), সিঙ্ক্রোনাস আপডেট (S), এবং টপ অফ ডিরেক্টরি হায়ারার্কি (T)।"
কমান্ডটি দেখতে এমনঃ
chattr +s /file/name.txt
এটি নির্দিষ্ট পাথের জন্য সিকিউর ডিলিশন অ্যাট্রিবিউট সেট করে।
উপসংহার
ফ্ল্যাগ সবচেয়ে বেশি কাজে লাগে যারা ফাইল পরিবর্তন করতে পারে সেটি সীমাবদ্ধ করতে। ফাইল লক করে, আপনি ফাইল সিস্টেম লেভেলে টেম্পারিং বা অকস্মাত এডিট রোধ করতে পারেন। রুট বা ফাইল মালিকের এস্কেলেশন ছাড়া এই সুবিধাগুলো পরিবর্তন করা যায়না, তাই এগুলো মাঝপথে সিকিউর।