الجذرُ يستطيع كلّ شيء، ومنه ما لم تقصده. فلا تأكيدَ ولا تراجع، ويقول السجلُّ بعدها إنّ الجذر فعلها — وذلك لا يخبرك بشيء إن كانت كلمةُ المرور عند أكثر من شخص.
أنشئ مستخدمًا مسمًّى
sudo adduser sara
sudo usermod -aG sudo sara # Debian and Ubuntu
# sudo usermod -aG wheel sara # RHEL, Alma and Rocky
أعطه مفتاحك، ثمّ اختبر قبل أن تُغلق شيئًا
sudo mkdir -p /home/sara/.ssh
sudo cp ~/.ssh/authorized_keys /home/sara/.ssh/
sudo chown -R sara:sara /home/sara/.ssh
sudo chmod 700 /home/sara/.ssh
sudo chmod 600 /home/sara/.ssh/authorized_keys
افتح طرفيّةً ثانية وسجّل الدخول بالمستخدم الجديد قبل أن تعطّل الجذر أو تُغلق الجلسة الأولى. فخطأٌ مطبعيّ في ملفّ مفاتيح يُستدرَك ما دامت عندك جلسة، ويصير مكالمةَ دعمٍ حين لا تكون.
ثمّ أغلق باب الجذر
# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
sudo sshd -t && sudo systemctl reload ssh
ما يعطيه sudo ولا يعطيه الجذر
- كلُّ أمرٍ يُسجَّل باسم من نفّذه.
- والأمرُ الخطِر يحتاج خمسةَ محارفَ إضافيّةً عن قصد، وذلك يكفي لالتقاط بعضها.
- والوصولُ يُنزَع بإخراج حسابٍ واحد من مجموعةٍ واحدة، لا بتغيير كلمة مرورٍ يتشاركها الجميع.
sudo بلا كلمة مرور، بحذر
الأتمتةُ تحتاج sudo بلا سؤال. فحُدّه بالأوامر التي تنفّذها فعلًا لا بكلّ شيء.
# sudo visudo -f /etc/sudoers.d/deploy
deploy ALL=(root) NOPASSWD: /bin/systemctl reload nginx, /bin/systemctl restart app
ولا تحرّر /etc/sudoers بمحرّرٍ عاديّ أبدًا. فـ visudo يفحص النحو قبل الحفظ، وملفُّ sudoers مكسورًا يُخرج الجميعَ من sudo دفعةً واحدة.