CH-J Server ManagerSSH-এর মাধ্যমে সার্ভার ব্যবস্থাপনা
মেনু
সব নির্দেশিকা ও নিবন্ধ →

SFTP ও sudo দিয়ে /etc-এর ফাইল সম্পাদনা করবেন যেভাবে

SFTP কেন /etc-এ অনুমতি প্রত্যাখ্যান করে এবং root প্রবেশাধিকার উন্মুক্ত না করেই কনফিগারেশন ফাইল নিরাপদে বদলানোর উপায়।

SFTP কেন অনুমতি প্রত্যাখ্যান করে

SFTP আপনি যে অ্যাকাউন্ট দিয়ে লগইন করেছেন তার অধীনেই চলে এবং এতে sudo-এর সমতুল্য কোনো ব্যবস্থা নেই। /etc-এর বেশির ভাগ ফাইলের মালিক root, তাই সাধারণ অ্যাকাউন্ট সেগুলোর কিছু পড়তে পারলেও কোনোটিতে লিখতে পারে না। এটি সঠিক আচরণ; অনুমতি শিথিল করে এর সমাধান করা উচিত নয়।

যা করবেন না

কনফিগারেশন ফাইলে chmod 777 চালাবেন না, /etc-এর ফাইলগুলোর মালিক নিজের অ্যাকাউন্টে বদলাবেন না এবং শুধু একবার সম্পাদনার জন্য root-এর পাসওয়ার্ড লগইন চালু করবেন না। কিছু সার্ভিস অতিরিক্ত শিথিল অনুমতিসম্পন্ন ফাইল গ্রহণ করে না এবং এ ধরনের প্রতিটি পরিবর্তন সম্পাদনা শেষ হওয়ার অনেক পরেও সার্ভারের নিরাপত্তা কমিয়ে রাখে।

টার্মিনালে sudoedit ব্যবহার করুন

sudoedit ফাইলটি অস্থায়ী স্থানে কপি করে, আপনার নিজের অ্যাকাউন্টের অধীনে আপনার সম্পাদকে খোলে এবং আপনি সেভ করার পরেই মূল স্থানে ফেরত লেখে। সম্পাদক নিজে root হিসেবে চলে না।

sudoedit /etc/nginx/nginx.conf

একটি কপি আপলোড করে তারপর স্থাপন করুন

স্থানীয় সম্পাদক পছন্দ করলে ফাইলটি নিজের হোম ডিরেক্টরিতে আপলোড করুন এবং sudo দিয়ে স্থাপন করুন। আগে মূল ফাইলের ব্যাকআপ এমন জায়গায় রাখুন, যেখান থেকে কনফিগারেশন অন্তর্ভুক্ত করার কোনো নির্দেশ তা পড়বে না। install কমান্ড মালিক ও অনুমতির মোড নির্ধারণ করে এবং SELinux থাকা সিস্টেমে restorecon সঠিক কনটেক্সট নির্ধারণ করে। এই মানগুলো ব্যবহার করার আগে মূল ফাইলের মালিক ও অনুমতির মোড যাচাই করুন, কারণ সব ফাইলে root ও 644 ব্যবহৃত হয় না।

stat -c '%U %G %a' /etc/nginx/nginx.conf
sudo cp -a /etc/nginx/nginx.conf /root/nginx.conf.bak
sudo install -o root -g root -m 644 ~/nginx.conf.new /etc/nginx/nginx.conf
sudo restorecon -v /etc/nginx/nginx.conf

প্রয়োগের আগে যাচাই করুন

সিনট্যাক্সে ভুল থাকা ফাইল পরবর্তী পুনরারম্ভের সময় সার্ভিস বন্ধ করে দিতে পারে। সার্ভিস রিলোড করার আগে সংশ্লিষ্ট সার্ভিসের যাচাই চালান। SSH সেটিং বদলানোর সময় বর্তমান সেশন খোলা রাখুন এবং দ্বিতীয় উইন্ডো থেকে নতুন করে লগইন পরীক্ষা করুন।

sudo nginx -t
sudo sshd -t
sudo visudo -cf /etc/sudoers.d/example

CH-J Server Manager-এ sudo দিয়ে সম্পাদনা

SSH অ্যাকাউন্ট কোনো ফাইল পড়তে না পারলে File Manager সেটি sudo দিয়ে খোলার প্রস্তাব দেয় এবং সেভ করতে sudo লাগবে বলে সতর্ক করে। সেভ করার সময় ডেটা অ্যাকাউন্টের ব্যক্তিগত অস্থায়ী ডিরেক্টরিতে যায় এবং যাচাইয়ের পরে sudo সেটিকে নির্দিষ্ট স্থানে সরিয়ে নেয়। এ সময় মালিক, অনুমতি, ACL ও SELinux কনটেক্সট অক্ষুণ্ণ থাকে। ঐচ্ছিক ব্যাকআপ সুবিধা প্রতিস্থাপনের আগে মূল ফাইলের একটি কপি রাখে। পাসওয়ার্ড শুধু সার্ভারের sudo-তে পাঠানো হয়; ডিস্ক বা লগে রাখা হয় না। sudo নীতিতে টার্মিনাল আবশ্যক হলে (requiretty) অ্যাপ তা পাশ কাটায় না। অ্যাপ ফাইলের বিষয়বস্তু যাচাই করে না, তাই সার্ভিসের যাচাই নিজে চালান।

বিস্তারিত ডকুমেন্টেশন

man: sudo / sudoedit →

man: install →

বায়োমেট্রিক আনলক ও নিরাপত্তা →