هل هناك أمر لسرد جميع المستخدمين? أيضا لإضافة, حذف, تعديل المستخدمين,في المحطة?

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

إلى قائمة

لسرد الكل محلي المستخدمون الذين يمكنك استخدامهم:

cut -d: -f1 /etc/passwd

لسرد جميع المستخدمين القادرين على المصادقة (بطريقة ما) ، بما في ذلك المستخدمين غير المحليين ، راجع هذا الرد.

بعض أوامر إدارة المستخدم الأكثر فائدة (تقتصر أيضا على محلي المستخدمين):

لإضافة

لإضافة مستخدم جديد يمكنك استخدام:

sudo adduser جديد_اسم المستخدم

أو:

sudo useradd جديد_اسم المستخدم

انظر أيضا: ما هو الفرق بين أدوسر و ووسرد?

لإزالة / حذف

لإزالة / حذف مستخدم ، يمكنك أولا استخدام:

sudo userdel اسم المستخدم

ثم قد ترغب في حذف الدليل الرئيسي لحساب المستخدم المحذوف :

سودو آرإم-آر / الرئيسية/اسم المستخدم

يرجى استخدام بحذر الأمر أعلاه!

لتعديل

لتعديل اسم المستخدم للمستخدم:

usermod -l جديد_اسم المستخدم اسم المستخدم القديم

لتغيير كلمة المرور للمستخدم:

sudo passwd اسم المستخدم

لتغيير قذيفة للمستخدم:

sudo chsh اسم المستخدم

لتغيير تفاصيل المستخدم (على سبيل المثال الاسم الحقيقي):

sudo chfn اسم المستخدم

لإضافة مستخدم إلى sudo المجموعة:

adduser اسم المستخدم سودو

أو

usermod -aG sudo اسم المستخدم

وبطبيعة الحال ، انظر أيضا: man adduser, man useradd, man userdel... وهلم جرا.

فقط اضغط Ctrl+Alt+T على لوحة المفاتيح لفتح محطة. عند فتحه ، قم بتشغيل الأمر(الأوامر) أدناه:

cat /etc/passwd

أو

less /etc/passwdmore /etc/passwd

يمكنك أيضا استخدام أوك:أوك

awk -F':' '{ print $1}' /etc/passwd

أسهل طريقة للحصول على هذا النوع من المعلومات هي getent - انظر مانباج ل getent القيادة Manpage icon. بينما يعطي هذا الأمر نفس الإخراج مثل cat /etc/passwd ومن المفيد أن نتذكر لأنه سوف تعطيك قوائم من عدة عناصر في نظام التشغيل.

للحصول على قائمة بجميع المستخدمين الذين تكتبهم (كما يتم سرد المستخدمين في /etc/passwd)

getent passwd

لإضافة مستخدم مستخدم جديد إلى النظام الذي كنت اكتب

sudo adduser newuser

لإنشاء مستخدم لديه كل الإعدادات الافتراضية المطبقة.

المكافأة: لإضافة أي مستخدم (على سبيل المثال أي مستخدم) إلى مجموعة (على سبيل المثال قرص مدمج) النوع

sudo adduser anyuser cdrom

يمكنك حذف مستخدم (على سبيل المثال عفا عليها الزمن) مع

sudo deluser obsolete

إذا كنت ترغب في حذف له الدليل الرئيسي / رسائل وكذلك قمت بكتابة

sudo deluser --remove-home obsolete

و

sudo deluser --remove-all-files obsolete

سيتم إزالة المستخدم و جميع الملفات التي يملكها هذا المستخدم على النظام بأكمله.

يمكنك استخدام compgen غنو باش المدمج في أيضا:

compgen -u

سوف يسرد جميع المستخدمين.

هذا يجب أن تحصل, في معظم الحالات العادية، جميع المستخدمين العاديين (غير النظام ، وليس غريب ، الخ) :

awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd

هذا يعمل من قبل:

  • القراءة من /etc/passwd
  • باستخدام : كما محدد
  • إذا كان الحقل الثالث (رقم معرف المستخدم) أكبر من 1000 وليس 65534 ، تتم طباعة الحقل الأول (اسم المستخدم الخاص بالمستخدم).

هذا لأنه في العديد من أنظمة لينكس ، يتم حجز أسماء المستخدمين فوق 1000 للمستخدمين غير المحرومين (يمكنك القول العادي). بعض المعلومات عن هذا هنا:

معرف المستخدم (معرف المستخدم) هو عدد صحيح موجب فريد يتم تعيينه بواسطة نظام تشغيل يشبه يونكس لكل مستخدم. يتم تحديد كل مستخدم للنظام من خلال معرف المستخدم الخاص به ، وتستخدم أسماء المستخدمين بشكل عام فقط كواجهة للبشر.

يتم تخزين إيدس ، جنبا إلى جنب مع أسماء المستخدمين المقابلة وغيرها من المعلومات الخاصة بالمستخدم ، في ملف /الخ/باسود...

يحتوي الحقل الثالث على معرف المستخدم ، ويحتوي الحقل الرابع على معرف المجموعة (جيد) ، والذي يساوي بشكل افتراضي معرف المستخدم لجميع المستخدمين العاديين.

في نواة لينكس 2.4 وما فوق ، إيد هي غير موقعة 32 بت الأعداد الصحيحة التي يمكن أن تمثل القيم من صفر إلى 4 ، 294 ، 967 ، 296. ومع ذلك ، فمن المستحسن استخدام قيم تصل إلى 65 ، 534 فقط من أجل الحفاظ على التوافق مع الأنظمة التي تستخدم النواة القديمة أو أنظمة الملفات التي يمكن أن تستوعب فقط معرفات 16 بت.

و إيد من 0 له دور خاص: هو دائما حساب الجذر (أي المستخدم الإداري القاهر). على الرغم من أنه يمكن تغيير اسم المستخدم على هذا الحساب ويمكن إنشاء حسابات إضافية بنفس معرف المستخدم ، إلا أن أيا من الإجراءين ليس حكيما من وجهة نظر الأمان.

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

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

تبدأ بعض توزيعات لينكس (أي الإصدارات) معرفات المستخدم للمستخدمين غير المميزين عند 100. البعض الآخر ، مثل ريد هات ، يبدأونها عند 500 ، والبعض الآخر ، مثل دبيان ، يبدأونها عند 1000. بسبب الاختلافات بين التوزيعات ، يمكن أن يكون التدخل اليدوي ضروريا إذا تم استخدام توزيعات متعددة في شبكة في مؤسسة.

أيضا ، يمكن أن تكون مريحة لحجز كتلة من إيدس للمستخدمين المحليين ، مثل 1000 من خلال 9999 ، وكتلة أخرى للمستخدمين البعيدين (أي المستخدمين في مكان آخر على الشبكة) ، مثل 10000 إلى 65534. الشيء المهم هو اتخاذ قرار بشأن مخطط والالتزام به.

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

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

قائمة من جميع المستخدمين الذين يمكنهم تسجيل الدخول (لا مستخدمي النظام مثل: بن ، ديمون ، البريد ، سيس ، الخ.)

awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow

أضف مستخدم جديد

sudo adduser new_username

أو

sudo useradd new_username

حذف/ إزالة اسم المستخدم

sudo userdel username

إذا كنت ترغب في حذف الدليل الرئيسي (الافتراضي الدليل / المنزل / اسم المستخدم)

sudo deluser --remove-home username

أو

sudo rm -r /path/to/user_home_dir

إذا كنت ترغب في حذف جميع الملفات من النظام من هذا المستخدم (ليس فقط هو ديريتوري المنزل)

sudo deluser --remove-all-files

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

user (tab tab)

يعطيني الخيارات الممكنة وسيرديل وسيرديل المستخدمين المستخدمين-مشرف
إذا كنت تريد أن تعرف المزيد عن أمر جوجل أو اكتب رجل رجل وسيرادجيفس وسيرادجيفس - إنشاء مستخدم جديد أو تحديث الافتراضي معلومات المستخدم الجديدة ... ...

لإدراج المستخدمين يجب أن تذهب مع ما قاله ميتش.

نأمل أن يساعد أنا أحب الانتهاء التبويب في باش يحفظ لي من تذكر الأشياء.

لمعرفة المستخدمين الذين لديهم أدلة منزلية في المجلد / المنزل على الجهاز ، قم بتشغيل الأوامر التالية

cd /homels 

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

الجواب الأول يوصي:

cut -d: -f1 /etc/passwd

ولكن باستخدام هذا وحساب عدد المستخدمين الذين تحصل عليهم:

$ cut -d: -f1 /etc/passwd | wc -l46

46 المستخدمين لجهاز كمبيوتر محمول الكثير!. لذا استخدم هذا بدلا من ذلك:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1rootrickguest-atkb2qguest-u4sf2iguest-rmlbtgguest-mz53vp

لإزالة حسابات الضيوف (الذين ليس لديهم ملفات محفوظة على أي حال) استخدام:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1rootrick

بعض المستخدمين عينة إزالتها من القائمة هي:

systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsegnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncsync:x:4:65534:sync:/bin:/bin/syncguest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash

اتضح معظم المستخدمين على نظام مستخدم واحد هي في الواقع البرامج التي وضعت نفسها كمستخدمين.

سيد الجواب سيد الصورة/:.* / / '/الخ / باسود`

قائمة المستخدمين 'أوك-ف:' {طباعة $1} ' / الخ / باسود