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

iCACLS ব্যবহার করে NTFS অনুমতি সেট, কপি, এক্সপোর্ট বা রিস্টোর করা

উইন্ডোজে NTFS অনুমতি পরিচালনা করার জন্য বিল্ট-ইন iCACLS টুল ব্যবহার করা যেতে পারে। icacls.exe কমান্ড লাইন টুলটি NTFS ফাইল সিস্টেমে ফাইল এবং ফোল্ডারের জন্য অ্যাক্সেস কন্ট্রোল লিস্ট (ACL) দেখতে বা পরিবর্তন করতে দেয়। এই আর্টিকেলে আমরা iCACLS-এর সাথে উইন্ডোজে NTFS অনুমতি পরিচালনা করার জন্য কার্যকর কমান্ডগুলো দেখব।

iCACLS ব্যবহার করে ফাইল ও ফোল্ডার অনুমতি দেখা ও সেট করা

NTFS ভলিউমে যেকোনো অবজেক্টের বর্তমান অ্যাক্সেস অনুমতি নিম্নরূপ দেখানো যায়:

icacls 'C:\Share\Veteran\'

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

  • F – পূর্ণ অ্যাক্সেস
  • M – মডিফাই অ্যাক্সেস
  • RX – রিড এবং এক্সিকিউট অ্যাক্সেস
  • R – শুধু পঠনযোগ্য অ্যাক্সেস
  • W – শুধু লেখনযোগ্য অ্যাক্সেস
  • D – ডিলিট

ইনহেরিটেন্স অধিকার অ্যাক্সেস অনুমতির আগে নির্দেশ করা হয় (ইনহেরিটেন্স অনুমতি শুধু ফোল্ডারlariga প্রযোজ্য):

  • (OI) – অবজেক্ট ইনহেরিট
  • (CI) – কন্টেইনার ইনহেরিট
  • (IO) – ইনহেরিট онলি
  • (I) – প্যারেন্ট কন্টেইনার থেকে অনুমতি ইনহেরিট করা হচ্ছে

iCACLS দিয়ে ফোল্ডার অনুমতি পরিবর্তন করা যায়।

“resource\mun-fs01_Auditors” গ্রুপকে ফোল্ডারে রিড এবং এক্সিকিউট (RX) অনুমতি দিতে:

icacls 'C:\Share\Veteran\' /grant resource\mun-fs01_Auditors:RX

একটি ডিরেক্টরি ACL থেকে একটি গ্রুপ সরাতে:

icacls 'C:\Share\Veteran\' /remove resource\mun-fs01_Auditors

iCACLS দিয়ে প্যারেন্ট ফোল্ডার থেকে NTFS অনুমতি ইনহেরিটেন্স সক্ষম করা:

icacls 'C:\Share\Veteran\' /inheritance:e

বা সকল ইনহেরিটেড ACE সরিয়ে ইনহেরিটেন্স নিষিদ্ধ করা:

icacls 'C:\Share\Veteran\' /inheritance:r

icacls.exe ব্যবহার করে ফাইল বা ফোল্ডারের মালিকানা পরিবর্তন করা যায়:

icacls 'C:\Share\Veteran\' /setowner resource\j.smith /T /C /L /Q

ফোল্ডার NTFS অনুমতি ব্যাকআপ (এক্সপোর্ট) করা

NTFS ফোল্ডার (বা শেয়ার্ড নেটওয়ার্ক ফোল্ডার) på বড় পরিবর্তন করার আগে (মুভ করা, ACL আপডেট করা, রিসোর্স মাইগ্রেট করা), পুরনো অনুমতিগুলো ব্যাকআপ রাখা পরামর্শদायक। এটি মূল সেটিংসে ফিরে যাওয়া বা কমপক্ষে নির্দিষ্ট ফাইল/ডিরেক্টরির পুরনো অনুমতিগুলো বুঝতে সাহায্য করবে।

icacls.exe টুল ব্যবহার করে বর্তমান NTFS ডিরেক্টরি অনুমতিগুলো এক্সপোর্ট/ইম্পোর্ট করা যায়। একটি নির্দিষ্ট ফোল্ডারের সকল ACL (সাব-ডিরেক্টরি এবং ফাইল সহ) পেতে এবং সেগুলো একটি টেক্সট ফাইলে এক্সপোর্ট করতে নিচের কমান্ড চালান:

icacls g:\veteran /save c:\backup\veteran_ntfs_perms.txt /t /c

নোট. /t কী সাব-ডিরেক্টরি এবং ফাইলগুলোর ACL পেতে ব্যবহৃত হয়, /c অ্যাক্সেস ত্রুটি উপেক্ষা করতে দেয়। /q অপশন যোগ করলে ফাইল সিস্টেম অবজেক্টে সফল অ্যাক্সেসের তথ্য প্রদর্শন বন্ধ করা যায়।

ফাইল ও ফোল্ডারের সংখ্যা অনুযায়ী অনুমতি এক্সপোর্ট করতে অনেক সময় লাগতে পারে। কমান্ড এক্সিকিউট হওয়ার পর সফল বা ব্যর্থ ফাইল প্রসেসিংয়ের পরিসংখ্যান প্রদর্শিত হবে।

Successfully processed 3001 files; Failed processing 0 files

ফাইল veteran_ntfs_perms.txt যেকোনো টেক্সট এডিটর দিয়ে খুলুন। দেখা যাবে, এতে ডিরেক্টরির সকল ফাইল ও ফোল্ডারের পূর্ণ তালিকা আছে এবং প্রতিটি আইটেমের বর্তমান অনুমতি SDDL (Security Descriptor Definition Language) ফরম্যাটে নির্দেশ করা আছে।

উদাহরণস্বরূপ, ফোল্ডার রুটের বর্তমান NTFS অনুমতিগুলো:

D:PAI(A;OICI;FA;;;BA)(A;OICIIO;FA;;;CO)(A;OICI;0x1200a9;;;S-1-5-21-2340243621-32346796122-2349433313-23777994)(A;OICI;0x1301bf;;;S-1-5-21-2340243621-32346796122-2349433313-23777993)(A;OICI;FA;;;SY)(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)S:AI

এই স্ট্রিংটি কিছু গ্রুপ বা ব্যবহারকারীর অ্যাক্সেস বর্ণনা করে। আমরা এখানে SDDL সিনট্যাক্স বিস্তারিত আলোচনা করব না (SDDL ফরম্যাট সংক্ষেপে "How to View and Modify Service Permissions in Windows?" আর্টিকেলে আলোচনা করা হয়েছে)। একটি ছোট অংশ নিই:

(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)
  • A – অ্যাক্সেস টাইপ (Allow)
  • OICI – ইনহেরিটেন্স ফ্ল্যাগ (OBJECT INHERIT + CONTAINER INHERIT)
  • FA – অনুমতি টাইপ (SDDL_FILE_ALL – সব অনুমতি)
  • S-1-5-21-2340243621-32346796122-2349433313-24109193 – যে অ্যাকাউন্ট বা ডোমেন গ্রুপের জন্য অনুমতি সেট করা হয়েছে তার SID। SID কে অ্যাকাউন্ট বা গ্রুপ নামে কনভার্ট করতে নিচের পাওয়ারশেল কমান্ড ব্যবহার করুন:
$objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-2340243621-32346796122-2349433313-24109193")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value

অথবা এই কমান্ডগুলো ব্যবহার করুন:
Get-ADUser -Identity SID
অথবা
Get-ADGroup -Identity SID

অতএব, আপনি পেয়ে গেলেন যে ব্যবহারকারী corp\dvivar-এর এই ডিরেক্টরিতে Full Control অনুমতি ছিল।

iCacls দিয়ে NTFS অনুমতি রিস্টোর করা

আপনি পূর্বে তৈরি করা veteran_ntfs_perms.txt ফাইল ব্যবহার করে একটি ফোল্ডারের NTFS অনুমতি রিস্টোর করতে পারেন। ডিরেক্টরিতে অবজেক্টগুলোর NTFS অনুমতি ACL ব্যাকআপ ফাইলের মান অনুযায়ী সেট করতে এই কমান্ড চালান:

icacls g:\ /restore c:\backup\veteran_ntfs_perms.txt /t /c

নোট. অনুমতি ইম্পোর্ট করার সময় ফোল্ডার নামের বদলে প্যারেন্ট ডিরেক্টরির পথ নির্দিষ্ট করতে হবে।

সকল অনুমতি রিকভার হয়ে গেলে প্রসেস করা ফাইলগুলোর সংখ্যার পরিসংখ্যানও দেখাবে।

দ্রষ্টব্য: ব্যাকআপ ACL ফাইলে রিলেটিভ পথ থাকে, অ্যাবসোলিউট নয়। এর মানে আপনি ফোল্ডারটি অন্য ড্রাইভ/ডিরেক্টরিতে মুভ করলেও অনুমতি রিস্টোর করতে পারবেন।

NTFS অনুমতি ডিফল্টে রিসেট করা

icacls টুল ব্যবহার করে ফোল্ডার অনুমতি (নেস্টেড ফাইল ও সাব-ডিরেক্টরি সহ) রিসেট করা যায়।

icacls C:\share\veteran /reset /T /Q /C

এই কমান্ড নির্দিষ্ট অবজেক্টের জন্য ইনহেরিটেড NTFS অনুমতি সক্ষম করবে এবং অন্যান্য যেকোনো ACL সরিয়ে দেবে।

এক ফোল্ডার থেকে অন্য ফোল্ডারে NTFS অনুমতি কপি করা

ACL ব্যাকআপের টেক্সট ফাইল ব্যবহার করে একটি ডিরেক্টরির NTFS অনুমতি অন্য ডিরেক্টরিতে কপি করা যায়।

প্রথমে সোর্স ফোল্ডারের NTFS অনুমতি ব্যাকআপ নিন:

icacls 'C:\Share\Veteran' /save C:\PS\save_ntfs_perms.txt /c

তারপর সংরক্ষিত ACL টার্গেট ফোল্ডারে প্রয়োগ করুন:

icacls D:\Share /restore C:\PS\save_ntfs_perms.txt /c

এটি কাজ করবে যদি সোর্স এবং ডেস্টিনেশন ফোল্ডারের নাম একই থাকে। যদি টার্গেট ফোল্ডারের নাম ভিন্ন হয়? উদাহরণস্বরূপ, D:\PublicDOCS ফোল্ডারে NTFS অনুমতি কপি করতে হলে।

সহজ উপায়: save_ntfs_perms.txt ফাইলটি নোটপ্যাডে খুলুন এবং ফোল্ডার নাম এডিট করুন। Replace ফাংশন ব্যবহার করে Veteran নামটি PublicDOCS-এ রিপ্লেস করুন।

তারপর ফাইল থেকে NTFS অনুমতি ইম্পোর্ট করুন এবং টার্গেট ফোল্ডারে প্রয়োগ করুন:

icacls D:\ /restore C:\PS\save_ntfs_perms.txt /c

পাওয়ারশেল ব্যবহার করে NTFS অনুমতি কপি করা আরও সহজ:

Get-Acl -Path 'C:\Share\Veteran' | Set-Acl -Path 'E:\PublicDOCS'
  1. পাইথন ব্যবহার করে পয়েন্ট সেটের কেন্দ্র বের করার পদ্ধতি

  2. Tkinter ব্যবহার করে হার্ড কপি প্রিন্ট করা

  3. Microsoft Edge-এ পাসওয়ার্ড ইম্পোর্ট/এক্সপোর্ট করার পদ্ধতি

  4. PowerShell ব্যবহার করে সিস্টেমের সব ড্রাইভার USB-এ এক্সপোর্ট করার গাইড