تتضمن عملية حذف مستخدم على Linux أكثر مما تعتقد. إذا كنت مسؤولاً عن النظام، فستحتاج إلى إزالة كل آثار الحساب وإمكانية وصوله من أنظمتك. سنوضح لك الخطوات التي يجب اتباعها.
إذا كنت تريد فقط حذف حساب مستخدم من نظامك ولا تهتم بإنهاء أي عمليات جارية ومهام تنظيف أخرى، فاتبع الخطوات الواردة في قسم “حذف حساب المستخدم” أدناه. ستحتاج إلى deluser
الأمر الخاص بالتوزيعات المستندة إلى Debian و userdel
الأمر على توزيعات Linux الأخرى.
حسابات المستخدم على لينكس
منذ ذلك الحين ظهرت أنظمة تقاسم الوقت لأول مرة في أوائل الستينيات ومع ظهور أنظمة التشغيل الجديدة، والتي أتاحت لمستخدمين متعددين العمل على جهاز كمبيوتر واحد، ظهرت الحاجة إلى عزل الملفات والبيانات الخاصة بكل مستخدم وتقسيمها إلى أقسام منفصلة عن جميع المستخدمين الآخرين. وبالتالي، أصبحت حسابات المستخدمينوكلمات المرور—ولدوا.
تتطلب حسابات المستخدم تكاليف إدارية. ويجب إنشاؤها عندما يحتاج المستخدم لأول مرة إلى الوصول إلى الكمبيوتر. ويجب إزالتها عندما لا تكون هناك حاجة إلى هذا الوصول. في Linux، هناك سلسلة من الخطوات التي يجب اتباعها لإزالة المستخدم وملفاته وحسابه من الكمبيوتر بشكل صحيح ومنهجي.
إذا كنت مسؤول النظام، فإن هذه المسؤولية تقع على عاتقك. وإليك كيفية القيام بذلك.
لماذا حذف الحساب؟
هناك عدد لا حصر له من الأسباب التي قد تستدعي حذف حساب ما. فقد ينتقل أحد أعضاء الفريق إلى فريق مختلف أو يترك الشركة تمامًا. وقد يكون الحساب قد تم إنشاؤه للتعاون قصير المدى مع زائر من شركة أخرى. إن تكوين الفرق أمر شائع في الأوساط الأكاديمية، حيث يمكن أن تمتد مشاريع البحث إلى أقسام وجامعات مختلفة وحتى كيانات تجارية. وفي نهاية المشروع، يتعين على مسؤول النظام القيام بأعمال التنظيف وإزالة الحسابات غير الضرورية.
إن أسوأ سيناريو محتمل هو أن يغادر شخص ما النظام بسبب ارتكابه مخالفة. وعادة ما تحدث مثل هذه الأحداث فجأة، دون سابق إنذار. وهذا لا يمنح مسؤول النظام سوى القليل من الوقت للتخطيط، ويشعر بالحاجة الملحة إلى قفل الحساب وإغلاقه وحذفه ــ مع الاحتفاظ بنسخة احتياطية من ملفات المستخدم في حالة الحاجة إليها لأي تحقيقات جنائية بعد الإغلاق.
في السيناريو الخاص بنا، سنتظاهر بأن المستخدم، إريك، قام بشيء يستوجب إزالته فورًا من المبنى. في هذه اللحظة، لا يدرك هذا، فهو لا يزال يعمل ومسجل الدخول. بمجرد أن تعطي إشارة للأمن، سيتم اصطحابه خارج المبنى.
كل شيء جاهز، وكل العيون عليك.
التحقق من تسجيل الدخول
دعنا نرى ما إذا كان قد سجل الدخول بالفعل، وإذا كان كذلك، فكم عدد الجلسات التي يعمل بها. who
يأمر سيتم إدراج الجلسات النشطة.
who
لقد قام إريك بتسجيل الدخول مرة واحدة. دعنا نرى ما هي العمليات التي يقوم بتشغيلها.
مراجعة عمليات المستخدم
يمكننا استخدام ps
أمر إلى قائمة العمليات التي يقوم هذا المستخدم بتشغيلها. ال -u
يتيح لنا خيار (المستخدم) إخبار ps
لتقييد مخرجاتها بالعمليات التي تعمل تحت ملكية حساب المستخدم هذا.
ps -u eric
يمكننا أن نرى نفس العمليات بمزيد من المعلومات باستخدام top
يأمر. top
كما أن لديها أيضا -U
خيار (المستخدم) لتقييد الإخراج بالعمليات المملوكة لمستخدم واحد. لاحظ أنه هذه المرة يكون الحرف “U” كبيرًا.
top -U eric
يمكننا رؤية استخدام الذاكرة ووحدة المعالجة المركزية لكل مهمة، ويمكننا البحث بسرعة عن أي شيء به نشاط مريب. نحن على وشك إنهاء جميع عملياته قسرًا، لذا فمن الأفضل أن نخصص بعض الوقت لمراجعة العمليات بسرعة، والتحقق والتأكد من عدم تعرض المستخدمين الآخرين للإزعاج عند إنهاء حساب المستخدم eric
عمليات .
لا يبدو أنه يفعل الكثير، فقط يستخدم less
لعرض ملف. يمكننا المتابعة بأمان. ولكن قبل أن نقتل عملياته، سنقوم بتجميد الحساب عن طريق قفل كلمة المرور.
قفل الحساب
سنقوم بقفل الحساب قبل أن ننهي العمليات لأن عندما ننهي العمليات فإن ذلك سيؤدي إلى تسجيل خروج المستخدم. إذا قمنا بتغيير كلمة المرور الخاصة به بالفعل، فلن يتمكن من تسجيل الدخول مرة أخرى.
يتم تخزين كلمات مرور المستخدم المشفرة في /etc/shadow
الملف. عادةً لا تهتم بهذه الخطوات التالية، ولكن لكي تتمكن من رؤية ما يحدث في /etc/shadow
عند قفل الحساب، سنتخذ مسارًا مختلفًا بعض الشيء. يمكننا استخدام الأمر التالي لإلقاء نظرة على الحقلين الأولين من الإدخال الخاص بـ eric
حساب المستخدم.
sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow
أمر awk يقوم بتحليل الحقول من ملفات نصية ويتم التلاعب بها بشكل اختياري. نحن نستخدم -F
(فاصل الحقل) خيار لإخبار awk
أن الملف يستخدم النقطتين ” :
“لفصل الحقول. سنبحث عن سطر يحتوي على النمط “eric”. لمطابقة الأسطر، سنطبع الحقلين الأول والثاني. وهما اسم الحساب وكلمة المرور المشفرة.
تمت طباعة إدخال حساب المستخدم eric لنا.
لقفل الحساب نستخدم passwd
الأمر. سوف نستخدم -l
خيار (القفل) و مرر اسم حساب المستخدم لقفله.
sudo passwd -l eric
إذا قمنا بالتحقق من /etc/passwd
الملف مرة أخرى، سنرى ما حدث.
sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow
تمت إضافة علامة تعجب إلى بداية كلمة المرور المشفرة. ولا تحل هذه العلامة محل الحرف الأول، بل تتم إضافتها فقط إلى بداية كلمة المرور. وهذا كل ما هو مطلوب لمنع المستخدم من تسجيل الدخول إلى هذا الحساب.
الآن بعد أن قمنا بمنع المستخدم من تسجيل الدخول مرة أخرى، يمكننا قتل عملياته وتسجيل خروجه.
قتل العمليات
توجد طرق مختلفة لقتل عمليات المستخدم، ولكن الأمر الموضح هنا متاح على نطاق واسع وهو تنفيذ أكثر حداثة من بعض البدائل. pkill
سيعمل الأمر على العثور على العمليات وإنهائها. نحن نمرر إشارة KILL، ونستخدم -u
خيار (المستخدم).
sudo pkill -KILL -u eric
لقد تم إرجاعك إلى موجه الأوامر بطريقة غير متوقعة على الإطلاق. للتأكد من حدوث شيء ما، دعنا نتحقق who
مرة أخرى:
who
لقد انتهت جلسته. لقد تم تسجيل خروجه وتوقفت عملياته. لقد خفف هذا من حدة الموقف. الآن يمكننا الاسترخاء قليلاً ومواصلة بقية التنظيف بينما يتوجه أفراد الأمن إلى مكتب إريك.
أرشفة دليل المستخدم الرئيسي
ليس من المستبعد أن يكون الوصول إلى ملفات المستخدم مطلوبًا في المستقبل في سيناريو مثل هذا. إما كجزء من التحقيق أو ببساطة لأن من يحل محله قد يحتاج إلى الرجوع إلى عمل سلفه. سنستخدم tar
يأمر لأرشفة دليل المنزل بأكمله.
الخيارات التي نستخدمها هي:
- ج:إنشاء ملف أرشيف.
- ف:استخدم اسم الملف المحدد لاسم الأرشيف.
- ج:استخدم ضغط bzip2.
- ف:توفير إخراج مفصل أثناء إنشاء الأرشيف.
sudo tar cfjv eric-20200820.tar.bz /home/eric
سيتم تمرير الكثير من مخرجات الشاشة في نافذة المحطة الطرفية. للتحقق من إنشاء الأرشيف، استخدم ls
الأمر. نحن نستخدم -l
(تنسيق طويل) و -h
(خيارات قابلة للقراءة من قبل الإنسان).
ls -lh eric-20200802.tar.bz
تم إنشاء ملف بحجم 722 ميجابايت. يمكن نسخه في مكان آمن لمراجعته لاحقًا.
إزالة مهام cron
من الأفضل أن نتحقق من وجود أي cron
الوظائف المجدولة لحساب المستخدم eric
.أ cron
الوظيفة هي أمر يتم تشغيله في أوقات أو فترات زمنية محددة. يمكننا التحقق مما إذا كان هناك أي cron
الوظائف المجدولة لحساب المستخدم هذا باستخدام ls
:
sudo ls -lh /var/spool/cron/crontabs/eric
إذا كان هناك أي شيء موجود في هذا الموقع فهذا يعني أن هناك cron
الوظائف المدرجة في قائمة الانتظار لحساب المستخدم هذا. يمكننا حذفها باستخدام هذا crontab
الأمر. -r
سيؤدي خيار (إزالة) إلى إزالة الوظائف، و -u
يخبرك خيار (المستخدم) crontab
من الذي يجب إزالته من الوظائف.
sudo crontab -r -u eric
يتم حذف الوظائف بصمت. كل ما نعرفه هو أنه إذا كان إريك يشك في أنه على وشك الطرد، فقد يكون قد قام بجدولة وظيفة خبيثة. هذه الخطوة هي أفضل ممارسة.
إزالة مهام الطباعة
ربما كان لدى المستخدم مهام طباعة معلقة؟ للتأكد فقط، يمكننا مسح قائمة انتظار الطباعة من أي مهام تخص حساب المستخدم eric
. ال lprm
يأمر يزيل المهام من قائمة الطباعة. ال -U
يتيح لك خيار (اسم المستخدم) إزالة الوظائف المملوكة لحساب المستخدم المسمى:
lprm -U eric
سيتم إزالة الوظائف وسيتم إرجاعك إلى سطر الأوامر.
حذف حساب المستخدم
لقد قمنا بالفعل بعمل نسخة احتياطية للملفات من /home/eric/
الدليل، حتى نتمكن من المضي قدمًا وحذف حساب المستخدم وحذف /home/eric/
الدليل في نفس الوقت.
يعتمد الأمر الذي يجب استخدامه على توزيع Linux الذي تستخدمه. توزيعات لينكس المبنية على دبيان، الأمر هو deluser
، و لبقية عالم لينكس، إنها userdel
.
في الواقع، يتوفر كلا الأمرين على نظام التشغيل Ubuntu. كنت أتوقع أن يكون أحدهما اسمًا مستعارًا للآخر، لكنهما ثنائيان مختلفان.
type deluser
type userdel
على الرغم من أن كلاهما متاح، فإن التوصية هي استخدام deluser
حول التوزيعات المشتقة من دبيان:
“userdel
هي أداة مساعدة منخفضة المستوى لإزالة المستخدمين. في Debian، يجب على المسؤولين عادةً استخدام deluser
(8) بدلا من ذلك.”
هذا واضح بما فيه الكفاية، لذا فإن الأمر الذي يجب استخدامه على جهاز الكمبيوتر Ubuntu هذا هو deluser
. لأننا نريد أيضًا إزالة دليل المنزل الخاص بهم، فنحن نستخدم --remove-home
علَم:
sudo deluser --remove-home eric
الأمر الذي يجب استخدامه للتوزيعات غير التابعة لـ Debian هو userdel
، مع --remove
علَم:
sudo userdel --remove eric
جميع آثار حساب المستخدم eric
لقد تم مسحها. يمكننا التحقق من أن /home/eric/
تمت إزالة الدليل:
ls /home
ال eric
تمت إزالة المجموعة أيضًا لأن حساب المستخدم eric
كان الإدخال الوحيد فيه. يمكننا التحقق من ذلك بسهولة تامة عن طريق إدخال محتوياته في /etc/group
خلال grep
:
sudo less /etc/group | grep eric
إنها لفافة
لقد رحل إريك بسبب خطاياه. وما زال رجال الأمن يصطحبونه خارج المبنى وقد قمت بالفعل بتأمين ملفاته وأرشفتها وحذفت حسابه وطهرت النظام من أي بقايا.
الدقة تتفوق دائمًا على السرعة. تأكد من مراعاة كل خطوة قبل اتخاذها. لا تريد أن يقترب منك شخص ما ويقول “لا، إريك الآخر”.