ব্যবহারকারীর ফোল্ডার অ্যাক্সেস অনুমতিগুলির তালিকা দিন


14

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

আমার যে সমস্ত ফোল্ডারে অ্যাক্সেস রয়েছে তার সন্ধান করতে হবে এবং তার অনুমতিগুলি বাতিল করতে হবে, তারপরে তাকে অ্যাক্সেস অনুমতিগুলির একটি আলাদা সেট দিয়ে সেট আপ করুন।

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

কোন ধারনা?


1
এই কারণেই গ্রুপে কেবলমাত্র একজন ব্যবহারকারী থাকলেও আপনাকে সর্বদা গোষ্ঠীগুলির ভিত্তিতে সদস্যতা দেওয়া উচিত membership আপনি কেবল তাকে গ্রুপ থেকে সরিয়ে নিতে পারতেন। ইতিমধ্যে আপনি যখন কোনও উত্তরের জন্য অপেক্ষা করেন, আপনি কেবল খ্রিস্টাব্দে তার অ্যাকাউন্টটি অক্ষম করতে পারেন।
MDMarra

আপনি কি এই সরঞ্জামটি ব্যবহার করে দেখেছেন: এক্সেসসিএইচকে ভি 5.0? তারা একটি সুরক্ষিত পরিবেশ তৈরি করেছে তা নিশ্চিত করার অংশ হিসাবে উইন্ডোজ প্রশাসকদের প্রায়শই নির্দিষ্ট ব্যবহারকারী বা গোষ্ঠীগুলিতে ফাইল, ডিরেক্টরি, রেজিস্ট্রি কী, গ্লোবাল অবজেক্টস এবং উইন্ডোজ পরিষেবাদি সহ সংস্থান করতে কোন ধরণের প্রবেশাধিকার রয়েছে তা জানতে হবে। এক্সেসচেক দ্রুত একটি স্বজ্ঞাত ইন্টারফেস এবং আউটপুট দিয়ে এই প্রশ্নের উত্তর দেয়। এখানে পাওয়া গেছে: টেকনিকেট.মাইক্রোসফট /en-us/sysinternals/bb664922.aspx
Luke99

@ মার্কএম: এত সত্য ... এটি ঠিক যে যখন কোনও একক ফোল্ডারে ব্যবহারকারীর অ্যাক্সেসের প্রয়োজন হয়, আপনি তাকে যুক্ত করেন। তারপরে কয়েক মাসের মধ্যে সম্পূর্ণ ভিন্ন অংশে তার আরও একটি অ্যাক্সেস দরকার। এবং কয়েক মাসের মধ্যে আবার 2 বা 3 ফোল্ডারে। আপনি কীভাবে এই জাতীয় ব্যবহারকারীর অর্থপূর্ণ নাম সহ একটি গ্রুপ তৈরি করবেন? "Username_granular_access_group"? এটি সম্ভবত কৌশলটি করবে। @ লুক 99: সিসিনটার্নালস থেকে আকর্ষণীয় সরঞ্জাম। আমি কিভাবে এটি মিস করতে পারে। যাইহোক, আমি এটি দেখতে পাচ্ছি যে সমস্ত ফোল্ডার ব্যবহারকারীর প্রত্যক্ষ বা অপ্রত্যক্ষ অ্যাক্সেস রয়েছে। কেবলমাত্র ফোল্ডারগুলি প্রদর্শন করার কোনও উপায় আছে যেখানে ব্যবহারকারী স্পষ্টভাবে এসিএলে তালিকাবদ্ধ রয়েছে (গ্রুপগুলির মাধ্যমে অ্যাক্সেস বাদ দিয়ে)?
ইমাগোদিই

উত্তর:


13

এটি "কৌশল" ব্যবহারকারীর "ফোল্ডার" ব্যবহার করে যে সমস্ত ফোল্ডারটিতে অ্যাক্সেস রয়েছে সেগুলি সন্ধান করার জন্য, সম্ভবত উইন্ডোজ আইক্যাকলস কমান্ডটি ব্যবহার করে সি ড্রাইভের এই উদাহরণটিতে:

icacls c:\*. /findsid someuser /t /c /l

ডিরেক্টরিগুলি পুনরাবৃত্তি করার জন্য এটি / টি-তে বলা দরকার। / সি এর ত্রুটির মুখোমুখি হওয়া সত্ত্বেও এটি চালিয়ে যেতে বলার প্রয়োজন। / এল এটি প্রতীকী লিঙ্কগুলির সাথে কাজ করে (যদি থাকে)। (এটি সর্বশেষে একটি এল, এবং এই পতাকাগুলি উপরের বা নিম্ন-আকারের হতে পারে))

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

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

এবং আমি নিশ্চিত করেছি যে এটি উইন্ডোজ সার্ভার 2012, 2008 এবং উইন্ডোজ 7 এ কাজ করে, তাই আমার সন্দেহ হয় এটি সার্ভার 2003, উইন্ডোজ 8, এবং তেও কাজ করবে।

ফলস্বরূপ তালিকাটি ফোল্ডারগুলি লাইনের পরে লাইন নির্দেশিত হবে, যেমন:

এসআইডি পাওয়া গেছে: সি: \ সোমদির \ সামসুবদির।

মনে রাখবেন যে আপনি যদি এমন কোনও ব্যবহারকারী হিসাবে চালান যাঁর নিজেই কিছু ডিরেক্টরিকে ট্র্যাভার করার অনুমতি নেই তবে আপনি ফলাফলগুলিতে আন্তঃবিভক্ত ত্রুটি পাবেন যেমন:

সি: \ সিস্টেম ভলিউম তথ্য: অ্যাক্সেস অস্বীকৃত।

এবং আপনি যদি একটি পুরো ড্রাইভ অনুসন্ধান করতে পারেন তবে এর ফলে শত শত ত্রুটি হতে পারে, যার ফলে ফলাফল খুঁজে পাওয়া শক্ত হয়ে যায়।

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

এখন, আপনি যদি এই ত্রুটিগুলি আড়াল করতে আগ্রহী হন তবে আপনি কেবল ফলাফলগুলি পাইপ করতে একটি ফাইন্ড কমান্ড ব্যবহার করতে সক্ষম হবেন না (যা "এসআইডি পাওয়া গেছে" উল্লেখ করেন) কারণ ত্রুটিগুলি ফিল্টার করা হবে না পাইপ দ্বারা অনুসন্ধান কমান্ড। পরিবর্তে, আপনি যদি সমস্ত ত্রুটি মুছে ফেলতে চান তবে আপনার ত্রুটি প্রবাহকে (স্ট্ডার) ব্যবহার করে "বিট বালতি" এ পুনঃনির্দেশ করার বরং অস্পষ্ট কৌশলটি ব্যবহার করতে হবে 2>nul:। সুতরাং উপরের উদাহরণটি হয়ে উঠবে:

icacls c:\*. /findsid someuser /t /c /l 2>nul:

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

এই সম্ভাবনাটি এই উত্তরটির সম্ভাব্যতা সীমাবদ্ধ করে দেয়, আমি বুঝতে পারি। জিনিসগুলির সাথে আরও পরিচিত কেউ যদি আমার উত্তরটি প্রসারিত বা সংশোধন করতে চান তবে আমি এটি স্বাগত জানাব।


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

6

আপনি অন্য কিছু ডাউনলোড না করে পাওয়ারশেল ব্যবহার করতে পারেন। এটি v2.0 এবং এর পরে কাজ করবে:

$ReferenceAccountName = 'DOMAIN\Username'
[string[]]$SearchDirectories = @('X:\SomeDirectory', 'F:\AnotherDirectory')

foreach ($RootDir in $SearchDirectories) {
    $DirACL = Get-Acl -Path $RootDir
    foreach ($ACL in $DirACL.Access){
        if ($ACL.IdentityReference -like $ReferenceAccountName){
            Write-Output $RootDir
        }
    }
    foreach ($Directory in (Get-ChildItem -Path $RootDir -Recurse | `
                            Where-Object -FilterScript {$_.Attributes `
                            -contains 'Directory'})){
        $DirACL = Get-Acl -Path $Directory.FullName
        foreach ($ACL in $DirACL.Access){
            if ($ACL.IdentityReference -like $ReferenceAccountName){
                Write-Output $Directory.FullName
            }
        }
    }
}

পাওয়ারশেল ভি 3 এবং এর সাথে যা পাওয়া যায় তার মতো পরিষ্কার নয় তবে এটি কার্যকর হবে। এটি স্ট্রিং ফর্ম্যাটে পাওয়া ডিরেক্টরিগুলির একটি তালিকা আউটপুট করবে।

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


উত্তরাধিকার সূত্রে প্রাপ্ত অনুমতিগুলি "বাদ দেওয়া" কি সম্ভব হবে? (অর্থাত্ প্রতিটি ফোল্ডার অনুসন্ধান করা, যেখানে "DOMAIN \ ব্যবহারকারীর নাম" একটি স্পষ্টভাবে যুক্ত করা হয়েছে?
15-15 এ ডোনোজ করুন

1
হ্যাঁ, আপনি করতে পারেন:if ($ACL.IdentityReference -like $ReferenceAccountName -and !$ACL.IsInherited){
'15 এ

3

আমি আমার নিজের প্রশ্নের সমাধান খুঁজে পেয়েছি। এটি, আমি বিশ্বাস করি, খুব সহজ এবং পরিষ্কার। আপনাকে কেবল সাবিন্যাকল ইনস্টল করতে হবে এবং কমান্ড প্রম্পট থেকে একটি লাইন চালাতে হবে।

আপনি এখানে subinacl ডাউনলোড করতে পারেন । যদিও এটি আনুষ্ঠানিকভাবে কেবল উইন্ডোজ 2000, উইন্ডোজ এক্সপি এবং উইন্ডোজ সার্ভার 2003 এ সমর্থিত, এটি উইন্ডোজ ভিস্তা, উইন্ডোজ সার্ভার ২০০৮ এবং উইন্ডোজ on তেও কাজ করা উচিত।

এর পরে, আপনি কমান্ড প্রম্পট থেকে নিম্নলিখিতটি চালান:

subinacl /testmode /noverbose /outputlog=c:\TEXTFILENAME.TXT /subdirectories=directoriesonly X:\*.* /findsid=DOMAIN\username

যেখানে এক্স: সেই ড্রাইভটি যেখানে আপনি স্ক্যান করছেন এবং ব্যবহারকারী নামটি সেই ব্যবহারকারী যার অনুমতি আপনি তালিকাবদ্ধ করতে চান। স্ক্যান করাতে কিছু সময় নিতে পারে এবং আপনি ফলাফলটি TEXTFILENAME.TXT এ পাবেন।

আপনি যদি স্যুইচ / নোভারবস ব্যবহার করেন তবে আপনি অ্যাক্সেস অনুমতিগুলির একটি কমপ্যাক্ট তালিকা পেয়েছেন - মূলত আপনি দেখতে পাচ্ছেন যে ব্যবহারকারী কোন ডিরেক্টরিতে অ্যাক্সেস করেছে (অ্যাক্সেস মাস্ক এবং কিছু অন্যান্য জিনিস যা কখনও কখনও কাজে আসে)।

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

যেহেতু অভিভাবক ডিরেক্টরিতে প্রায়শই উত্তরাধিকার সক্ষমিত থাকে তাই অনুমতিগুলি সামঞ্জস্য করতে আপনাকে যে ডিরেক্টরিগুলির পরিদর্শন করতে হতে পারে সেই প্রকৃত সংখ্যা সাধারণত তালিকার তুলনায় উল্লেখযোগ্যভাবে কম থাকে।

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