root की जगह यूज़र और sudo
वर्किंग यूज़र कैसे बनाएँ, उसे sudo दें, SSH की शिफ़्ट करें, और सर्वर में root के रूप में लॉगिन करना बंद करें।
23 अगस्त 2026 को अपडेट किया गया
मशीन पूरे रूट एक्सेस के साथ आती है, और आपकी पहली प्रवृत्ति रूट के रूप में काम करना जारी रखना होती है। यह सुविधाजनक तब तक लगता है जब तक rm -rf में पहली टाइपो न हो जाए। काम करने वाला सेटअप अलग है: रोज़मर्रा के कामों के लिए एक सामान्य यूज़र, और रूट केवल 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" टैब में जोड़ी गई कीज़ रूट यूज़र के पास जाती हैं। आपको उन्हें नए यूज़र के लिए खुद रखना होगा:
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
सफल जाँच के बाद ही आपको रूट लॉगिन बंद करने पर आगे बढ़ना चाहिए।
sudo का उपयोग कैसे करें
sudo systemctl restart nginx
sudo -i
sudo -u www-data ls /var/www
sudo -i आपको पूरा रूट शेल देता है — कमांड की एक श्रृंखला के लिए, स्थायी काम के लिए नहीं। sudo के हर कॉल को लॉग में लिखा जाता है, और किसी घटना की जाँच करते समय वही आपका सुराग होता है:
journalctl -t sudo -n 50
grep sudo /var/log/auth.log
लॉग के बारे में अधिक — मशीन पर किसने लॉग इन किया।
सर्विसेज़ के लिए अधिकार
एक और आम गलती है किसी एप्लिकेशन को रूट के रूप में चलाना "ताकि यह काम करे"। हर सर्विस के लिए, बिना शेल वाला सिस्टम यूज़र बनाएँ:
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 से ज़्यादा ढीली हैं या मालिक रूट है | ऊपर के अनुसार chown और chmod |
| sudo पासवर्ड काम नहीं कर रहा | यूज़र का कोई पासवर्ड सेट नहीं है | passwd artem |
| sudoers संपादित करने से sudo टूट गया | फ़ाइल में सिंटैक्स त्रुटि | केवल visudo; रेस्क्यू मोड से ठीक करें |
/etc/sudoersको केवलvisudoकमांड से संपादित करें — यह सेव करने से पहले सिंटैक्स जाँचता है। टूटी हुई फ़ाइल एक साथ सबसे sudo छीन लेती है।