المستخدمون و sudo بدل root
كيف تُنشئ مستخدمًا للعمل، وتمنحه sudo، وتنقل مفاتيح SSH، وتتوقف عن تسجيل الدخول إلى الخادم بصلاحية root.
آخر تحديث 23 أغسطس 2026
الجهاز يأتي بصلاحية root كاملة، وأول ما تفكر فيه هو مواصلة العمل بصلاحية root. هذا مريح حتى أول خطأ مطبعي في rm -rf. الإعداد العملي مختلف: مستخدم عادي للمهام اليومية، وroot عبر sudo وفقط عند الحاجة الفعلية إليه.
إنشاء مستخدم
Debian وUbuntu:
adduser artem
usermod -aG sudo artem
AlmaLinux وCentOS Stream:
adduser artem
passwd artem
usermod -aG wheel artem
المجموعة تختلف: sudo في عائلة Debian، وwheel في عائلة RHEL. تحقق من الصلاحيات:
sudo -l -U artem
نقل مفاتيح SSH
المفاتيح المضافة في تبويب "Access" في لوحة التحكم /hosting/vds/m/<id> تُسجَّل لدى مستخدم root. عليك وضعها للمستخدم الجديد بنفسك:
mkdir -p /home/artem/.ssh
cp /root/.ssh/authorized_keys /home/artem/.ssh/
chown -R artem:artem /home/artem/.ssh
chmod 700 /home/artem/.ssh
chmod 600 /home/artem/.ssh/authorized_keys
الصلاحيات هنا ليست شكليّة: إذا كانت متساهلة أكثر من اللازم، سيرفض sshd قبول المفتاح بصمت.
تحقق من إمكانية تسجيل الدخول بالمستخدم الجديد في نافذة طرفية منفصلة دون إغلاق النافذة الحالية:
ssh artem@<address>
sudo whoami
فقط بعد نجاح التحقق انتقل إلى تعطيل تسجيل دخول root.
كيفية استخدام sudo
sudo systemctl restart nginx
sudo -i
sudo -u www-data ls /var/www
sudo -i يمنحك صدفة root كاملة — لسلسلة من الأوامر، وليس للعمل الدائم. كل استدعاء لـ sudo يُكتب في السجل، وهذا أثرك عند التحقيق في حادثة:
journalctl -t sudo -n 50
grep sudo /var/log/auth.log
المزيد عن السجلات — من سجّل الدخول إلى الجهاز.
صلاحيات الخدمات
خطأ شائع آخر هو تشغيل تطبيق بصلاحية root "ليعمل". لكل خدمة، أنشئ مستخدم نظام بدون صدفة:
useradd --system --no-create-home --shell /usr/sbin/nologin appsrv
chown -R appsrv:appsrv /opt/app
عندها لا تمنح ثغرة في التطبيق المهاجم الجهاز كله دفعة واحدة.
الأخطاء الشائعة
| الخطأ | السبب | الحل |
|---|---|---|
artem is not in the sudoers file | ليس في المجموعة أو لم يسجّل الدخول مجددًا | usermod -aG sudo artem، ثم سجّل الدخول مجددًا |
| المفتاح غير مقبول | الصلاحيات على .ssh أوسع من 700 أو المالك هو root | chown وchmod كما هو موضح أعلاه |
| كلمة مرور sudo لا تعمل | المستخدم ليس لديه كلمة مرور معيّنة | passwd artem |
| تعديل sudoers أفسد sudo | خطأ نحوي في الملف | استخدم visudo فقط؛ الإصلاح عبر وضع الإنقاذ |
عدّل
/etc/sudoersحصريًا بأمرvisudo— فهو يتحقق من الصياغة قبل الحفظ. الملف المعطوب يسلب sudo من الجميع دفعة واحدة.