আমি আমার সার্ভারে একটি ক্লায়েন্টকে অ্যাক্সেস দিতে চাই, তবে আমি সেই ব্যবহারকারীদের তাদের হোম ডিরেক্টরিতে সীমাবদ্ধ রাখতে চাই। আমি দেখতে চাইলে যে কোনও ফাইল বাঁধতে পারে।
আমি কল করা একটি ব্যবহারকারী তৈরি করেছি bob
এবং তাকে নতুন একটি গ্রুপে যুক্ত করেছি sftponly
। তাদের একটি হোম ডিরেক্টরি রয়েছে /home/bob
। আমি /bin/false
এসএসএইচ লগইন বন্ধ করতে তাদের শেল পরিবর্তন করেছি । এখানে তাদের /etc/passwd
লাইন:
bob:x:1001:1002::/home/bob:/bin/false
আমি /etc/ssh/sshd_config
নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে পরিবর্তন করেছি :
Match Group sftponly
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no
আমি যখন তাদের হিসাবে লগ ইন করার চেষ্টা করি তখন আমি যা দেখছি তা এখানে
$ sftp bob@server
bob@server's password:
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
যদি আমি ChrootDirectory
লাইনটিতে মন্তব্য করতে পারি তবে আমি এসএফটিপি করতে পারি তবে তারপরে তাদের সার্ভারের উপর নিখরচায় লাগাম রয়েছে। আমি খুঁজে পেয়েছি যে ChrootDirectory /home
কাজ করে, তবে এটি তাদের যে কোনও হোম ডিরেক্টরিতে অ্যাক্সেস দেয়। আমি স্পষ্টভাবে চেষ্টা করেছি ChrootDirectory /home/bob
কিন্তু এটিও কাজ করে না।
আমি কি ভুল করছি? আমি কিভাবে সীমিত করতে পারেন bob
করতে /home/bob/
?
---- সম্পাদনা -----
ঠিক আছে তাই আমি এটি একবার /var/log/auth.log
দেখেছিলাম এবং এটি দেখেছি:
May 9 14:45:48 nj sshd[5074]: pam_unix(sshd:session): session opened for user bob by (uid=0)
May 9 14:45:48 nj sshd[5091]: fatal: bad ownership or modes for chroot directory component "/home/bob/"
May 9 14:45:48 nj sshd[5074]: pam_unix(sshd:session): session closed for user bob
আমি সেখানে পুরোপুরি নিশ্চিত নই যে এটি ব্যবহারকারীর ডিরেক্টরিতে কিছু ভুল আছে is এখানে ls -h /home
ফলাফল:
drwxr-xr-x 26 oli oli 4096 2012-01-19 17:19 oli
drwxr-xr-x 3 bob bob 4096 2012-05-09 14:11 bob
ChrootDirectory /home/%u
যে প্রতিস্থাপন করা যেতে পারেChrootDirectory %h
।