ভুলে যান sudo su
ব্যবহার করার কোনও লাভ নেই sudo su
, এটি যখন থেকে মানুষ ব্যবহার করার অভ্যস্ত ছিল তখন থেকেই এটি অ্যানক্রোনস্টিক অভ্যাস su
। sudo
লিনাক্স ডিস্ট্রস যখন একটি রুট পাসওয়ার্ড সেট করা বন্ধ করে এবং sudo
রুট অ্যাকাউন্টটি অ্যাক্সেসের একমাত্র উপায় তৈরি করে তখন লোকেরা সামনে টেকিং শুরু করে। তাদের অভ্যাস পরিবর্তন করার পরিবর্তে তারা কেবল ব্যবহার করেছিল sudo su
। (আমি তুলনামূলকভাবে সম্প্রতি পর্যন্ত তাদের মধ্যে একজন ছিলাম যখন sudoers
কনফিগারেশনের সাথে বাক্স ব্যবহার করা আমাকে আমার অভ্যাসটি পরিবর্তন করতে বাধ্য করেছিল)।
ব্যবহার sudo -u
একটি লগইন শেল জন্য, sudo -u postgres -i
ভাল sudo su - postgres
। এটির ব্যবহারকারীর রুট অ্যাক্সেস থাকা দরকার না /etc/sudoers
, তাদের কেবল ব্যবহারকারী হওয়ার অধিকার প্রয়োজন postgres
। এটি আপনাকে আরও ভাল অ্যাক্সেস নিয়ন্ত্রণগুলি প্রয়োগ করতে দেয়।
কমান্ড কার্যকর করার জন্য
sudo -u postgres psql -c "SELECT 1"
বিকল্প তুলনায় উচ্চতর:
sudo su - postgres -c "psql -c \"SELECT 1\""
এতে আপনাকে কোট এবং অন্যান্য শেল মেটাচার্যাক্টরগুলির পাশাপাশি ডাবল-পলায়ন করতে হবে না এবং সেই সাথে রুটের প্রয়োজন নেই এর অন্যান্য সুরক্ষা সুবিধাও রয়েছে। আপনি সম্ভবত দুর্ঘটনাক্রমে লেখা অবতরণ করবেন:
sudo su - postgres -c psql -c "SELECT 1"
কখনও কখনও, যা সঠিকভাবে কাজ করবে না।
পরিশেষে sudo
, যেমন পরিবেশের ভেরিয়েবলগুলি সেট করা সহজ to
sudo PATH=/usr/pgsql-9.3/bin:$PATH -u postgres /usr/pgsql-9.3/bin/initdb -D /var/lib/pgsql/testcluster
মাধ্যমে su
। (এখানে, PATH
সেটিংসের প্রয়োজনীয়তা রয়েছে যাতে এটি কার্যকর কার্যকর initdb
হতে পারে postgres
)।
So. su
কমান্ড বিদ্যমান ভুলে যান । আপনার আর দরকার নেই। অভ্যাসটি ভাঙ্গার জন্য, এটির জন্য এমন কোনও নাম দিন যা কোনও ত্রুটি মুদ্রণ করবে। (কিছু init এবং প্যাকেজ সেটআপ স্ক্রিপ্টগুলি এখনও ব্যবহার করে su
তাই আপনি এটিকে সরাতে পারবেন না)।
আরো দেখুন: