كيفية حذف مستخدم على Linux (وإزالة كل أثر)

تتضمن عملية حذف مستخدم على Linux أكثر مما تعتقد. إذا كنت مسؤولاً عن النظام، فستحتاج إلى إزالة كل آثار الحساب وإمكانية وصوله من أنظمتك. سنوضح لك الخطوات التي يجب اتباعها.




إذا كنت تريد فقط حذف حساب مستخدم من نظامك ولا تهتم بإنهاء أي عمليات جارية ومهام تنظيف أخرى، فاتبع الخطوات الواردة في قسم “حذف حساب المستخدم” أدناه. ستحتاج إلى deluser الأمر الخاص بالتوزيعات المستندة إلى Debian و userdel الأمر على توزيعات Linux الأخرى.


حسابات المستخدم على لينكس

منذ ذلك الحين ظهرت أنظمة تقاسم الوقت لأول مرة في أوائل الستينيات ومع ظهور أنظمة التشغيل الجديدة، والتي أتاحت لمستخدمين متعددين العمل على جهاز كمبيوتر واحد، ظهرت الحاجة إلى عزل الملفات والبيانات الخاصة بكل مستخدم وتقسيمها إلى أقسام منفصلة عن جميع المستخدمين الآخرين. وبالتالي، أصبحت حسابات المستخدمينوكلمات المرور—ولدوا.

تتطلب حسابات المستخدم تكاليف إدارية. ويجب إنشاؤها عندما يحتاج المستخدم لأول مرة إلى الوصول إلى الكمبيوتر. ويجب إزالتها عندما لا تكون هناك حاجة إلى هذا الوصول. في Linux، هناك سلسلة من الخطوات التي يجب اتباعها لإزالة المستخدم وملفاته وحسابه من الكمبيوتر بشكل صحيح ومنهجي.


إذا كنت مسؤول النظام، فإن هذه المسؤولية تقع على عاتقك. وإليك كيفية القيام بذلك.

لماذا حذف الحساب؟

هناك عدد لا حصر له من الأسباب التي قد تستدعي حذف حساب ما. فقد ينتقل أحد أعضاء الفريق إلى فريق مختلف أو يترك الشركة تمامًا. وقد يكون الحساب قد تم إنشاؤه للتعاون قصير المدى مع زائر من شركة أخرى. إن تكوين الفرق أمر شائع في الأوساط الأكاديمية، حيث يمكن أن تمتد مشاريع البحث إلى أقسام وجامعات مختلفة وحتى كيانات تجارية. وفي نهاية المشروع، يتعين على مسؤول النظام القيام بأعمال التنظيف وإزالة الحسابات غير الضرورية.

إن أسوأ سيناريو محتمل هو أن يغادر شخص ما النظام بسبب ارتكابه مخالفة. وعادة ما تحدث مثل هذه الأحداث فجأة، دون سابق إنذار. وهذا لا يمنح مسؤول النظام سوى القليل من الوقت للتخطيط، ويشعر بالحاجة الملحة إلى قفل الحساب وإغلاقه وحذفه ــ مع الاحتفاظ بنسخة احتياطية من ملفات المستخدم في حالة الحاجة إليها لأي تحقيقات جنائية بعد الإغلاق.


في السيناريو الخاص بنا، سنتظاهر بأن المستخدم، إريك، قام بشيء يستوجب إزالته فورًا من المبنى. في هذه اللحظة، لا يدرك هذا، فهو لا يزال يعمل ومسجل الدخول. بمجرد أن تعطي إشارة للأمن، سيتم اصطحابه خارج المبنى.

كل شيء جاهز، وكل العيون عليك.

التحقق من تسجيل الدخول

دعنا نرى ما إذا كان قد سجل الدخول بالفعل، وإذا كان كذلك، فكم عدد الجلسات التي يعمل بها. who يأمر سيتم إدراج الجلسات النشطة.

who

من في نافذة المحطة الطرفية

لقد قام إريك بتسجيل الدخول مرة واحدة. دعنا نرى ما هي العمليات التي يقوم بتشغيلها.

مراجعة عمليات المستخدم

يمكننا استخدام ps أمر إلى قائمة العمليات التي يقوم هذا المستخدم بتشغيلها. ال -u يتيح لنا خيار (المستخدم) إخبار ps لتقييد مخرجاتها بالعمليات التي تعمل تحت ملكية حساب المستخدم هذا.


ps -u eric

ps -u eric في نافذة المحطة الطرفية

يمكننا أن نرى نفس العمليات بمزيد من المعلومات باستخدام top يأمر. top كما أن لديها أيضا -U خيار (المستخدم) لتقييد الإخراج بالعمليات المملوكة لمستخدم واحد. لاحظ أنه هذه المرة يكون الحرف “U” كبيرًا.

top -U eric

top -U eric في نافذة المحطة الطرفية


يمكننا رؤية استخدام الذاكرة ووحدة المعالجة المركزية لكل مهمة، ويمكننا البحث بسرعة عن أي شيء به نشاط مريب. نحن على وشك إنهاء جميع عملياته قسرًا، لذا فمن الأفضل أن نخصص بعض الوقت لمراجعة العمليات بسرعة، والتحقق والتأكد من عدم تعرض المستخدمين الآخرين للإزعاج عند إنهاء حساب المستخدم ericعمليات .

الإخراج من الأعلى -U eric في نافذة المحطة الطرفية

لا يبدو أنه يفعل الكثير، فقط يستخدم less لعرض ملف. يمكننا المتابعة بأمان. ولكن قبل أن نقتل عملياته، سنقوم بتجميد الحساب عن طريق قفل كلمة المرور.

قفل الحساب

سنقوم بقفل الحساب قبل أن ننهي العمليات لأن عندما ننهي العمليات فإن ذلك سيؤدي إلى تسجيل خروج المستخدم. إذا قمنا بتغيير كلمة المرور الخاصة به بالفعل، فلن يتمكن من تسجيل الدخول مرة أخرى.


يتم تخزين كلمات مرور المستخدم المشفرة في /etc/shadow الملف. عادةً لا تهتم بهذه الخطوات التالية، ولكن لكي تتمكن من رؤية ما يحدث في /etc/shadow عند قفل الحساب، سنتخذ مسارًا مختلفًا بعض الشيء. يمكننا استخدام الأمر التالي لإلقاء نظرة على الحقلين الأولين من الإدخال الخاص بـ eric حساب المستخدم.

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow في نافذة المحطة الطرفية

أمر awk يقوم بتحليل الحقول من ملفات نصية ويتم التلاعب بها بشكل اختياري. نحن نستخدم -F (فاصل الحقل) خيار لإخبار awk أن الملف يستخدم النقطتين ” : “لفصل الحقول. سنبحث عن سطر يحتوي على النمط “eric”. لمطابقة الأسطر، سنطبع الحقلين الأول والثاني. وهما اسم الحساب وكلمة المرور المشفرة.


تمت طباعة إدخال حساب المستخدم eric لنا.

لقفل الحساب نستخدم passwd الأمر. سوف نستخدم -l خيار (القفل) و مرر اسم حساب المستخدم لقفله.

sudo passwd -l eric

sudo passwd -l eric في نافذة المحطة الطرفية

إذا قمنا بالتحقق من /etc/passwd الملف مرة أخرى، سنرى ما حدث.

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow في نافذة المحطة الطرفية


تمت إضافة علامة تعجب إلى بداية كلمة المرور المشفرة. ولا تحل هذه العلامة محل الحرف الأول، بل تتم إضافتها فقط إلى بداية كلمة المرور. وهذا كل ما هو مطلوب لمنع المستخدم من تسجيل الدخول إلى هذا الحساب.

الآن بعد أن قمنا بمنع المستخدم من تسجيل الدخول مرة أخرى، يمكننا قتل عملياته وتسجيل خروجه.

قتل العمليات

توجد طرق مختلفة لقتل عمليات المستخدم، ولكن الأمر الموضح هنا متاح على نطاق واسع وهو تنفيذ أكثر حداثة من بعض البدائل. pkill سيعمل الأمر على العثور على العمليات وإنهائها. نحن نمرر إشارة KILL، ونستخدم -u خيار (المستخدم).

sudo pkill -KILL -u eric

sudo pkill -KILL -u eric في نافذة المحطة الطرفية


لقد تم إرجاعك إلى موجه الأوامر بطريقة غير متوقعة على الإطلاق. للتأكد من حدوث شيء ما، دعنا نتحقق who مرة أخرى:

who

من في نافذة المحطة الطرفية

لقد انتهت جلسته. لقد تم تسجيل خروجه وتوقفت عملياته. لقد خفف هذا من حدة الموقف. الآن يمكننا الاسترخاء قليلاً ومواصلة بقية التنظيف بينما يتوجه أفراد الأمن إلى مكتب إريك.

ذات صلة: كيفية إضافة وإزالة المستخدمين على أوبونتو

أرشفة دليل المستخدم الرئيسي

ليس من المستبعد أن يكون الوصول إلى ملفات المستخدم مطلوبًا في المستقبل في سيناريو مثل هذا. إما كجزء من التحقيق أو ببساطة لأن من يحل محله قد يحتاج إلى الرجوع إلى عمل سلفه. سنستخدم tar يأمر لأرشفة دليل المنزل بأكمله.


الخيارات التي نستخدمها هي:

  • ج:إنشاء ملف أرشيف.
  • ف:استخدم اسم الملف المحدد لاسم الأرشيف.
  • ج:استخدم ضغط bzip2.
  • ف:توفير إخراج مفصل أثناء إنشاء الأرشيف.

sudo tar cfjv eric-20200820.tar.bz /home/eric

sudo tar cfjv eric-20200820.tar.bz /home/eric في نافذة المحطة الطرفية

سيتم تمرير الكثير من مخرجات الشاشة في نافذة المحطة الطرفية. للتحقق من إنشاء الأرشيف، استخدم ls الأمر. نحن نستخدم -l (تنسيق طويل) و -h (خيارات قابلة للقراءة من قبل الإنسان).

ls -lh eric-20200802.tar.bz

sudo tar cfjv eric-20200820.tar.bz /home/eric في نافذة المحطة الطرفية


تم إنشاء ملف بحجم 722 ميجابايت. يمكن نسخه في مكان آمن لمراجعته لاحقًا.

إزالة مهام cron

من الأفضل أن نتحقق من وجود أي cron الوظائف المجدولة لحساب المستخدم ericcron الوظيفة هي أمر يتم تشغيله في أوقات أو فترات زمنية محددة. يمكننا التحقق مما إذا كان هناك أي cron الوظائف المجدولة لحساب المستخدم هذا باستخدام ls:

sudo ls -lh /var/spool/cron/crontabs/eric

sudo ls -lh /var/spool/cron/crontabs/eric في نافذة المحطة الطرفية

إذا كان هناك أي شيء موجود في هذا الموقع فهذا يعني أن هناك cron الوظائف المدرجة في قائمة الانتظار لحساب المستخدم هذا. يمكننا حذفها باستخدام هذا crontab الأمر. -r سيؤدي خيار (إزالة) إلى إزالة الوظائف، و -u يخبرك خيار (المستخدم) crontabمن الذي يجب إزالته من الوظائف.

sudo crontab -r -u eric


sudo crontab -r -u eric في نافذة المحطة الطرفية

يتم حذف الوظائف بصمت. كل ما نعرفه هو أنه إذا كان إريك يشك في أنه على وشك الطرد، فقد يكون قد قام بجدولة وظيفة خبيثة. هذه الخطوة هي أفضل ممارسة.

إزالة مهام الطباعة

ربما كان لدى المستخدم مهام طباعة معلقة؟ للتأكد فقط، يمكننا مسح قائمة انتظار الطباعة من أي مهام تخص حساب المستخدم eric. ال lprm يأمر يزيل المهام من قائمة الطباعة. ال -U يتيح لك خيار (اسم المستخدم) إزالة الوظائف المملوكة لحساب المستخدم المسمى:

lprm -U eric

lprm -U eric في نافذة المحطة الطرفية


سيتم إزالة الوظائف وسيتم إرجاعك إلى سطر الأوامر.

حذف حساب المستخدم

لقد قمنا بالفعل بعمل نسخة احتياطية للملفات من /home/eric/ الدليل، حتى نتمكن من المضي قدمًا وحذف حساب المستخدم وحذف /home/eric/ الدليل في نفس الوقت.

يعتمد الأمر الذي يجب استخدامه على توزيع Linux الذي تستخدمه. توزيعات لينكس المبنية على دبيان، الأمر هو deluser، و لبقية عالم لينكس، إنها userdel.

في الواقع، يتوفر كلا الأمرين على نظام التشغيل Ubuntu. كنت أتوقع أن يكون أحدهما اسمًا مستعارًا للآخر، لكنهما ثنائيان مختلفان.

type deluser

type userdel

اكتب deluser في نافذة المحطة الطرفية

على الرغم من أن كلاهما متاح، فإن التوصية هي استخدام deluserحول التوزيعات المشتقة من دبيان:


userdel هي أداة مساعدة منخفضة المستوى لإزالة المستخدمين. في Debian، يجب على المسؤولين عادةً استخدام deluser(8) بدلا من ذلك.”

هذا واضح بما فيه الكفاية، لذا فإن الأمر الذي يجب استخدامه على جهاز الكمبيوتر Ubuntu هذا هو deluser. لأننا نريد أيضًا إزالة دليل المنزل الخاص بهم، فنحن نستخدم --remove-home علَم:

sudo deluser --remove-home eric

sudo deluser --remove-home eric في نافذة المحطة الطرفية

الأمر الذي يجب استخدامه للتوزيعات غير التابعة لـ Debian هو userdel، مع --remove علَم:

sudo userdel --remove eric

جميع آثار حساب المستخدم eric لقد تم مسحها. يمكننا التحقق من أن /home/eric/تمت إزالة الدليل:

ls /home


ls/home في نافذة المحطة الطرفية

ال eric تمت إزالة المجموعة أيضًا لأن حساب المستخدم eric كان الإدخال الوحيد فيه. يمكننا التحقق من ذلك بسهولة تامة عن طريق إدخال محتوياته في /etc/group خلال grep:

sudo less /etc/group | grep eric

sudo less /etc/group | grep eric في نافذة المحطة الطرفية

إنها لفافة

لقد رحل إريك بسبب خطاياه. وما زال رجال الأمن يصطحبونه خارج المبنى وقد قمت بالفعل بتأمين ملفاته وأرشفتها وحذفت حسابه وطهرت النظام من أي بقايا.

الدقة تتفوق دائمًا على السرعة. تأكد من مراعاة كل خطوة قبل اتخاذها. لا تريد أن يقترب منك شخص ما ويقول “لا، إريك الآخر”.


أضف تعليق