অতিথি ব্যবহারকারীদের কোনও নির্দিষ্ট প্রোগ্রাম বন্ধ করতে বাধা দেওয়ার কোনও উপায় আছে কি?


38

আমার কাছে একটি ল্যাপটপ রয়েছে এবং এর ব্যবহারকারী একটি অতিথি অ্যাকাউন্ট চালাচ্ছেন,

2 টি প্রোগ্রাম রয়েছে যা সিস্টেম শুরু হওয়ার পরে স্বয়ংক্রিয়ভাবে শুরু হয় (নেটলিমিটার এবং টিমভিউয়ার)। এই প্রোগ্রামগুলি ট্রেতে লুকানো আছে তবে অতিথি ব্যবহারকারী চাইলে সেগুলি বন্ধ করতে পারেন। তা রোধ করার কোনও উপায় আছে কি?

আমার ল্যাপটপে সম্পূর্ণ অ্যাক্সেস রয়েছে তাই যদি ইনস্টল করার জন্য কোনও কনফিগারেশন বা প্রোগ্রাম থাকে তবে আমি এটি করতে পারি।



17
টিমভিউয়ারকে পরিষেবা হিসাবে চালানো যায়। যদি প্রশাসক দ্বারা ইনস্টল করা থাকে (প্রশাসকের অ্যাকাউন্টের অধীনে), কোনও সাধারণ ব্যবহারকারীর এটি বন্ধ করতে সক্ষম হওয়া উচিত নয়। appdataworks.com/…
আজাসজা

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

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

1
@ আরজেফালকোনার আমি করেছি
আলাসলিপকোট নোট

উত্তর:


50

টাস্ক ম্যানেজারের মাধ্যমে বন্ধ হওয়া রোধ করতে

" প্রক্রিয়া এক্সপ্লোরার " পান এবং "অতিথি" এর জন্য দুটি প্রোগ্রামে "টার্মিনেট" অনুমতি না থাকার অনুমতিগুলি সেট করুন।

  1. প্রক্রিয়া এক্সপ্লোরার তালিকায় প্রক্রিয়া সন্ধান করুন এবং "সম্পত্তি" রাইট-ক্লিক করুন
  2. সুরক্ষা -> অনুমতি
  3. "অতিথি" -> সম্পাদনা নির্বাচন করুন।

স্ক্রিনশট

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

খুব বেশি ব্যান্ডউইথ ব্যবহার করে কোনও নেটওয়ার্ক ব্যবহারকারীকে থ্রটল করতে

এটি আপনার আসল সমস্যা বলে মনে হচ্ছে।

দেখুন:


30
এটি কি কেবলমাত্র প্রক্রিয়াটির নির্দিষ্ট চলমান উদাহরণগুলিতে বা সমস্ত উপস্থিত এবং ভবিষ্যতের ক্ষেত্রে প্রয়োগ হয়?
মার্টিন স্মিথ

25
@ মার্টিনস্মিথ এটি কেবল বর্তমানে চলমানটিকে প্রভাবিত করবে।
বেন এন

1
কৌতূহলের বাইরে (যখন আমি রেড এক্স বোতামটি ক্লিক করি তখন কী হয়) আমি এটি চেষ্টা করেছি এবং এটি আমার পক্ষে কাজ করে বলে মনে হয় না।
পাভেল

11
মেনু বা রেড এক্স প্রোগ্রামটিকে স্বেচ্ছায় প্রস্থান করতে বলে। টাস্ক ম্যানেজারে যা ঘটে তা সমাপ্তি।
Zan Lynx

@ জ্যানলিন্যাক্স হ্যাঁ, এটি, আমার বোঝার জন্য, যে সমানটি বলেছেন [...] তবে অতিথি ব্যবহারকারী চাইলে সেগুলি বন্ধ করতে পারেন। তা রোধ করার কোনও উপায় আছে কি?
পাভেল

35

প্রক্রিয়া এক্সপ্লোরার উত্তর একবারে কাজ করে তবে আপনি সম্ভবত কম্পিউটার পুনরায় বুট করার পরেও এটি প্রয়োগ করতে চান। এটি করতে আপনি পাওয়ারশেল ব্যবহার করতে পারেন:

Param (
    [string[]]$ProcessNames,
    [string]$DenyUsername
)

$cscode = @"
using System;
using System.Security;
using System.Security.AccessControl;
using System.Security.Principal;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

public class ProcessSecurity : NativeObjectSecurity
{
    public ProcessSecurity(SafeHandle processHandle)
        : base(false, ResourceType.KernelObject, processHandle, AccessControlSections.Access)
    {

    }

    public void AddAccessRule(ProcessAccessRule rule)
    {
        base.AddAccessRule(rule);
    }

    // this is not a full impl- it only supports writing DACL changes
    public void SaveChanges(SafeHandle processHandle)
    {
        Persist(processHandle, AccessControlSections.Access);
    }

    public override Type AccessRightType
    {
        get { return typeof(ProcessAccessRights); }
    }

    public override AccessRule AccessRuleFactory(System.Security.Principal.IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType type)
    {
        return new ProcessAccessRule(identityReference, (ProcessAccessRights)accessMask, isInherited, inheritanceFlags, propagationFlags, type);
    }

    public override Type AccessRuleType
    {
        get { return typeof(ProcessAccessRule); }
    }

    public override AuditRule AuditRuleFactory(System.Security.Principal.IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags)
    {
        throw new NotImplementedException();
    }

    public override Type AuditRuleType
    {
        get { throw new NotImplementedException(); }
    }
}

public class ProcessAccessRule : AccessRule
{
    public ProcessAccessRule(IdentityReference identityReference, ProcessAccessRights accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType type)
        : base(identityReference, (int)accessMask, isInherited, inheritanceFlags, propagationFlags, type)
    {
    }

    public ProcessAccessRights ProcessAccessRights { get { return (ProcessAccessRights)AccessMask; } }
}

[Flags]
public enum ProcessAccessRights
{
    STANDARD_RIGHTS_REQUIRED = (0x000F0000),
    DELETE = (0x00010000), // Required to delete the object. 
    READ_CONTROL = (0x00020000), // Required to read information in the security descriptor for the object, not including the information in the SACL. To read or write the SACL, you must request the ACCESS_SYSTEM_SECURITY access right. For more information, see SACL Access Right. 
    WRITE_DAC = (0x00040000), // Required to modify the DACL in the security descriptor for the object. 
    WRITE_OWNER = (0x00080000), // Required to change the owner in the security descriptor for the object. 

    PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF, //All possible access rights for a process object.
    PROCESS_CREATE_PROCESS = (0x0080), // Required to create a process. 
    PROCESS_CREATE_THREAD = (0x0002), // Required to create a thread. 
    PROCESS_DUP_HANDLE = (0x0040), // Required to duplicate a handle using DuplicateHandle. 
    PROCESS_QUERY_INFORMATION = (0x0400), // Required to retrieve certain information about a process, such as its token, exit code, and priority class (see OpenProcessToken, GetExitCodeProcess, GetPriorityClass, and IsProcessInJob). 
    PROCESS_QUERY_LIMITED_INFORMATION = (0x1000),
    PROCESS_SET_INFORMATION = (0x0200), // Required to set certain information about a process, such as its priority class (see SetPriorityClass). 
    PROCESS_SET_QUOTA = (0x0100), // Required to set memory limits using SetProcessWorkingSetSize. 
    PROCESS_SUSPEND_RESUME = (0x0800), // Required to suspend or resume a process. 
    PROCESS_TERMINATE = (0x0001), // Required to terminate a process using TerminateProcess. 
    PROCESS_VM_OPERATION = (0x0008), // Required to perform an operation on the address space of a process (see VirtualProtectEx and WriteProcessMemory). 
    PROCESS_VM_READ = (0x0010), // Required to read memory in a process using ReadProcessMemory. 
    PROCESS_VM_WRITE = (0x0020), // Required to write to memory in a process using WriteProcessMemory. 
    SYNCHRONIZE = (0x00100000), // Required to wait for the process to terminate using the wait functions. 
}
"@

Add-Type -TypeDefinition $cscode

$ProcessNames | % {
    Get-Process -ProcessName $_ | % {
        $handle = $_.SafeHandle
        $acl = New-Object ProcessSecurity $handle
        $ident = New-Object System.Security.Principal.NTAccount $DenyUsername
        $ace = New-Object ProcessAccessRule ($ident, 'PROCESS_TERMINATE, PROCESS_SUSPEND_RESUME, WRITE_DAC', $false, 'None', 'None', 'Deny')
        $acl.AddAccessRule($ace)
        $acl.SaveChanges($handle)
    }
}

এটি এই স্ট্যাক ওভারফ্লো উত্তরের উপর ভিত্তি করে । মূলত, আপনি এটিকে সুরক্ষার জন্য প্রক্রিয়াগুলির তালিকা এবং ব্যবহারকারীকে রক্ষা করার জন্য এটি সরবরাহ করেন এবং এটি প্রক্রিয়াগুলির এসিএলগুলি যথাযথভাবে ম্লান করে। এটিকে .ps1ফাইল হিসাবে সংরক্ষণ করুন (কোথাও ব্যবহারকারী পড়তে পারে তবে লিখতে পারে না), তারপরে ব্যাচের ফাইলটি ব্যবহারকারীর স্টার্টআপে এই জাতীয় কিছু রাখুন:

powershell \path\to\script.ps1 ('snippingtool', 'mspaint') 'Guest' -executionpolicy bypass

এটি গেস্টের দ্বারা নিহত হওয়ার হাত থেকে রক্ষা করে snippingtool.exeএবং mspaint.exe(স্নিপিং সরঞ্জাম এবং রঙ)।

মনে রাখবেন যে এই প্রক্রিয়াগুলি শুরু হওয়ার পরে এটি চালাতে হবে । পাওয়ারশেল স্ক্রিপ্টটি ব্লক sleep 10করার পরে আপনাকে এক বা এক যোগ করতে হতে পারে Param। এটি শেষ হয়ে গেলে, টাস্ক ম্যানেজারের সাহায্যে এই প্রক্রিয়াগুলি হত্যার চেষ্টা করা এর কারণ হয়ে উঠবে:

অ্যাক্সেস অস্বীকার

এছাড়াও মনে রাখবেন যে আপনি যে অ্যাকাউন্টটির সাথে এটি পরীক্ষা করেন এটি কোনও প্রশাসক বা আরও স্পষ্টভাবে থাকলে তা কার্যকর হবে না SeDebugPrivilege

তাদের উইন্ডোতে এক্সটি ক্লিক করা বা অ্যাপ্লিকেশনগুলির নিজস্ব ঘনিষ্ঠ কার্যকারিতা ব্যবহার করা এখনও প্রক্রিয়াগুলি প্রস্থান করে দেবে, যেহেতু সমস্ত প্রক্রিয়া চলমান বন্ধ করার সিদ্ধান্ত নিতে নির্দ্বিধায়। অন্য উত্তরে বর্ণিত হিসাবে আপনাকে নোটিফিকেশন অঞ্চলটি আড়াল করতে হবে। এছাড়াও, যেহেতু এই গুরুত্বপূর্ণ প্রক্রিয়াগুলি অতিথি ব্যবহারকারী হিসাবে চালিত হয়, সেই ব্যবহারকারীটি প্রক্রিয়াজাতকরণের মালিক, এবং যে কোনও উপায়ে এসিএলকে সামঞ্জস্য করতে সক্ষম হবেন, বা PROCESS_VM_WRITEপ্রক্রিয়াগুলির স্মৃতিতে ক্র্যাবল করতে এবং সেগুলি ক্রাশ করার জন্য দক্ষতা ব্যবহার করতে পারবেন । তাদের জন্য একটি ফাঁকা কুল যোগ করে সমাধান করা যেতে পারে OWNER RIGHTSএবং পরিবর্তন করে 'PROCESS_TERMINATE, PROCESS_SUSPEND_RESUME, WRITE_DAC'থেকে 'PROCESS_ALL_ACCESS'যথাক্রমে।

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

অবশ্যই, যদি আপনার অতিথি এই সমস্ত "সুরক্ষা" রোধ করতে এই সমস্ত সমস্যায় যেতে রাজি হন তবে আপনার প্রযুক্তিগতের চেয়ে সামাজিক সমস্যা বেশি হতে পারে।


6
আমি মনে করি তারা আইকনটিতে ডান ক্লিক করার বিষয়ে উদ্বিগ্ন এবং অ্যাপ্লিকেশনটির "প্রস্থান" বিকল্পটি বেছে নিন, টাস্ক ম্যানেজারের মাধ্যমে প্রক্রিয়াটি সমাপ্ত না করে (যদিও এটি এখনও একটি সমস্যা)।
মিশেল জনসন

8

এটি আপনার অতিথির ব্যবহারকারীর অ্যাকাউন্টটি কতটা লক করতে চান তার উপর নির্ভর করে তাই আপনার অতিথির অ্যাকাউন্টটি কী করতে / করতে সক্ষম হতে চায় সে সম্পর্কে আরও কিছু তথ্য কার্যকর হবে। এছাড়াও কম্পিউটার ডোমেন সংযুক্ত আছে?

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

  1. সম্পূর্ণ বিজ্ঞপ্তি অঞ্চলটি লুকান যাতে আপনার ব্যবহারকারী ব্যাকগ্রাউন্ডে চলমান কোনও অ্যাপ্লিকেশন অ্যাক্সেস করতে না পারে। আপনার যদি নেটলিমিটার এবং টিমভিউয়ের সাথে ইন্টারঅ্যাক্ট করার প্রয়োজন হয় তবে তারা এগুলি সর্বদা শুরু মেনু থেকে লঞ্চ করতে পারে।

    আপনার প্রয়োজনীয় নির্দিষ্ট জিপি আইটেমটি ব্যবহারকারী কনফিগারেশন> প্রশাসনিক টেম্পলেটগুলি> মেনু এবং টাস্কবার শুরু করুন> বিজ্ঞপ্তি অঞ্চলটি লুকান

  2. টাস্ক ম্যানেজারে অ্যাক্সেস অক্ষম করে যা তাদের প্রক্রিয়াটি শেষ করতে বাধা দেয়।

    ব্যবহারকারীর কনফিগারেশন> প্রশাসনিক টেম্পলেটগুলি> সিস্টেম> টাস্ক ম্যানেজার সরান

  3. আমি বিশ্বাস করি যে নেটলিমিটারে বিভিন্ন ব্যবহারকারীর জন্য অনুমতি সেট করার ক্ষমতা রয়েছে। এগুলি অন্বেষণ করুন এবং দেখুন আপনি অ্যাপ্লিকেশন নিয়ন্ত্রণের জন্য ব্যবহারকারী অ্যাকাউন্টের ক্ষমতা সরিয়ে ফেলতে পারেন কিনা।

এটি একটি ভাল শুরু যা বেশিরভাগ ব্যবহারকারীকে সীমাবদ্ধ করা উচিত যদি আপনি ব্যবহারকারীরা আরও বেশি উন্নত হন তবে আপনাকে আরও কিছু বিস্তৃত গোষ্ঠী নীতি সেট করতে হতে পারে

আপনার যদি প্রয়োজন হয় তবে নির্দিষ্ট ব্যবহারকারীদের কাছে পলিসি সীমাবদ্ধ করতে জিপি ব্যবহারের জন্য এখানে একটি ভাল গাইড রয়েছে http://www.sevenforums.com/tutorials/151415-group-policy-apply-specific-user-group.html


তারা সম্ভবত এখনও ঘড়িটি দেখতে সক্ষম হতে চাইবে।
মিশেল জনসন

আপনি যখন লুকান বিজ্ঞপ্তি অঞ্চলটি কনফিগার করেন তখন ঘড়িটি এখনও দেখানো হয়। এগুলি পৃথক ওএস উপাদান
ম্যাটপ

1

সমস্ত বিস্তারিত উত্তরের জন্য আপনাকে সবাইকে ধন্যবাদ, আমি মন্তব্যে কিছু পরামর্শ ব্যবহার করে শেষ করেছি, আমি এখানে যা করেছি:

  • অতিথির অ্যাকাউন্টটি সম্পূর্ণভাবে অক্ষম করুন কারণ কোনও কারণে এটির জন্য রেজিস্ট্রি এন্ট্রি সম্পাদন করা স্বতঃস্ফূর্ত হবে না, আপনার প্রশাসনের অনুমতি প্রয়োজন হবে এবং আপনি এটিটি পেয়ে গেলে, অ্যাডমিন অ্যাকাউন্টের জন্যও পরিবর্তনটি প্রয়োগ করা হবে (নিশ্চিত না যে এটি কোনও সাধারণ জিনিস কিনা) বা আমার জন্য কেবল একটি বাগ)

  • একটি নতুন ব্যবহারকারী তৈরি করুন এবং এর জন্য নিম্নলিখিতগুলি করুন:

  • ট্রে আইকন অক্ষম করুন (রেজিস্ট্রিতে)

    • এর কারণে একটি ভলিউম নিয়ন্ত্রণ গ্যাজেট যুক্ত করতে হয়েছিল।
  • নিয়ন্ত্রণ প্যানেল অক্ষম করুন (রেজিস্ট্রিতে)

  • টাস্ক ম্যানেজারকে অক্ষম করুন (রেজিস্ট্রিতে)

  • নির্দিষ্ট অনুমতি অস্বীকার করুন যাতে সে এই সফ্টওয়্যারগুলির অবস্থানগুলি অ্যাক্সেস করতে না পারে (সেগুলি সরাতে বা আনইনস্টল করতে পারে না)

এটি করছি যাতে আমার ভাই 20% এর বেশি ইন্টারনেট গতি ব্যবহার করতে না পারে (সে কেবল স্ট্রিমিং এবং টরেন্টিং বন্ধ করবে না ...) এবং আমি মনে করি এগুলি তাকে লক রাখতে যথেষ্ট।

আবার ধন্যবাদ!


হুঁ, সুতরাং মূলত এই উত্তরটি "অতিথির অ্যাকাউন্টটি ব্যবহার করবেন না"। এটি দুঃখজনকভাবে জলবায়ুবিরোধী।
আমি বলছি মনিকা পুনরায়

তবে ব্যবহারিক: আপনি অতিথির চেয়ে বেশি সীমিত ব্যবহারকারীর উপর নিয়ন্ত্রণ পান।
music2myear

1
অতিথি অ্যাকাউন্টে সম্পাদনা সম্ভবত কারণ আপনি কীটি পরিবর্তন করছেন HKLMযা এটি সমস্ত ব্যবহারকারীর জন্য পরিবর্তিত হয় (প্রতিটি ব্যবহারকারী ব্যবহারে সেটিংস অনুপস্থিত থাকলে ব্যবহৃত হয় "ডিফল্ট" সেটিংসটি মূলত পরিবর্তন করে)। এছাড়াও, যদি সম্ভব হয় তবে ইন্টারনেট গতির সীমা প্রতি ডিভাইস ভিত্তিতে রাউটারে সম্ভবত সেরা সেট করা আছে; এটিকে পেতে আপনাকে আপনার ম্যাক ঠিকানা পরিবর্তন করতে হবে বা রাউটার কনফিগারেশনে অ্যাক্সেস অর্জন করতে হবে।
wizzwizz4

5
আপনি কেবল আপনার রাউটারে কিউএস সেটআপ করতে পেরেছিলেন
ওয়েন ওয়ার্নার

6
এটি এক্সওয়াই সমস্যার একটি সর্বোত্তম উদাহরণ। যখন আপনার সত্যিকারের ওয়াইয়ের দরকার পড়ে আপনি সমাধানের জন্য এক্স জিজ্ঞাসা করেন: "আমি কীভাবে আমার ভাইকে ব্যান্ডউইথের 20% এর বেশি ব্যবহার করতে বাধা দেব"? যা কম্পিউটারের চেয়ে রাউটারে আরও ভাল সমাধান করা হয়েছে।
ফ্লোরিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.