আমি যখন সেন্টোস সার্ভারে এসএসএইচ করব তখন ডিফল্ট পাথ পরিবর্তন করবেন?


12

আমার একটি CentOS 5.7 ওয়েব সার্ভার রয়েছে এবং আমি এসএসএইচ ব্যবহার করে সংযোগ করার সময় আমি যে ডিফল্ট স্থানে অবতরণ করেছি তা পরিবর্তন করতে চাই।

বর্তমানে আমি অবতরণ /home/usernameকরছি এবং /homeপরিবর্তে আমি অবতরণ করতে চাই ।

আমি root পরিচয়ে সর্বস্বান্ত করেছি এবং যোগ PermitUserEnvironment yesকরার জন্য /etc/.ssh/sshd_config- এবং হিসাবে আমি এটা বুঝতে পারি যে এটি তারপর ব্যবহারকারীর নিজের sweeps sshএকটি জন্য ফোল্ডার environmentফাইল। আমি যে বিষয়ে নিশ্চিত নই তা হ'ল আমি এই পরিবেশের ফাইলটিতে যা যুক্ত করছি ঠিক export path=$PATH:$HOMEতেমনই এখানে কাজ করা হবে বলে মনে হয় না বা আমার .bashrc বা .bash_profile ফাইলগুলিতে (যা আমি বুঝতে পেরেছি তাতে কোনও পার্থক্য হবে না যাইহোক একটি এসএসএইচ সংযোগ হিসাবে এটি একটি অ-ইন্টারেক্টিভ শেল?)।

আগাম ধন্যবাদ.

উত্তর:


14

আপনি যদি প্রমাণীকরণের জন্য পিএএম ব্যবহার করেন তবে এটি সম্ভবত সবচেয়ে সম্ভবত। হিসাবে রুট মাথা হিসাবে /etc/passwd

সেখানে আপনার ব্যবহারকারীর নাম এবং পথটি দেখতে হবে! সেখানে এটি পরিবর্তন করুন এবং আপনি বাড়ি মুক্ত!

সম্পাদনা করুন - দুঃখিত, আমার কাছে কেবল এটি ঘটেছে যে আপনি সম্ভবত নিজের বাড়ির ফোল্ডারটি পরিবর্তন করতে চাননি। সেক্ষেত্রে কেবল যুক্ত করুন:

cd /home

আপনার .bashrcফাইলের নীচে !


4
এটা ব্যবহার করা ভালো usermodযখন একজন ব্যবহারকারী যে উদ্দেশে চিঠি লেখেন বিষয়ে কিছু পরিবর্তন /etc/passwd, যা ভুল প্রতিরোধ: usermod -d /home user
লেবেশদে

1
সে সম্পর্কে মন্তব্য .bashrcআমাকে ফেসপাম বানিয়েছে। এটি এত সহজ এবং সুস্পষ্ট, আশা করি আমি এটির কথা ভাবতাম! ভাল করেছ. যশ!
cwallenpoole

4

মনে রাখার বিষয়টি ~/.ssh/environmentহ'ল শেল বা sshকমান্ড তৈরি হওয়ার আগে এটি পড়া হয়, সুতরাং (উদাহরণস্বরূপ) রফতানিও হবে না $ PATH বোঝায় না। আপনি এখানে পরিবেশগত ভেরিয়েবল (সাধারণ শেল কমান্ডগুলি চালাবেন না) সেট করতে পারেন।

যদি আপনি একটি অ-ইন্টারেক্টিভ এসএস শেলের জন্য পরিবেশটি দখল করেন, তবে এটি পরিবর্তন করুন, অ-ইন্টারেক্টিভ কমান্ডগুলির জন্য আপনার যা চান তা পাওয়া উচিত। উদাহরণ স্বরূপ:

$ ssh mylogin@myserver env

ssh আপনার সার্ভারে কী শুরু করবে তা আপনাকে দেবে। আপনি যদি নিজের ~/.ssh/environmentফাইলটি লিখেন তবে :

PATH=/usr/local/bin

এবং উপরেরটি পুনরায় চালু করুন, আপনার "বাশ: এনভি: কমান্ড পাওয়া যায় নি" should ভাল!

আপনার সিস্টেমের sshd(যেমন প্রথম "ssh .... env" কল) এর ভিত্তিতে এটি কী ছিল তার উপর ভিত্তি করে এখন আপনার পথটি সুস্পষ্টভাবে তৈরি করুন , উদাহরণস্বরূপ ( /usr/local/binমাথায় যুক্ত করা):

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

এছাড়াও খেয়াল করুন যে সিডাব্লুডি সেট করার চেষ্টা করা কার্যকর নয় ~/.ssh/rc(যা পরে ~/.ssh/environmentপড়ার পরে চালানো হয় তবে sshশেল বা কমান্ডের আগে ) যেমন আপনার শেলটি আপনার বাড়ির পথে শুরু হবে (ডিফল্টরূপে)।


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