প্রশাসক হিসাবে সাইগউইন পুদিনা / বাশ চালিত হয় কিনা তা কীভাবে পরীক্ষা করবেন?


16

সমস্যার বিবৃতি: সাইগউইন mintty bashঅধিবেশন "প্রশাসক হিসাবে চালান" হলে পরীক্ষার সর্বাধিক মার্জিত এবং শক্তিশালী উপায় কোনটি?

কেন, বিশেষভাবে? minttyউইন্ডোজ ব্যবহার করার সময় আমার বেশিরভাগ টার্মিনাল খোলা minttyথাকে ( ট্যাব নেই)। সর্বাধিক বিশ্রী যখন আমি টার্মিনাল উইন্ডোটি সন্ধান করতে চাই যা আমি "প্রশাসক হিসাবে চালান" রাইট ক্লিক করে শুরু করেছি যখন উদাহরণস্বরূপ আমি চালাতে চাই pingবা অন্য এক-সময় পদ্ধতিতে procedure টার্মিনাল সেশনের দৃষ্টিভঙ্গিভাবে ( আমার স্টার্ট-আপ ফাইলটিতে bashশেল প্রম্পট ভেরিয়েবল পরিবর্তন করে ) PS1আমি "প্রশাসক হিসাবে চালান" - ইঙ্গিত করতে চাই ~/.bashrc

কিছু দ্রুত সম্ভাব্য সমাধান:

  1. আমি কিছু পরিবেশগত ভেরিয়েবলের মান তুলনা করতে পারি। envআউটপুট তাত্ক্ষণিকভাবে তাকানোর দ্বারা অনেকগুলি পার্থক্য রয়েছে। অন্য উইন্ডোজ মেশিনের (যা সম্ভবত উইন্ডোজের বিভিন্ন সংস্করণ চলছে) বহনযোগ্যতার ক্ষেত্রে সবচেয়ে নির্ভরযোগ্য এটি বলা শক্ত।
  2. id, id -Gnপ্রশাসক হিসাবে চালানো হলে আরও নির্দিষ্টভাবে বিভিন্ন গ্রুপ দেখায়। আমার উইন্ডোজ 7 মেশিনে আমি Administratorsএবং rootগ্রুপগুলিকে তালিকায় যুক্ত করেছি। আবার, আমি নিশ্চিত নই যে এটি পোর্টেবল কিনা।
  3. আমি এমন কোনও স্থানে একটি ফাইল লেখার চেষ্টা করতে পারি যা সাধারণ ব্যবহারকারী হিসাবে ব্যর্থ হয়। তবে আমি কোনও ফাইল অদ্ভুত জায়গাগুলিতে লিখতে চাই না - এটি কিছু কল্পনাপ্রসূত পরিস্থিতিতে সম্ভাব্য ধ্বংসাত্মক হতে পারে (উদাহরণস্বরূপ স্টোরেজ মিডিয়া ব্যর্থ হওয়া) এবং এটি আমার স্বাদের পক্ষে একেবারেই অপ্রয়োজনীয় বলে মনে হয়।
  4. কিছু উইন্ডোজ প্রোগ্রাম চালানো যা কমান্ডটি "প্রশাসক হিসাবে" চালানো হলে রিটার্নের স্থিতি বা আউটপুট দ্বারা নির্দেশ করবে। ইউনিক্স id(1)কমান্ডের অনুরূপ উদ্দেশ্য সহ কিছুটা সেরা হবে (তবে উইন্ডোজে মূলত বিদ্যমান - বা সাইগউইন, তবে পসিক্স এমুলেটেড ধারণাগুলিতে উইন্ডোজ সিস্টেমের ধারণাগুলির খুব দীর্ঘ অনুবাদ না করে)।

আরও ভাল বা আরও মার্জিত পরামর্শ? সম্ভবত সাইগউইন এই উদ্দেশ্যে নিবেদিত একটি কমান্ড ইউটিলিটি সরবরাহ করে?

আপডেট: https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights/ এর 97% সদৃশ - পার্থক্য কেবল এখানে bash(IMHO অদ্ভুত এবং প্রত্নতাত্ত্বিক) উইন্ডোজ ব্যবহার করে cmd.exe। উত্তর এবং মন্তব্য সেখানে পরীক্ষা করুন।


"অ্যাডমিনিস্ট্রেটর হিসাবে চালান" ব্যবহার করুন যদি আপনি এটি না করেন তবে প্রশাসক অ্যাকাউন্ট প্রক্রিয়া শুরু করে এমনকি প্রক্রিয়া প্রশাসকের অনুমতিতে উন্নীত হয় না। কেবল একটি শর্টকাট তৈরি করুন যাতে এটি সর্বদা হয়ে যায়।
রামহাউন্ড

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

2
@ র‌্যামাউন্ড আপনি ঠিক বলেছেন যে আমার মূল সমস্যাটি (প্রশাসক টার্মিনাল উইন্ডোটি আলাদা করে) যা আমি ইতিমধ্যে এই প্রশ্নটিতে সংকীর্ণ করেছি minttythat এর জন্য একটি শর্ট কাট তৈরি করে সমাধান করা যেতে পারে ১ প্রশাসক হিসাবে চালানো, ২. বিভিন্ন বর্ণের রঙের সাথে বিভিন্ন কনফিগারেশন ফাইল ব্যবহার করে সেটিংস এবং 3. একটি বিকল্প আইকন ব্যবহার করে। আপনি যদি সাধারণ জনগণকে কীভাবে এটি তৈরি করবেন তা বর্ণনা করে, আমি আপনাকে একটি উচ্চারণ দেব (যদি আপনি আপনার উত্তরে না বলেন যে এটি কোনও স্ক্রিপ্টের মধ্যে করা যায় না :-)।
FooF

1
@ ফুফ - আপনি প্রশাসক স্তরের ব্যবহারকারীদের সাথে কোনও প্রক্রিয়া চালিত করার অর্থ এই নয় যে প্রক্রিয়াটি নিজেই বৃদ্ধি পেয়েছে। উইন্ডোজ ডিফল্টরূপে কেবল একটি প্রক্রিয়া বাড়িয়ে দেয় যদি ব্যবহারকারী এই জাতীয় ক্রিয়াকে অনুমোদন করে তাই উইন্ডোজে "প্রশাসক হিসাবে চালান" বৈশিষ্ট্যটি। আপনি চান এমন কোনও গোষ্ঠী এমনকি আপনি চাইলে যে কোনও গ্রুপকেও সমস্ত অনুমতি প্রদান করতে পারেন Foo
রামহাউন্ড

1
@ ফুফ - sudoআপনি যদি কোনও রুট ব্যবহারকারী হিসাবে চলমান থাকেন তবে এটি যা প্রয়োজন তা মনে করুন।
রামহাউন্ড

উত্তর:


9

আমি ঠিক এই কারণেই এই ফাংশনটি লিখেছি। কোন শেলটিতে অ্যাডমিন সুবিধা রয়েছে তা আমি কখনই জানি না।

function isadmin()
{
    net session > /dev/null 2>&1
    if [ $? -eq 0 ]; then echo "admin"
    else echo "user"; fi
}

এটি উইন্ডোজ সেমিডি শেলের জন্য এই উত্তরটি https://stackoverflow.com/a/11995662/307968 থেকে গৃহীত হয়েছে । আপনি যদি প্রশাসক হন তবে নেট সেশন 0 টি স্ট্যাটাস দেয়।

এখন আমার কেবলমাত্র আমার প্রম্পটটি পরিবর্তন করা দরকার, অথবা হতে পারে শিরোনামবারের রঙটি ....


ভাল লাগছে। যদিও স্ট্যাকওভারফ্লো মন্তব্যগুলি পরীক্ষা করে দেখুন এটি খুব ব্যর্থ হয়েছে এমন প্রান্তের ক্ষেত্রে উপস্থিত রয়েছে।
FooF

তবুও আমি এই উত্তরটি গ্রহণ করেছি কারণ এটি একটি বিস্তৃত আলোচনার দিকে নির্দেশ করে (সেখানে স্ট্যাকওভারফ্লো প্রশ্ন এবং স্বীকৃত উত্তরটিতে বর্তমানে যথাক্রমে 147 এবং 255 এর স্কোর রয়েছে)।
এফওএফ

ধন্যবাদ! আমি আমার প্রম্পটে সিলেক্ট করে ব্যবহারকারীর নামটি রঙ করতে এটি ব্যবহার করি। বিক্রয়টি যদি উন্নত হয় তবে আমি এটিকে লাল, অন্যথায় সবুজ। আপনার যদি অনেক টার্মিনাল উইন্ডো খোলা থাকে তবে কোন শেলগুলি উন্নত হয় সে সম্পর্কে নজর রাখা কার্যকর।
হ্যালো গুডবাই

16

এই প্রশ্নের সুনির্দিষ্ট উত্তর আসে সাইগউইন মেলিং তালিকা থেকে । প্রশাসক অধিকারের সাথে একটি প্রক্রিয়া চলমান আছে যদি ব্যবহারকারী এটি চালু করে তবে তারা 544 গ্রুপের প্রশাসক (প্রশাসক) হন। এছাড়াও ক্রোম্যাক্সের নীচের মন্তব্য থেকে মনে হয় যে গ্রুপ ১১৪ (স্থানীয় অ্যাকাউন্ট এবং প্রশাসক গোষ্ঠীর সদস্য) এছাড়াও উপস্থিত রয়েছে sometimes এই দুটি গ্রুপের পরীক্ষা হচ্ছে

id -G | grep -qE '\<(114|544)\>'

উদাহরণ স্বরূপ,

id -G | grep -qE '\<(114|544)\>' && echo admin || echo user

অতীতে আপনাকে 0 গ্রুপ, / etc / গ্রুপের মূল গোষ্ঠীটি পরীক্ষা করা উচিত ছিল। তবে / ইত্যাদি / গ্রুপটি আর সাইগউইনে ইনস্টল করা নেই এবং এটি উপস্থিত থাকলে সাধারণত সরিয়ে ফেলা উচিত, সুতরাং আর গ্রুপ 0 এর জন্য পরীক্ষা করার পরামর্শ দেওয়া হয় না। সবে গ্রুপ 544।


1
সাইগউইন মেলিং তালিকায় জিজ্ঞাসা করার জন্য ধন্যবাদ। :-) জেনে ভাল লাগলো যে (ইমুলেটেড / অনুবাদকৃত) গ্রুপ আইডি সিস্টেমের মধ্যে স্থির থাকে।
FooF

অবশ্যই ... আমি নিজেকে জানতে চেয়েছিলাম, এবং সেখানকার লোকেরা জানতে পারে
অ্যান্ড্রু শুলম্যান

1
দুর্ভাগ্যক্রমে এটি Mingw / Msys এ কাজ করে না। স্টিভেনের উত্তরটি কেবল উইন্ডোজ
on-এ থাকলেও

1
আমি কেবল এটি চেষ্টা করেছি (ডাব্লু on) এবং এটি কার্যকর হয়নি, তবে আমি লক্ষ্য করেছি যে উইন্ডোর ব্যবহারকারী যদি একজন প্রশাসক হিসাবে লগ হয় তবে সাইগউইন যখন প্রশাসক হিসাবে চালিত হন, তখন অন্য একটি গ্রুপ রয়েছে idএর আউটপুটে পপস , যথা 114 (স্থানীয় অ্যাকাউন্ট এবং প্রশাসক গোষ্ঠীর সদস্য)। সুতরাং id -G | grep -qE '\<(114|544)\>' && echo admin || echo user
regexp

ধন্যবাদ। আমি নিজে এটি দেখিনি, তবে আমি দেখতে পাচ্ছি যে 114 গোষ্ঠীটি প্রশাসক গোষ্ঠী বলে মনে হচ্ছে, সুতরাং এটির পরীক্ষা করাও যুক্তিসঙ্গত বলে মনে হয়। আমি উত্তরটি সংশোধন করেছি।
অ্যান্ড্রু শুলম্যান

7

আমি উইন্ডোজ প্রোগ্রামের রিটার্ন মানটি ব্যবহার করি at। আমি প্রম্পটিং বিশেষ চরিত্রের কার্যকারিতাও পুনরায় তৈরি করেছি \$

# Set a white $ initially
eStyle='\[\e[0m\]$'

# If 'at' succeeds, use a red # instead
at &> /dev/null && eStyle='\[\e[0;31m\]#\[\e[0m\]'  # Use # in red

PS1='\n\[\e[0;32m\]\u@\h \[\e[0;33m\]\w\[\e[0m\]\n'"$eStyle "

উদাহরণ


ধরে idনিলাম উইন্ডোতে ইউনিক্স কমান্ডের সমতুল্য নেই , আমি এটি সঠিক উত্তর হিসাবে গ্রহণ করি accept কমপক্ষে atকোনও যুক্তি ছাড়াই চলমান কমান্ডের কোনও পার্শ্ব প্রতিক্রিয়া দেখা যায় না। আমি .bashrcএখন থেকে আমার ফাইলে এই পদ্ধতিটি ব্যবহার করতে যাচ্ছি ! হ্যাক করার জন্য ধন্যবাদ।
এফওএফ


1
@ জাজ্পার দয়া করে আরও সুনির্দিষ্ট হন। কি হয় / ঘটে না? ভুল বার্তা?
স্টিভেন

4
আইডি একই মানগুলি
প্রত্যাখ্যান

2

id -G | grep -qE '\<(544|0)\>'আমার আউটপুটটিতে <> বা 544 উন্নীত হওয়ার পরেও নেই বলে আমার পক্ষে কাজ করছে বলে মনে হয় না। যাইহোক, লেখার জন্য যেহেতু উচ্চতা প্রয়োজন %WINDIR%\system32, তাই আমি এটি শেল ফাংশন সহ উচ্চতার পরীক্ষার জন্য ব্যবহার করেছি:

is_elevated() { 
   [[ $(uname -o) -eq "Cygwin" ]] || return 1
   touch $WINDIR/system32/.cyg_elevated &> /dev/null
}

স্টিভেনের একটি লাল হ্যাশ চরিত্র সম্পর্কে দুর্দান্ত ধারণা প্রয়োগ করা হয়:

is_elevated && PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\[\e[0;31m\]#\[\e[0m\] '

1

এমন কিছু করুন যা কেবল অ্যাডমিনই করতে পারে এবং সাফল্য বা ব্যর্থতার পরীক্ষা করে: -

if touch c:/Users/.x ; then  echo 'ok'  ; fi

অথবা

touch c:/Users/.x && echo ok

অথবা

touch c:/Users/.x && \rm c:/Users/.x && echo ok

অথবা

touch c:/Users/.x  &> /dev/null && \rm c:/Users/.x && echo you are admin

1

উইন্ডোজে মাইসিসে এটি চেষ্টা করে দেখুন (আমি পেয়েছি উত্তরটি ম্যাসিজে কাজ করে না)

at &> /dev/null && echo "Running as admin" || echo "NOT running as admin"

এটি atকেবল প্রশাসক হিসাবে চলাকালীন শূন্য হওয়ার রিটার্ন কোডের উপর নির্ভর করে ।


1
এটি আগের পদ্ধতিতে @ স্টিভেনের একই পদ্ধতি বলে মনে হয়েছে (যা উইন্ডোজ ৮.১-এ কোনও মন্তব্য অনুসারে কাজ করবে বলে মনে হয় না - যদি এমএসওয়াইএস "এট" কোনওভাবে না থাকে)। প্রশ্নটি যখন সাইগউইন সম্পর্কে ছিল, অনুরূপ এমএসওয়াইএসের সাথে তুলনা করা আকর্ষণীয়। অবদানের জন্য ধন্যবাদ।
FooF

হ্যাঁ খুব অনুরূপ। তবে আমি এই প্রশ্নটি ব্যাশ প্রম্পট স্টাইলটি সেট করার পরিবর্তে কোনও স্ক্রিপ্ট (উইন 7, মাইসিস) পরীক্ষা করার জন্য এটি ব্যবহার করার চেষ্টা করে শেষ করেছি, তাই আমি ভেবেছিলাম যে এটি অন্য
কারওর জন্যই

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