যার লগইন অক্ষম হয়েছে এমন ব্যবহারকারী হিসাবে কীভাবে একটি কমান্ড চালাবেন?


21

আমি অন্য ব্যবহারকারী হিসাবে অ্যাপ্লিকেশন চালানোর জন্য su কমান্ডটি ব্যবহার করার চেষ্টা করছি

এক্ষেত্রে আমি ইরসি চালানোর চেষ্টা করছি

blah@ubuntu: su - [username] irssi
(enter password)

blah@ubuntu:
(nothing happens)

blah@ubuntu: su - [username] -c irssi
(nothing)

আমি gksu চালনা করি এবং একই পরামিতিগুলি সেট করি এবং এটি কাজ করে, এবং আমাকে ব্যবহারকারীর পাসওয়ার্ড জিজ্ঞাসা করে না। সমস্যা কি? এবং আমি কীভাবে এটি সমাধান করব?

আমার মনে রাখা উচিত যে ব্যবহারকারীটি এইভাবে তৈরি হয়েছিল

adduser --system --disabled-login [username]

যদি এটি কোন পার্থক্য করে .... দীর্ঘশ্বাস।


আপনি কি ইরিসি চালু করতে -স পতাকাটি ভুলে যাচ্ছেন না? (su -c irssi)
ইফেইন

এটিও চেষ্টা করেছিলেন ... এক হাজার জিনিস চেষ্টা করলেন ... ডাব্লুটিএফের চালানো কেন এতটা কঠিন, কারণ ম্যান পেজটি ঠিক তাই চায় ... তবে কিছুই হয় না গ্রাহক
ব্যবহারকারী 123361

এটি কি এমন হতে পারে যে irssiকোনও সমস্যা আছে এবং su কমান্ড কাজ করে?
Nanne

ইরশী চালানোর জন্য rights [ব্যবহারকারীর নাম] ´ সঠিক অধিকার আছে?
ডোকা

উত্তর:


28

এই উত্তরটি এখনও আপনাকে সহায়তা করতে পারে, এমনকি প্রশ্নের সম্পাদনাগুলি অ্যাকাউন্টে নেওয়া। বিশেষত, যার সাথে তৈরি অ্যাকাউন্টটির --disabled-loginকোনও পাসওয়ার্ড সেট নেই এবং লগ ইন করার কোনও উপায় নেই , তবে sudoব্যবহারকারীরূপে কমান্ড বা শেল চালানোর জন্য এটি (নীচে বর্ণিত) ব্যবহার করা সম্ভব হবে । এটি আসলে rootউবুন্টুতে কীভাবে অ্যাকাউন্ট সেট আপ হয়।

কমান্ডটি নিয়ে একাধিক সমস্যা রয়েছে su - irssi

এই কমান্ডটি ব্যবহারকারীর নামের মালিকানাধীন একটি শেল শুরু করার চেষ্টা করে ।irssi

এটি ব্যর্থ হবে যদি:

  • কোন irssiব্যবহারকারী নেই।
  • irssiব্যবহারকারীর অ্যাকাউন্ট নিষ্ক্রিয় করা হয়েছে।
  • irssiব্যবহারকারীর অ্যাকাউন্ট ইন্টারেক্টিভ লগ ইনের জন্য নিষ্ক্রিয় করা হয়েছে। কখনও কখনও কোনও অ্যাকাউন্টে এফটিপির মতো পরিষেবাগুলি ব্যবহারের অনুমতি দেওয়া হয় তবে তত্ক্ষণাত বন্ধ হয়ে যায় এমন কিছুতে তাদের শেলটি সেট করে সাধারণত লগ ইন করা নিষিদ্ধ /bin/false। তারপরে কোনও লগইন অবিলম্বে শেষ হয়, কোনও বার্তা ছাড়াই।
  • আপনি যে পাসওয়ার্ডটি প্রবেশ করছেন তা irssiব্যবহারকারীর পক্ষে সঠিক নয় ।

-তাই শেল ইনিশিয়াল লগ-ইন শেল simulates সেটির উপরে ফ্ল্যাগ লাগাতে তোলে - যে, তাই এটি সত্যিই খুব লগিং মত উপর irssi-পতাকা ব্যতীত , যদি suকমান্ডটি সফল হয় তবে আপনি নিজের মালিকানাধীন একটি শেল পাবেন irssiতবে পরিবেশের ভেরিয়েবলগুলি HOMEঅপরিবর্তিত থাকবে।

আপনি যদি পরিবর্তে ডাকা প্রোগ্রামটি চালাতে চান তবেirssi আপনাকে অবশ্যই অন্যভাবে আবেদন করতে হবে su:

su username - -c irssi

যদি আপনি ছেড়ে চলে যান তবে এটি কমান্ডটি রুট হিসাবে চালানোর চেষ্টা হিসাবে সমান ।-c username-c root

বিকল্পভাবে আপনি শেল শুরু করতে পারেন এবং তারপরে কমান্ডটি চালাতে পারেন :

  1. শেল দিয়ে শুরু করুন ।su username -
  2. শেল-এ, কমান্ডটি চালান ( irssi)।
  3. আপনি যদি সম্পন্ন করেন তবে চালা দিয়ে শেলটি ছেড়ে যান exit

কমান্ড হিসাবে চলমান root

আপনি চালাতে চান তাহলে irssiযেমন root, suপথ এটা করতে নয়। রুট লগইনগুলি উবুন্টুতে ডিফল্টরূপে অক্ষম করা হয়েছে এবং এগুলি পুনরায় সক্ষম করার খুব কমই কোনও কারণ রয়েছে । আপনি যদি rootলগইন সক্ষম করে থাকেন তবে আপনার suহয়ে ওঠার জন্য সক্ষম হওয়া উচিত rootrootঅ্যাকাউন্টটি সক্ষম করার অপ্রয়োজনীয় কারণটি হ'ল আপনি করুন বা না করুক, তবুও আপনি কমান্ডগুলি rootচালিয়ে যেতে পারেন sudo

আপনি যখন কমান্ডগুলি চালনা করেন sudo, আপনি আপনার পাসওয়ার্ডটি রেখেছেন , ব্যবহারকারীর পাসওয়ার্ড নয় যার পরিচয় অনুসারে আপনি আদেশটি চালানোর ইচ্ছা করেন। শুধু প্রশাসক হিসাবে নির্বিচারে কমান্ড চালানো হতে পারে rootসঙ্গে sudo(যতক্ষণ না আপনি পুনরায় কনফিগার sudoঅন্যান্যের তা করার অনুমতি দিতে অবশ্যই)। সুতরাং যে ব্যবহারকারীকে সিস্টেম পরিচালনার অনুমতি নেই rootতাদের নিজস্ব পাসওয়ার্ডের মতো কমান্ড চালানোর অনুমতি নেই ।

চালানোর জন্য irssiযেমন rootসঙ্গে sudo:

sudo irssi

এবং আপনার পাসওয়ার্ডটি প্রম্পট করার সময় প্রবেশ করানো হবে , এটির নয় root

আপনি যে পাসওয়ার্ড প্রবেশ করান তা বাদ দিয়ে এটি একই কাজ করে:

su -c irssi

sudoসংস্করণ ব্যতীত সফল হতে পারে কারণ এটি rootঅ্যাকাউন্ট সক্ষম করার প্রয়োজন হয় না ।

সঙ্গে ভালো লেগেছে su, আপনি ব্যবহার করতে পারেন sudoথেকে অন্য, অ- কমান্ডটির rootব্যবহারকারী । চালানোর জন্য irssiযেমন usernameসঙ্গে sudo:

sudo -u username irssi

আপনি যদি এটির প্রতি শ্রদ্ধার সাথে sudo আচরণsu -HOME করতে চান তবে আপনি লক্ষ্য ব্যবহারকারীর HOMEপরিবেশের ভেরিয়েবলগুলি ব্যবহার করতে চান , আপনি পতাকাটি sudoদিয়ে চালাতে পারেন -H:

sudo -H irssi
sudo -H -u username irssi

আপনি নিজের sudoমতো করে পুরো শেলটি শুরু করতে পারেন su। আপনি যার পাসওয়ার্ড রেখেছেন তা বাদ দিয়ে এই কমান্ডটির একই প্রভাব রয়েছে su:

sudo -s

এবং এই আদেশের একই প্রভাব রয়েছে su -:

sudo -i

( প্রারম্ভিক লগইন শেলi জন্য দাঁড়িয়েছে ।)

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

sudo -u username -s
sudo -u username -i

আরও পড়া sudo

এ সম্পর্কে আরও জানতেsudo , একবার দেখুন:

gksuকাজ হয়নি কেন su?

gksuসম্ভবত দৌড়েsudo কাজ করে

gksuউভয় su এবং জন্য একটি অগ্রভাগ sudo। উবুন্টুতে, এটি ডিফল্টরূপে sudo(যেহেতু উবুন্টুতে, suসাধারণত হয়ে ওঠার জন্য ব্যবহৃত হয় না root, এবং এটি অন্য, rootব্যবহারকারীদের হয়ে ওঠার মাধ্যমিক উপায় )।

আপনি দৌড় দিয়ে সম্মুখভাগ হিসাবে gksuব্যবহার করতে পারেন ।sugksu --su-mode

আপনি জানতে পারবেন কিনা gksuহয় suমোড অথবা sudoমোড, এবং (যদি আপনি চান) এই সেটিং পরিবর্তন, দৌড়ানো দ্বারা gksu-properties। এটি প্রতি ব্যবহারকারীর সেটিং।

যখন gksuহয় sudoমোড, এটা হিসাবে একই আচরণ করবে gksudo

আরও পড়া gksu


সমাধান-পরবর্তী বিশ্লেষণ

আপনি শেষ পর্যন্ত দেখতে পেলেন যে আপনি প্রয়োজনীয় কমান্ডটি চালাতে সক্ষম হয়েছিলেন:

sudo -u username irssi

(উপরের তালিকাভুক্ত কৌশলগুলির মধ্যে কোনটি))

শেষ পর্যন্ত, আপনি দুটি টুকরো তথ্য প্রতিবেদন করেছেন, যা অন্যান্য কৌশলগুলি কেন ব্যর্থ হয়েছিল তা কেন তা ব্যাখ্যা করার জন্য যথেষ্ট, তবে এটি সফল হয়েছিল:

  1. usernameঅ্যাকাউন্টের সাথে তৈরি করা হয়েছে --disabled-loginপতাকা, যার ফলে এটা আছে কোনো পাসওয়ার্ড (এবং লগ ইন অন্য কোন উপায়ে)। পাসওয়ার্ড না থাকার অর্থ এই নয় যে ফাঁকা পাসওয়ার্ড দিয়ে লগ ইন করা সম্ভব । এর অর্থ কোনও পাসওয়ার্ড প্রমাণীকরণের জন্য যথেষ্ট নয় is প্রমাণীকরণের অন্যান্য উপায়গুলি নির্মূলের সাথে একত্রে এই অর্থটি usernameমোটেও প্রমাণীকরণ করতে পারে না।

    সুতরাং সমস্ত suভিত্তিক সমাধানগুলি বাইরে। sudoযদিও কাজ করতে পারে, কারণ sudoআপনার যে ব্যবহারকারী হিসাবে আপনি নকল করতে চলেছেন তা প্রমাণীকরণ করে না don't পরিবর্তে, আপনি সেগুলি ছদ্মবেশ ধারণ করার জন্য অনুমোদিত হতে হবে এবং আপনি নিজেকে হিসাবে প্রমাণীকরণ করুন (অর্থাত্ নিজের পাসওয়ার্ড লিখুন, তাদের নয়)।

    অ্যাকাউন্টে একটি পাসওয়ার্ড সেট করা সম্ভব, যা লগ ইন করতে এই বাধাটিকে সরিয়ে দেয়:

    sudo passwd username

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

    আপনি যদি কখনও এটিকে পুনরায় অক্ষম করতে চান:

    sudo passwd -dl username

    সম্পর্কিত: অ্যাকাউন্টটি অস্থায়ীভাবে সক্ষম করার পরে পুনরায় অক্ষম rootকরা।

  2. usernameঅ্যাকাউন্ট রয়েছে সে ক্ষেত্রে /bin/falseতার লগ-ইন শেল হিসাবে।

    যখন কোনও শেল bashআপনার লগইন শেল হিসাবে চালিত হয়, এটি আপনার পরিবেশ সেট আপ করে এবং আপনাকে একটি ইন্টারেক্টিভ প্রম্পট দেয় যা মেশিনটি নিয়ন্ত্রণ করতে পারে।

    /bin/falseঅন্যদিকে যখন রান হয় তখন তা কিছুই করে না এবং ব্যর্থতার খবর দেয় । ( /bin/trueকিছুই করে না এবং সাফল্যের খবর দেয়))

    falseএবং trueকমান্ড স্ক্রিপ্টিং দরকারী এবং বিভিন্ন পরীক্ষার উদ্দেশ্যে, কিন্তু যাতে একটি অ্যাকাউন্ট নিষ্ক্রিয় যখন তাদের লগইন অধিবেশন অবিলম্বে প্রান্ত কাউকে লগ। এইভাবে, একটি পাসওয়ার্ড (বা প্রমাণীকরণের অন্যান্য উপায়) সক্ষম করা যেতে পারে এবং লোকেরা কেবল শেল অ্যাক্সেসের জন্য নয়, লগ ইন করতে পারে । উদাহরণস্বরূপ, যদি কোনও এফটিপি সার্ভার থাকে তবে তারা এখনও এফটিপি এর মাধ্যমে তাদের অ্যাকাউন্টটি অ্যাক্সেস করতে পারে। যদি কোনও এসএসএইচ সার্ভার থাকে তবে তারা এসএসএইচের মাধ্যমে শেল পেতে সক্ষম হবে না, তবে তারা এখনও ব্যবহার করতে sftpএবং scpফাইল স্থানান্তর করতে পারে।

    যেহেতু usernameএর লগ-ইন শেল nonfunctional ছিল, কমান্ড পছন্দ , , , এবং না পারা হবে।su usernamesu - usernamesudo -u username -ssudo -u username -i

    কিন্তু কমান্ডগুলি যে শেল দেয় না, পছন্দ করে বা এখনও কাজ করতে পারে।sudo -u username commandsu username -c 'command'

    যেহেতু কমান্ডগুলি চালানো যায়, আপনি ব্যবহারকারীর লগইন শেলটিকে কার্যকরী কিছুতে পরিবর্তন করতে পারেন :

    sudo chsh -s /bin/bash username

    তবে এটিও সতর্কতার সাথে করা উচিত, কারণ ব্যবহারকারীর জন্য ইন্টারেক্টিভ লগইনগুলি অক্ষম করার কোনও ভাল কারণ থাকতে পারে।

এখানে, usernameদুজনেরই পাসওয়ার্ড এবং "অক্ষম" শেল অক্ষম ছিল । কোনও কার্যকরী পাসওয়ার্ডের অনুপস্থিতি সমস্ত suভিত্তিক সমাধানগুলিকে কাজ করা থেকে বিরত রাখে , যখন একটি কার্যক্ষম ইন্টারেক্টিভ লগইন শেলের অনুপস্থিতি সমস্ত শেল-স্প্যানিং সমাধানগুলিকে কাজ করা থেকে বিরত রাখে (নিজেই শেলকে ডাকার মতো, যেমন )।sudo -u username bash

sudo -u username command যা রয়ে গেছে


আপনি যখন নিজের উত্তরের সাথে কাজ করছিলেন তখন অনেকগুলি সম্পাদনার জন্য দুঃখিত। কি দারুন. ধন্যবাদ. আমি যখন বিড়াল / ইত্যাদি / পাসওয়ার্ড করি যখন আমি কনফিগার করেছি ব্যবহারকারীর শেষে / বিন / মিথ্যা আছে - সুতরাং এটি কি এটি ব্যর্থ হওয়ার কারণ করছে? কোন ধারণা কিভাবে যে ঠিক কিভাবে ?
ব্যবহারকারী 123361

যে কারণেই হোক না কেন, sudo -u ব্যবহারকারীর নাম irssi ব্যবহার ট্রিট কাজ করে। আপনার দীর্ঘ, সুস্পষ্ট উত্তরের জন্য ধন্যবাদ!
ব্যবহারকারী 123361

@db আমি আনন্দিত এটি কাজ করে! (বিটিডব্লিউ, সম্পাদনা করার জন্য ক্ষমা চাইতে হবে না, সম্পাদনা খুব ভাল, খুব সম্ভবত আপনার প্রশ্নটি সম্পাদনার ফলস্বরূপ খুব বেশি লোকের পক্ষেও কার্যকর হবে)) আপনার অন্যান্য প্রশ্নের হিসাবে আমি আমার উত্তরটি সম্পাদনা করেছি শেষে একটি বিশ্লেষণ বিভাগ অন্তর্ভুক্ত করুন।
এলিয়াহ কাগন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.