روٹ کی جگہ یوزرز اور sudo
کام کرنے والا یوزر کیسے بنائیں، اسے sudo دیں، SSH کیز منتقل کریں، اور سرور پر روٹ کے طور پر لاگ ان کرنا بند کریں۔
اپ ڈیٹ 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
گروپ مختلف ہوتا ہے: Debian فیملی میں sudo، اور RHEL فیملی میں wheel۔ اختیارات چیک کریں:
sudo -l -U artem
SSH کیز منتقل کریں
پینل /hosting/vds/m/<id> کے "Access" ٹیب میں شامل کی گئی کیز 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 چھین لیتی ہے۔