useradd -o -u userXXX
@Jlliagre দ্বারা প্রস্তাবিত বিকল্পগুলির প্রত্যক্ষ কৌশল ব্যতীত তৃতীয় প্রস্তাবিত কৌশল সম্পর্কিত, আমি একই ইউআইডি হিসাবে একাধিক ব্যবহারকারীকে চালনার সাথে পরিচিত নই। (অতএব আপনি যদি এটির সাথে এগিয়ে যান তবে আপনি আগ্রহী হবেন যদি আপনি উত্থাপিত কোনও সমস্যা (বা sucesses) নিয়ে পোস্টটি আপডেট করতে পারেন ...)
আমার অনুমানটি প্রথম বিকল্পটি সম্পর্কে "আমার প্রত্যেকের এসএসএইচ পাবলিক কীটি ~ মূল / .ssh / अधिकृत_keys2" তে স্থাপন করা হয়েছে "সম্পর্কিত প্রথম পর্যবেক্ষণটি হ'ল যদি আপনি একেবারে অন্য কোনও সিস্টেমে কাজ না করেন;
- তারপরে কমপক্ষে কিছু সময় আপনাকে ব্যবহারকারী অ্যাকাউন্ট এবং এর সাথে কাজ করতে হবে
sudo
দ্বিতীয় পর্যবেক্ষণটি হ'ল, আপনি যদি এইচআইপিএ, পিসিআই-ডিএসএস সম্মতি, বা সিএপিপি এবং ইএল এর মতো স্টাফগুলিতে আগ্রহী এমন সিস্টেমে কাজ করেন তবে আপনাকে সুডোর ইস্যুগুলি নিয়ে কাজ করতে হবে কারণ;
- এটি অ-রুট স্বতন্ত্র ব্যবহারকারীর অ্যাকাউন্টগুলি সরবরাহ করার একটি শিল্প মান , যা সাধারণত কিছু কেন্দ্রীভূত ব্যবহারকারীর ডাটাবেস ব্যবহার করে নিরীক্ষণ, অক্ষম, মেয়াদোত্তীর্ণ ইত্যাদি করা যায়।
এরূপই ব্যক্তিগতকৃত অ্যাকাউন্ট এবং sudo ব্যবহার করে
এটি দুর্ভাগ্যজনক যে সিসাদমিন হিসাবে, রিমোট মেশিনে আপনাকে যা করতে হবে তার প্রায় প্রতিটি কিছুর জন্য কিছু উন্নত অনুমতি প্রয়োজন হবে, তবে এটি বিরক্তিকর যে এসএসএইচ ভিত্তিক বেশিরভাগ সরঞ্জাম এবং ইউটিলিটিগুলি যখন আপনি প্রবেশ করছিলেন তখন এটি ব্যষ্ট হয় sudo
অতএব আমি কিছু কৌশল ব্যবহার করতে পারি যা আমি sudo
আপনাকে উল্লেখ করেছি এর বিরক্তি ঘিরে কাজ করতে পারি। প্রথম সমস্যাটি হ'ল যদি রুট লগইনটি ব্যবহার করে অবরুদ্ধ করা হয় PermitRootLogin=no
বা ssh কী ব্যবহার করে আপনার রুট নেই, তবে এটি এসসিপি ফাইলগুলিকে পিআইটিএর কিছু তৈরি করে।
সমস্যা 1 : আপনি দূরবর্তী দিক থেকে ফাইলগুলি স্ক্রিপ করতে চান তবে তাদের রুট অ্যাক্সেসের প্রয়োজন, তবে আপনি সরাসরি রুট হিসাবে দূরবর্তী বাক্সে লগইন করতে পারবেন না।
বিরক্তিকর সমাধান : হোম ডিরেক্টরিতে ফাইলগুলি অনুলিপি করুন, ডাউন করুন এবং স্ক্যাপ ডাউন করুন।
ssh userXXX@remotesystem
, sudo su -
ইত্যাদি, cp /etc/somefiles
থেকে /home/userXXX/somefiles
, chown -R userXXX /home/userXXX/somefiles
দূরবর্তী থেকে ফাইলগুলি পুনরুদ্ধার করতে scp ব্যবহার করুন।
সত্যিই খুব বিরক্তিকর।
কম বিরক্তিকর সমাধান : sftp -s sftp_server
পতাকাটিকে সমর্থন করে , অতএব আপনি নিম্নলিখিতগুলির মতো কিছু করতে পারেন (যদি আপনি পাসওয়ার্ড-কম সুডো কনফিগার করেছেন /etc/sudoers
);
sftp -s '/usr/bin/sudo /usr/libexec/openssh/sftp-server' \
userXXX@remotehost:/etc/resolv.conf
(আপনি এসএসএফএস সহ এই হ্যাক-এর আশেপাশেও ব্যবহার করতে পারেন তবে আমি এটির প্রস্তাবিত তা নিশ্চিত নই ... ;-)
যদি আপনার কাছে পাসওয়ার্ড-কম সুডোর অধিকার না থাকে বা কোনও কনফিগার কারণে যে উপরের পদ্ধতিটি নষ্ট হয়ে গেছে, দূরবর্তী রুট ফাইলগুলি অ্যাক্সেস করার জন্য আমি আরও একটি কম বোরিং ফাইল স্থানান্তর পদ্ধতি প্রস্তাব করতে পারি।
পোর্ট ফরওয়ার্ড নিনজা পদ্ধতি :
দূরবর্তী হোস্টে লগইন করুন তবে নির্দিষ্ট করুন যে রিমোট পোর্ট 3022 (যে কোনও কিছুই নিখরচায় হতে পারে, এবং অ্যাডমিনিদের জন্য અનામત নয়, যেমন> 1024) স্থানীয় দিকে 22 পোর্টে ফরোয়ার্ড করতে হবে।
[localuser@localmachine ~]$ ssh userXXX@remotehost -R 3022:localhost:22
Last login: Mon May 21 05:46:07 2012 from 123.123.123.123
------------------------------------------------------------------------
This is a private system; blah blah blah
------------------------------------------------------------------------
স্বাভাবিক ফ্যাশনে শিকড় পান ...
-bash-3.2$ sudo su -
[root@remotehost ~]#
এখন আপনি ফাইলগুলির মধ্যবর্তী অনুলিপি করার বিরক্তিকর বোরিং পদক্ষেপ এড়িয়ে অন্যদিকে ফাইলগুলি স্ক্যাপ করতে পারেন;
[root@remotehost ~]# scp -o NoHostAuthenticationForLocalhost=yes \
-P3022 /etc/resolv.conf localuser@localhost:~
localuser@localhost's password:
resolv.conf 100%
[root@remotehost ~]#
সমস্যা 2: এসএসএইচ এজেন্ট ফরওয়ার্ডিং : আপনি যদি রুট প্রোফাইল লোড করেন, যেমন লগইন শেল নির্দিষ্ট করে, এসএসএইচ এজেন্ট ফরওয়ার্ডিংগুলির জন্য প্রয়োজনীয় পরিবেশের ভেরিয়েবল যেমন SSH_AUTH_SOCK
রিসেট করা হয়, সুতরাং এসএসএইচ এজেন্ট ফরওয়ার্ডিং "ভাঙ্গা" এর নিচে sudo su -
।
অর্ধ বেক উত্তর :
রুট শেলটি যথাযথভাবে লোড করা যে কোনও কিছু, পরিবেশকে যথাযথভাবে পুনরায় সেট করতে চলেছে, তবে আপনার যখন দুটি রুট অনুমতি প্রয়োজন হবে এবং একই সময়ে এসএসএইচ এজেন্ট ব্যবহার করার ক্ষমতা প্রয়োজন হবে তখন আপনার ব্যবহার করতে পারেন কিছুটা কাজ
এটি এক ধরণের চিমের প্রোফাইল অর্জন করে, এটি সত্যিই ব্যবহার করা উচিত নয়, কারণ এটি একটি বাজে হ্যাক , তবে যখন আপনাকে অন্য কোনও দূরবর্তী হোস্টের কাছে দূরবর্তী হোস্ট থেকে এসসিপি ফাইলগুলি দরকার হয় তখন কার্যকর হয়।
যাইহোক, আপনি সক্ষম করতে পারেন যে আপনার ব্যবহারকারী তাদের এএনভি ভেরিয়েবলগুলি সংরক্ষণ করতে পারবেন, নিম্নোক্তগুলিতে সেট করে;
Defaults:userXXX !env_reset
এটি আপনাকে এর মতো বাজে হাইব্রিড লগইন পরিবেশ তৈরি করতে দেয়;
স্বাভাবিক হিসাবে লগইন;
[localuser@localmachine ~]$ ssh userXXX@remotehost
Last login: Mon May 21 12:33:12 2012 from 123.123.123.123
------------------------------------------------------------------------
This is a private system; blah blah blah
------------------------------------------------------------------------
-bash-3.2$ env | grep SSH_AUTH
SSH_AUTH_SOCK=/tmp/ssh-qwO715/agent.1971
একটি বাশ শেল তৈরি করুন, এটি চলমান /root/.profile
এবং /root/.bashrc
। কিন্তু সংরক্ষণ করেSSH_AUTH_SOCK
-bash-3.2$ sudo -E bash -l
সুতরাং এই শেলটির রুট অনুমতি এবং মূল রয়েছে $PATH
(তবে একটি বোর্কের হোম ডিরেক্টরি ...)
bash-3.2# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=user_u:system_r:unconfined_t
bash-3.2# echo $PATH
/usr/kerberos/sbin:/usr/local/sbin:/usr/sbin:/sbin:/home/xtrabm/xtrabackup-manager:/usr/kerberos/bin:/opt/admin/bin:/usr/local/bin:/bin:/usr/bin:/opt/mx/bin
তবে আপনি সেই অনুরোধটি এমন কিছু করতে করতে পারেন যা দূরবর্তী সুডো রুটের প্রয়োজন হয়, তবে এসএসএইচ এজেন্টের অ্যাক্সেসের মতোও;
bash-3.2# scp /root/.ssh/authorized_keys ssh-agent-user@some-other-remote-host:~
/root/.ssh/authorized_keys 100% 126 0.1KB/s 00:00
bash-3.2#
-o
পতাকাটি দেখুনuseradd
। একই পতাকাটি একাধিক ব্যবহারকারীকে ভাগ করে নেওয়ার জন্য এই পতাকাটি রয়েছে।