ডিফল্টরূপে, সাধারণ (অ-প্রশাসক) ব্যবহারকারীরা উইন্ডোজ পরিষেবাগুলি পরিচালনা করতে পারে না। এর মানে হল যে ব্যবহারকারীরা Windows পরিষেবাগুলির সেটিংস/অনুমতিগুলিকে থামাতে, শুরু করতে, পুনরায় চালু করতে বা পরিবর্তন করতে পারবেন না। কিছু ক্ষেত্রে, নির্দিষ্ট পরিষেবাগুলি পুনরায় চালু করতে বা পরিচালনা করার জন্য ব্যবহারকারীর অনুমতি থাকা প্রয়োজন৷ এই নিবন্ধে আমরা Windows পরিষেবাগুলির জন্য অনুমতিগুলি পরিচালনা করার বিভিন্ন উপায় দেখব। বিশেষ করে, আমরা আপনাকে দেখাব কিভাবে একজন নন-প্রশাসক ব্যবহারকারীকে যথাযথ অনুমতি প্রদান করে একটি নির্দিষ্ট Windows পরিষেবা শুরু, বন্ধ এবং পুনরায় চালু করার অনুমতি দেওয়া যায়।
ধরুন, আপনাকে ডোমেইন অ্যাকাউন্ট contoso\tuser দিতে হবে প্রিন্ট স্পুলার পুনরায় চালু করার অনুমতি পরিষেবা (পরিষেবার নাম – স্পুলার) . যখন নন-প্রশাসক পরিষেবাটি পুনরায় চালু করার চেষ্টা করেন, তখন একটি ত্রুটি প্রদর্শিত হয়:
সিস্টেম ত্রুটি 5 ঘটেছে। অ্যাক্সেস অস্বীকৃত।
উইন্ডোজে পরিষেবার অনুমতিগুলি পরিচালনা করার জন্য কোনও সহজ এবং সুবিধাজনক বিল্ট-ইন টুল নেই৷ আমরা পরিষেবা পরিচালনা করার জন্য ব্যবহারকারীকে অনুমতি দেওয়ার কিছু উপায় বিবেচনা করব:
SC.exe (সার্ভিস কন্ট্রোলার) টুল ব্যবহার করে উইন্ডোজ সার্ভিস পারমিশন সেট করা
সিস্টেম পরিষেবার অনুমতিগুলি পরিচালনা করার জন্য একটি আদর্শ বিল্ট-ইন উইন্ডোজ পদ্ধতি যা sc.exe ব্যবহার করে (সার্ভিস কন্ট্রোলার) টুল। এই ইউটিলিটি ব্যবহার করার ক্ষেত্রে প্রধান সমস্যা হল সার্ভিস পারমিশন ফরম্যাটের জটিল সিনট্যাক্স (SDDL বিন্যাস — নিরাপত্তা বর্ণনা সংজ্ঞা ভাষা)।
আপনি একটি SDDL স্ট্রিং হিসাবে উইন্ডোজ পরিষেবার জন্য বর্তমান অনুমতিগুলি পেতে পারেন:
sc.exe sdshow Spooler
D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)
(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
এই সব প্রতীকের মানে কি?
S:— সিস্টেম অ্যাক্সেস কন্ট্রোল লিস্ট (SACL)D:— ডিসক্রিশনারি ACL (DACL)
বন্ধনীর পরে প্রথম অক্ষরটির অর্থ হল:অনুমতি দিন (A ) বা অস্বীকার করুন (D )।
চিহ্নের পরবর্তী সেটটি বরাদ্দযোগ্য অনুমতি।
CC — SERVICE_QUERY_CONFIG (অনুরোধ পরিষেবা সেটিংস)LC — SERVICE_QUERY_STATUS (পরিষেবা স্ট্যাটাস পোলিং) SW — SERVICE_ENUMERATE_DEPENDENTSLO — SERVICE_INTERROGATECR — SERVICE_USER_DEFINED_CONTROLRC — SERVICE_USER_DEFINED_CONTROLRC — SERVICE_START_START_CERVICERPAD - REVICE_START_CONTROLRC — SERVICE_START_PRESSশেষ 2টি অক্ষর হল বস্তু (ব্যবহারকারী, গোষ্ঠী বা SID) যেগুলিকে অনুমতি দেওয়া হয়েছে৷ পূর্বনির্ধারিত গোষ্ঠীগুলির একটি তালিকা রয়েছে৷
৷AU প্রমাণীকৃত ব্যবহারকারীAO অ্যাকাউন্ট অপারেটররাউ উপনাম পূর্ববর্তী উইন্ডোজ 2000AN বেনামী লগনএউ প্রমাণীকৃত ব্যবহারকারীদের বিএ বিল্ট-ইন অ্যাডমিনিস্ট্রেটরবিজি বিল্ট-ইন গেস্টবিও ব্যাকআপ অপারেটরবিউ অন্তর্নির্মিত ইউজারসিএ সার্টিফিকেট সার্ভার অ্যাডমিনিস্ট্রেটররাসিজি স্রষ্টা গ্রুপসিও ডিএমইএ ব্যবহারকারীরা ডোজিডিমা এন্টারপ্রাইজের মালিকদের মধ্যে এন্টারপ্রাইজের মালিকদের মধ্যে ডোজিডিমা ব্যবহারকারীদের নিয়ন্ত্রণ করতে অ্যাডমিনিস্ট্রেটরইডি এন্টারপ্রাইজ ডোমেন কন্ট্রোলারWD EveryPA গ্রুপ পলিসি অ্যাডমিনিস্ট্রেটরসআইইউ ইন্টারঅ্যাকটিভভাবে লগ-অন ইউজারএলএ লোকাল অ্যাডমিনিস্ট্রেটরএলজি স্থানীয় গেস্টএলএস লোকাল সার্ভিস অ্যাকাউন্টSY লোকাল সিস্টেমএনইউ নেটওয়ার্ক লগঅন ইউজারএনও নেটওয়ার্ক কনফিগারেশন অপারেটরNS নেটওয়ার্ক সার্ভিস অ্যাকাউন্টপিও প্রিন্টার অপারেটরপিএস ব্যক্তিগত সেলফপু পাওয়ার ব্যবহারকারীরা রিস্ট্রিক্ট সার্ভারসার্ভার ব্যবহারকারীরা রিস্ট্রিক্ট সার্ভার ব্যবহারকারীরা রিস্ট্রিক্ট সার্ভার ব্যবহারকারীরা রিস্ট্রিক্ট সার্ভার ব্যবহারকারীরা রিমিনিস্ট্রেটর এসএসওআরডিএসএসও রিস্ট্রিক্ট কোড পরিষেবা লগইন ব্যবহারকারীএকটি পূর্বনির্ধারিত গোষ্ঠীর পরিবর্তে, আপনি SID দ্বারা একটি ব্যবহারকারী বা গোষ্ঠী স্পষ্টভাবে নির্দিষ্ট করতে পারেন। বর্তমান ব্যবহারকারীর জন্য SID পেতে, আপনি কমান্ডটি ব্যবহার করতে পারেন:
whoami /user
অথবা আপনি Get-ADUser cmdlet:
ব্যবহার করে যেকোনো ডোমেন ব্যবহারকারীর জন্য SID খুঁজে পেতে পারেন
Get-ADUser -Identity 'sadams' | select SID
নির্বাচন করুনআপনি Get-ADGroup cmdlet ব্যবহার করে AD নিরাপত্তা গোষ্ঠীর SID পেতে পারেন:
Get-ADGroup -Filter {Name -eq "ny-ithelpdesk"} | Select SID
নির্বাচন করুনএকটি নির্দিষ্ট পরিষেবার জন্য SDDL অনুমতি স্ট্রিং বরাদ্দ করার জন্য, আপনি sc sdset ব্যবহার করতে পারেন আদেশ উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডের সাহায্যে একজন ব্যবহারকারীকে অনুমতি দেওয়া যেতে পারে:
sc sdset Spooler "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPCR;;;S-1-5-21-2133228432-2794320136-1823075350-1000)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
একজন ব্যবহারকারীকে পরিষেবা শুরু/বন্ধ/পুনরায় চালু করার অনুমতি দেওয়ার জন্য SubInACL ব্যবহার করা
একটি কমান্ড লাইন টুল SubInACL ব্যবহার করা সহজ Sysinternals থেকে (মার্ক রুসিনোভিচ দ্বারা) পরিষেবার অনুমতিগুলি পরিচালনা করতে। এই টুলের সিনট্যাক্স অনেক সহজ এবং আরো সুবিধাজনক। SubInACL:
ব্যবহার করে আপনি কীভাবে একটি পরিষেবার জন্য পুনরায় চালু করার অনুমতি দিতে পারেন তা এখানে
- ডাউনলোড করুন subinacl.msi এই ওয়েবপৃষ্ঠা থেকে (https://www.microsoft.com/en-us/download/details.aspx?id=23510) এবং টার্গেট সিস্টেমে এটি ইনস্টল করুন;
- উন্নত কমান্ড প্রম্পটে, টুলটি ধারণকারী ডিরেক্টরিতে যান:
cd “C:\Program Files (x86)\Windows Resource Kits\Tools\"
- কমান্ড চালান:
subinacl.exe /service Spooler /grant=contoso\tuser=PTO
নোট . এই ক্ষেত্রে আমরা একজন ব্যবহারকারীকে একটি পরিষেবা স্থগিত (বিরতি/চালিয়ে), শুরু এবং বন্ধ (পুনরায় চালু) করার অনুমতি দিয়েছি। উপলব্ধ পরিষেবা অনুমতিগুলির সম্পূর্ণ তালিকা:F :Full ControlR :Generic ReadW :Generic WriteX :Generic eXecuteL :Read controlLQ :Query Service ConfigurationS :Query Service StatusE :Enumerate Dependent ServicesC :Service Change ConfigurationT :Start ServiceO :Stop ServiceP :Pause/Continue ServiceI :Interrogate ServiceI :Interrogate পরিষেবা ব্যবহারকারী-সংজ্ঞায়িত কন্ট্রোল কমান্ডআপনি যদি দূরবর্তী কম্পিউটারে চলমান একটি পরিষেবার অনুমতি দিতে চান, তাহলে subinacl কমান্ডের নিম্নলিখিত সিনট্যাক্সটি ব্যবহার করুন:
subinacl /SERVICE \\lon-prnt1\spooler /grant=contoso\tuser=F
- এখন আপনাকে শুধুমাত্র একটি ব্যবহারকারীর অ্যাকাউন্টের অধীনে কম্পিউটারে লগইন করতে হবে এবং কমান্ড দিয়ে পরিষেবাটি পুনরায় চালু করার চেষ্টা করতে হবে:
net stop spooler
net start spooler
বাsc stop spooler && sc start spooler
আপনি যদি সবকিছু ঠিকঠাক করেন তবে পরিষেবাটি পুনরায় চালু করা উচিত৷
নির্ধারিত পরিষেবার অনুমতি প্রত্যাহার করতে,/revoke
ব্যবহার করুন subinacl.exe টুলের বিকল্প। যেমন:
subinacl.exe /service Spooler /revoke=contoso\tuser
প্রসেস এক্সপ্লোরার ব্যবহার করে কীভাবে উইন্ডোজ পরিষেবার অনুমতি পরিবর্তন করবেন?
আপনি আরও একটি Sysinternals ইউটিলিটি ব্যবহার করে Windows পরিষেবার অনুমতিগুলি পরিবর্তন করতে পারেন - প্রসেস এক্সপ্লোরার . প্রশাসক হিসাবে প্রসেস এক্সপ্লোরার চালান এবং আপনার প্রয়োজনীয় পরিষেবার প্রক্রিয়াটি খুঁজুন। আমাদের উদাহরণে, এটি হল spoolsv.exe (স্পুলার এক্সিকিউটেবল –
C:\Windows\System32\spoolsv.exe
) প্রক্রিয়া বৈশিষ্ট্য খুলুন এবং পরিষেবা ক্লিক করুন ট্যাব।
অনুমতি এ ক্লিক করুন বোতাম এবং খোলে উইন্ডোতে ব্যবহারকারী বা গোষ্ঠী যুক্ত করুন। এর পরে আপনি যে অনুমতিগুলি বরাদ্দ করতে চান তা নির্বাচন করুন (সম্পূর্ণ নিয়ন্ত্রণ/লিখুন/পড়ুন)।
পাওয়ারশেল ব্যবহার করে উইন্ডোজ পরিষেবার অনুমতি সেট করা
টেকনেট গ্যালারিতে বিভিন্ন উইন্ডোজ অবজেক্টের জন্য অনুমতি পরিচালনা করার জন্য একটি পৃথক অনানুষ্ঠানিক পাওয়ারশেল মডিউল রয়েছে – PowerShellAccessControl মডিউল (আপনি এখানে এটা ডাউনলোড করতে পারেন). এই মডিউলটি আপনাকে পরিষেবার অনুমতিগুলি পরিচালনা করার অনুমতি দেয়। এই মডিউলটি ইনস্টল করুন এবং এটিকে আপনার PS সেশনে আমদানি করুন:
Import-Module PowerShellAccessControl
আপনি PowerShell থেকে এইরকম একটি নির্দিষ্ট Windows পরিষেবার জন্য কার্যকর অনুমতি পেতে পারেন:
Get-Service spooler | Get-EffectiveAccess -Principal corp\tuser
নন-অ্যাডমিন ব্যবহারকারীকে স্পুলার পরিষেবা শুরু এবং বন্ধ করার অনুমতি দিতে, কমান্ডটি চালান:
Get-Service spooler | Add-AccessControlEntry -ServiceAccessRights Start,Stop -Principal corp\tuser
পরিষেবা অনুমতিগুলি পরিচালনা করতে নিরাপত্তা টেমপ্লেট ব্যবহার করা
পরিষেবা অনুমতিগুলি পরিচালনা করার জন্য একটি ভিজ্যুয়াল (কিন্তু আরও ক্রিয়া প্রয়োজন) গ্রাফিকাল উপায় হল নিরাপত্তা টেমপ্লেট ব্যবহার করা। mmc.exe খুলুন কনসোল করুন এবং নিরাপত্তা টেমপ্লেটগুলি যোগ করুন স্ন্যাপ-ইন।
একটি নতুন নিরাপত্তা টেমপ্লেট তৈরি করুন (নতুন টেমপ্লেট)।
নতুন টেমপ্লেটের জন্য নাম উল্লেখ করুন এবং সিস্টেম পরিষেবা -এ যান অধ্যায়. পরিষেবাগুলির তালিকায় প্রিন্ট স্পুলার পরিষেবাটি নির্বাচন করুন৷ এবং এর বৈশিষ্ট্যগুলি খুলুন৷
৷স্টার্টআপ মোড নির্বাচন করুন (স্বয়ংক্রিয় ) এবং নিরাপত্তা সম্পাদনা করুন ক্লিক করুন৷ .
যোগ করুন ব্যবহার করে বোতাম, অনুমতি দেওয়ার জন্য একটি ব্যবহারকারীর অ্যাকাউন্ট বা একটি গোষ্ঠী যুক্ত করুন৷ আমাদের ক্ষেত্রে, শুরু করুন, থামান এবং বিরতি দিন অনুমতি যথেষ্ট।
এই টেমপ্লেটটি সংরক্ষণ করুন৷
৷ দ্রষ্টব্য . সিকিউরিটি টেমপ্লেটের বিষয়বস্তু C:\Users\%username%\Documents\Security\Templates ফোল্ডারে INF ফাইল হিসাবে সংরক্ষিত হয়।আপনি এই ফাইলটি খুললে, আপনি দেখতে পাবেন যে অনুমতিগুলি সম্পর্কে তথ্য SDDL ফর্ম্যাটে সংরক্ষিত হয়েছে, যা আগে উল্লেখ করা হয়েছে৷ এইভাবে প্রাপ্ত স্ট্রিং sc.exe কমান্ডের আর্গুমেন্ট হিসেবে ব্যবহার করা যেতে পারে।
[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[Service General Setting]
"Spooler",2,"D:AR(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;RPWPDTRC;;;S-1-5-21-3243688314-1354026805-3292651841-1127)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
এখন আপনাকে শুধুমাত্র নিরাপত্তা ব্যবহার করে একটি নতুন ডাটাবেস (ওপেন ডাটাবেস) তৈরি করতে হবে কনফিগারেশন এবং বিশ্লেষণ Spooler User Rights.inf ফাইল থেকে স্ন্যাপ-ইন করুন এবং আপনার নিরাপত্তা টেমপ্লেট আমদানি করুন।
এখনই কম্পিউটার কনফিগার করুন নির্বাচন করে এই টেমপ্লেটটি প্রয়োগ করুন৷ প্রসঙ্গ মেনু থেকে বিকল্প।
এখন আপনি পরীক্ষা করুন যে ব্যবহারকারী অ-প্রশাসক অ্যাকাউন্টের অধীনে প্রিন্ট স্পুলার পরিষেবা পরিচালনা করার অনুমতি দিতে পারেন৷
৷জিপিও ব্যবহার করে একটি পরিষেবা পরিচালনা করার জন্য ব্যবহারকারীদের অধিকার কীভাবে প্রদান করবেন?
যদি আপনাকে ব্যবহারকারীদের একাধিক সার্ভার বা ডোমেন কম্পিউটার পরিষেবা শুরু/বন্ধ করার অনুমতি দিতে হয়, তাহলে গ্রুপ পলিসি (GPO) বৈশিষ্ট্যগুলি ব্যবহার করা সহজ:
Windows পরিষেবা নিরাপত্তা অনুমতিগুলি কোথায় সংরক্ষণ করা হয়?৷
- একটি নতুন GPO তৈরি করুন বা বিদ্যমান একটি সম্পাদনা করুন, কম্পিউটার অবজেক্টের সাথে প্রয়োজনীয় অ্যাক্টিভ ডিরেক্টরি কন্টেইনার (OU) এর সাথে লিঙ্ক করুন। নীতি বিভাগে যান কম্পিউটার কনফিগারেশন -> উইন্ডোজ সেটিংস -> নিরাপত্তা সেটিংস -> সিস্টেম পরিষেবাগুলি;
- স্পুলার পরিষেবা খুঁজুন এবং উপরে বর্ণিত পদ্ধতির মত ব্যবহারকারীদের অনুমতি দিন। পরিবর্তনগুলি সংরক্ষণ করুন;দ্রষ্টব্য৷৷ এর আগে আমরা দেখিয়েছি যে একই জিপিও ব্যবহার করে আপনি সমস্ত ব্যবহারকারীদের থেকে যেকোনো উইন্ডোজ পরিষেবা লুকিয়ে রাখতে পারেন।
- ক্লায়েন্ট কম্পিউটারে GPO প্রয়োগ না হওয়া পর্যন্ত অপেক্ষা করুন এবং নিশ্চিত করুন যে নতুন পরিষেবার অনুমতিগুলি বরাদ্দ করা হয়েছে৷
যে সমস্ত পরিষেবার জন্য আপনি ডিফল্ট অনুমতিগুলি পরিবর্তন করেছেন তার নিরাপত্তা সেটিংস তাদের নিজস্ব রেজিস্ট্রি কী
HKLM\System\CurrentControlSet\Services\<servicename>\Security
এ সংরক্ষণ করা হয় নিরাপত্তায় REG_BINARY প্রকারের প্যারামিটার।এর মানে হল যে অন্যান্য কম্পিউটারে পরিষেবা অনুমতি সেট করার একটি উপায় হল এই রেজিস্ট্রি প্যারামিটারটি (একটি GPO সহ) রপ্তানি/আমদানি করা।
সুতরাং, আমরা Windows পরিষেবার অনুমতিগুলি পরিচালনা করার বিভিন্ন উপায় দেখেছি, যা আপনাকে অ-প্রশাসক ব্যবহারকারীকে সিস্টেম পরিষেবাগুলির জন্য যে কোনও অনুমতি প্রদান করতে দেয়৷ যদি ব্যবহারকারীর পরিষেবাতে দূরবর্তী অ্যাক্সেসের প্রয়োজন হয়, স্থানীয় লগন বা RDP অ্যাক্সেসের অনুমতি না দিয়ে, আপনাকে অবশ্যই ব্যবহারকারীকে দূরবর্তীভাবে সংযোগ করতে এবং পরিষেবা নিয়ন্ত্রণ ব্যবস্থাপকের মাধ্যমে পরিষেবাগুলি গণনা করার অনুমতি দিতে হবে৷