এই উত্তরটি এখনও আপনাকে সহায়তা করতে পারে, এমনকি প্রশ্নের সম্পাদনাগুলি অ্যাকাউন্টে নেওয়া। বিশেষত, যার সাথে তৈরি অ্যাকাউন্টটির
--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
বিকল্পভাবে আপনি শেল শুরু করতে পারেন এবং তারপরে কমান্ডটি চালাতে পারেন :
- শেল দিয়ে শুরু করুন ।
su username -
- শেল-এ, কমান্ডটি চালান (
irssi
)।
- আপনি যদি সম্পন্ন করেন তবে চালা দিয়ে শেলটি ছেড়ে যান
exit
।
কমান্ড হিসাবে চলমান root
আপনি চালাতে চান তাহলে irssi
যেমন root
, su
পথ এটা করতে নয়। রুট লগইনগুলি উবুন্টুতে ডিফল্টরূপে অক্ষম করা হয়েছে এবং এগুলি পুনরায় সক্ষম করার খুব কমই কোনও কারণ রয়েছে । আপনি যদি root
লগইন সক্ষম করে থাকেন তবে আপনার su
হয়ে ওঠার জন্য সক্ষম হওয়া উচিত root
। root
অ্যাকাউন্টটি সক্ষম করার অপ্রয়োজনীয় কারণটি হ'ল আপনি করুন বা না করুক, তবুও আপনি কমান্ডগুলি 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
ব্যবহার করতে পারেন ।su
gksu --su-mode
আপনি জানতে পারবেন কিনা gksu
হয় su
মোড অথবা sudo
মোড, এবং (যদি আপনি চান) এই সেটিং পরিবর্তন, দৌড়ানো দ্বারা gksu-properties
। এটি প্রতি ব্যবহারকারীর সেটিং।
যখন gksu
হয় sudo
মোড, এটা হিসাবে একই আচরণ করবে gksudo
।
আরও পড়া gksu
সমাধান-পরবর্তী বিশ্লেষণ
আপনি শেষ পর্যন্ত দেখতে পেলেন যে আপনি প্রয়োজনীয় কমান্ডটি চালাতে সক্ষম হয়েছিলেন:
sudo -u username irssi
(উপরের তালিকাভুক্ত কৌশলগুলির মধ্যে কোনটি))
শেষ পর্যন্ত, আপনি দুটি টুকরো তথ্য প্রতিবেদন করেছেন, যা অন্যান্য কৌশলগুলি কেন ব্যর্থ হয়েছিল তা কেন তা ব্যাখ্যা করার জন্য যথেষ্ট, তবে এটি সফল হয়েছিল:
username
অ্যাকাউন্টের সাথে তৈরি করা হয়েছে --disabled-login
পতাকা, যার ফলে এটা আছে কোনো পাসওয়ার্ড (এবং লগ ইন অন্য কোন উপায়ে)। পাসওয়ার্ড না থাকার অর্থ এই নয় যে ফাঁকা পাসওয়ার্ড দিয়ে লগ ইন করা সম্ভব । এর অর্থ কোনও পাসওয়ার্ড প্রমাণীকরণের জন্য যথেষ্ট নয় is প্রমাণীকরণের অন্যান্য উপায়গুলি নির্মূলের সাথে একত্রে এই অর্থটি username
মোটেও প্রমাণীকরণ করতে পারে না।
সুতরাং সমস্ত su
ভিত্তিক সমাধানগুলি বাইরে। sudo
যদিও কাজ করতে পারে, কারণ sudo
আপনার যে ব্যবহারকারী হিসাবে আপনি নকল করতে চলেছেন তা প্রমাণীকরণ করে না don't পরিবর্তে, আপনি সেগুলি ছদ্মবেশ ধারণ করার জন্য অনুমোদিত হতে হবে এবং আপনি নিজেকে হিসাবে প্রমাণীকরণ করুন (অর্থাত্ নিজের পাসওয়ার্ড লিখুন, তাদের নয়)।
অ্যাকাউন্টে একটি পাসওয়ার্ড সেট করা সম্ভব, যা লগ ইন করতে এই বাধাটিকে সরিয়ে দেয়:
sudo passwd username
তবে ব্যবহারকারীদের লগ ইন করার অনুমতি না পাওয়ার কোনও ভাল কারণ থাকতে পারে For উদাহরণস্বরূপ, যদি এই ব্যবহারকারীর লগ ইন করার অনুমতি দেওয়া হয় এবং গ্রাফিকালি লগ ইন করা হয় তবে ব্যবহারকারীর পরিবেশ থেকে খারাপ সমস্যা দেখা দিতে পারে বা এক্স 11 অ্যাপ্লিকেশন চালানোর পক্ষে সুবিধাগুলি খুব কমই উপযুক্ত হতে পারে? ? যদি এই ব্যবহারকারী লগইন করতে পারতেন তবে কি সেই ব্যবহারকারী হিসাবে দূরবর্তী অবস্থান থেকে লগইন করা সম্ভব হবে (এমন মেশিনগুলির জন্য যেখানে আপনি নেটওয়ার্ক পরিষেবাগুলি উন্মোচিত করেছেন)?
আপনি যদি কখনও এটিকে পুনরায় অক্ষম করতে চান:
sudo passwd -dl username
সম্পর্কিত: অ্যাকাউন্টটি অস্থায়ীভাবে সক্ষম করার পরে পুনরায় অক্ষম root
করা।
username
অ্যাকাউন্ট রয়েছে সে ক্ষেত্রে /bin/false
তার লগ-ইন শেল হিসাবে।
যখন কোনও শেল bash
আপনার লগইন শেল হিসাবে চালিত হয়, এটি আপনার পরিবেশ সেট আপ করে এবং আপনাকে একটি ইন্টারেক্টিভ প্রম্পট দেয় যা মেশিনটি নিয়ন্ত্রণ করতে পারে।
/bin/false
অন্যদিকে যখন রান হয় তখন তা কিছুই করে না এবং ব্যর্থতার খবর দেয় । ( /bin/true
কিছুই করে না এবং সাফল্যের খবর দেয়))
false
এবং true
কমান্ড স্ক্রিপ্টিং দরকারী এবং বিভিন্ন পরীক্ষার উদ্দেশ্যে, কিন্তু যাতে একটি অ্যাকাউন্ট নিষ্ক্রিয় যখন তাদের লগইন অধিবেশন অবিলম্বে প্রান্ত কাউকে লগ। এইভাবে, একটি পাসওয়ার্ড (বা প্রমাণীকরণের অন্যান্য উপায়) সক্ষম করা যেতে পারে এবং লোকেরা কেবল শেল অ্যাক্সেসের জন্য নয়, লগ ইন করতে পারে । উদাহরণস্বরূপ, যদি কোনও এফটিপি সার্ভার থাকে তবে তারা এখনও এফটিপি এর মাধ্যমে তাদের অ্যাকাউন্টটি অ্যাক্সেস করতে পারে। যদি কোনও এসএসএইচ সার্ভার থাকে তবে তারা এসএসএইচের মাধ্যমে শেল পেতে সক্ষম হবে না, তবে তারা এখনও ব্যবহার করতে sftp
এবং scp
ফাইল স্থানান্তর করতে পারে।
যেহেতু username
এর লগ-ইন শেল nonfunctional ছিল, কমান্ড পছন্দ , , , এবং না পারা হবে।su username
su - username
sudo -u username -s
sudo -u username -i
কিন্তু কমান্ডগুলি যে শেল দেয় না, পছন্দ করে বা এখনও কাজ করতে পারে।sudo -u username command
su username -c 'command'
যেহেতু কমান্ডগুলি চালানো যায়, আপনি ব্যবহারকারীর লগইন শেলটিকে কার্যকরী কিছুতে পরিবর্তন করতে পারেন :
sudo chsh -s /bin/bash username
তবে এটিও সতর্কতার সাথে করা উচিত, কারণ ব্যবহারকারীর জন্য ইন্টারেক্টিভ লগইনগুলি অক্ষম করার কোনও ভাল কারণ থাকতে পারে।
এখানে, username
দুজনেরই পাসওয়ার্ড এবং "অক্ষম" শেল অক্ষম ছিল । কোনও কার্যকরী পাসওয়ার্ডের অনুপস্থিতি সমস্ত su
ভিত্তিক সমাধানগুলিকে কাজ করা থেকে বিরত রাখে , যখন একটি কার্যক্ষম ইন্টারেক্টিভ লগইন শেলের অনুপস্থিতি সমস্ত শেল-স্প্যানিং সমাধানগুলিকে কাজ করা থেকে বিরত রাখে (নিজেই শেলকে ডাকার মতো, যেমন )।sudo -u username bash
sudo -u username command
যা রয়ে গেছে