এটি সহজ। আপনার অ্যাক্সেস পাওয়ার জন্য তার প্রয়োজন অনুসারে তার হোম ডিরেক্টরি সেট করে একটি নতুন ব্যবহারকারী তৈরি করুন (এই কমান্ডটি অবশ্যই sudo
রুট শেলের নীচে বা চালানো উচিত ):
adduser --home /restricted/directory restricted_user
এটি একটি ব্যবহারকারী restricted_user
, ডিরেক্টরি তৈরি করবে /restricted/directory
এবং তারপরে ডিরেক্টরিতে অনুমতি নির্ধারণ করা হবে যাতে ব্যবহারকারী এতে লিখতে পারেন। এটি ডিফল্টরূপে অন্য কোনও ডিরেক্টরিতে লেখার ক্ষমতা রাখে না।
আপনার যদি ইতিমধ্যে ডিরেক্টরিটি থাকে তবে আপনি adduser
একটি --no-create-home
বিকল্প সংযোজন করে কমান্ড চালাতে পারেন এবং ম্যানুয়ালি অনুমতিগুলি সেট করতে পারেন (মূল অধিকারগুলি সহ) যেমন:
chown restricted_user:restricted_user /restricted/directory
chmod 755 /restricted/directory
আপনার যদি এই ব্যবহারকারীর পক্ষে এমনকি বিশ্ব-লিখনযোগ্য ডিরেক্টরিগুলি অ্যাক্সেসযোগ্যও করা দরকার হয় তবে দুটি বৈকল্পিক রয়েছে।
1) আপনি যদি ব্যবহারকারীকে একটি ইন্টারেক্টিভ শেল সেশন সরবরাহ করতে চান, তবে ক্রুট জেল তৈরি করার বিষয়ে এই ম্যানুয়ালটি অনুসরণ করার বিষয়টি বিবেচনা করুন (আপনার /restricted/directory
)।
এর পরে, আপনার সাথে নিম্নলিখিতগুলি যুক্ত করুন sshd_config
:
Match user restricted_user
ChrootDirectory /restricted/directory
2) যদি আপনার কেবল তার সংযোগের শেষ পয়েন্ট এবং আপনার হোস্টের মধ্যে ফাইলগুলি অনুলিপি করার প্রয়োজন হয় তবে সবকিছুই খুব সহজ। আপনার শেষে এই লাইনগুলি যুক্ত করুন sshd_config
:
Match user restricted_user
ForceCommand internal-sftp
ChrootDirectory /restricted/directory
Subsystem sftp internal-sftp
তারপরে শুরুতে Subsystem sftp /usr/lib/openssh/sftp-server
একটি হ্যাশ ( #
) চিহ্ন রেখে মন্তব্য করুন ।
আপনার এসএসএইচ সার্ভারটি পুনঃসূচনা করার পরে (এটি পুনরায় আরম্ভের সময় ইন্টারেক্টিভ সেশনগুলি হত্যা করে না, সুতরাং এটি নিরাপদ এমনকি যদি আপনি কোনও কিছুর ভুল কনফিগার করেছেন; এছাড়াও, আপনি এখনও লগ ইন করতে সক্ষম হয়েছেন কিনা তা পরীক্ষা করে দেখার আগে আপনার চলমান সেশনটি বন্ধ না করে), সমস্ত কিছু কাজ করা উচিত উদ্দেশ্যে.