دستورالعمل لیست تمام کاربران؟ و چگونه کاربران را اضافه ، حذف ، اصلاح کنیم؟


به جواب پذیرفته شده بروید




من به یک دستور نیاز دارم تا تمام کاربران را در ترمینال لیست کنم. و نحوه اضافه کردن ، حذف ، اصلاح کاربران از ترمینال.

این می تواند به مدیریت حسابهای شما به راحتی توسط ترمینال کمک کند.


873









9 :تعداد پاسخها


به لیست

برای لیست تمام کاربران محلی که می توانید استفاده کنید:

 cut -d: -f1 /etc/passwd
 

برای لیست کلیه کاربران قادر به تأیید اعتبار (به نوعی) از جمله غیر محلی ، به این پاسخ مراجعه کنید .

برخی از دستورات مفیدتر برای مدیریت کاربر (همچنین به کاربران محلی محدود است ):

برای اضافه کردن

برای افزودن یک کاربر جدید می توانید از آن استفاده کنید:

 sudo adduser new_username 

یا:

 sudo useradd new_username 

همچنین ببینید: تفاوت بین adduser و useradd چیست؟

برای حذف / حذف

برای حذف / حذف یک کاربر ، ابتدا می توانید از این موارد استفاده کنید:

 sudo userdel username 

سپس ممکن است بخواهید فهرست خانه را برای حساب کاربری حذف شده حذف کنید:

sudo rm -r / home / username

لطفا با احتیاط از دستور فوق استفاده کنید!

برای اصلاح

برای تغییر نام کاربری کاربر:

 usermod -l new_username old_username 

برای تغییر رمز عبور برای یک کاربر:

 sudo passwd username 

برای تغییر پوسته برای یک کاربر:

 sudo chsh username 

برای تغییر جزئیات برای یک کاربر (به عنوان مثال نام واقعی):

 sudo chfn username 

برای افزودن کاربر به sudo گروه:

 adduser username sudo 

یا

 usermod -aG sudo username 

و البته ، همچنین ببینید: man adduser ، man useradd ، man userdel ... و غیره.


1167



مطبوعات فقط Ctrl+ Alt+ Tبر روی صفحه کلید خود را به باز کردن ترمینال. وقتی باز شد ، فرمان (های) زیر را اجرا کنید:

 cat /etc/passwd
 

یا

 less /etc/passwd
more /etc/passwd
 

همچنین می توانید از awk استفاده کنید: awk

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

87



ساده ترین روش برای بدست آوردن این نوع اطلاعات getent - به manpage for getent فرمان مراجعه کنید
نماد صفحه اصلی

. در حالی که آن دستور همان خروجی را می cat /etc/passwd دهد که برای به خاطر سپردن مفید است زیرا لیست های مختلفی از عناصر موجود در سیستم عامل را به شما می دهد.

برای به دست آوردن لیستی از تمام کاربرانی که تایپ می کنید (همانطور که کاربران در آن لیست شده اند /etc/passwd )

 getent passwd
 

برای افزودن یک کاربر جدید به سیستم مورد نظر خود

 sudo adduser newuser
 

برای ایجاد کاربری که تمام تنظیمات پیش فرض اعمال شده باشد.

جایزه: برای افزودن هر کاربر (به عنوان مثال anyuser ) به یک گروه (به عنوان مثال cdrom )

 sudo adduser anyuser cdrom
 

شما با یک کاربر (به عنوان مثال منسوخ ) حذف می کنید

 sudo deluser obsolete
 

اگر می خواهید فهرست / ایمیل خانه خود را پاک کنید و تایپ کنید

 sudo deluser --remove-home obsolete
 

و

 sudo deluser --remove-all-files obsolete
 

کاربر و کلیه پرونده های متعلق به این کاربر را بر روی کل سیستم حذف می کند.


66



می توانید از داخلی داخلی compgen GNU نیز استفاده کنید :

 compgen -u
 

لیست همه کاربران را نشان می دهد.


44



این باید در شرایط عادی همه کاربران عادی (غیر سیستمی ، عجیب و غیره و غیره) را بدست نیاورد:

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

این کار توسط:

  • خواندن از /etc/passwd
  • با استفاده از : به عنوان حائل
  • اگر قسمت سوم (شماره شناسه کاربر) از 1000 بزرگتر باشد و 65534 نباشد ، اولین فیلد (نام کاربری کاربر) چاپ می شود.

این امر به این دلیل است که در بسیاری از سیستمهای لینوکس ، نامهای کاربری بالای 1000 برای کاربران غیرمجاز (می توان گفت عادی هستند) محفوظ است. برخی از اطلاعات در مورد این در اینجا :

شناسه کاربر (UID) یک عدد صحیح مثبت منحصر به فرد است که توسط یک سیستم عامل مشابه یونیکس به هر کاربر اختصاص داده شده است. هر کاربر توسط UID خود به سیستم شناسایی می شود و نامهای کاربر معمولاً فقط به عنوان واسط برای انسان استفاده می شوند.

UID ها به همراه نام کاربری مربوطه و سایر اطلاعات اختصاصی کاربر در پرونده / etc / passwd ذخیره می شوند ...

قسمت سوم شامل UID است ، و فیلد چهارم شامل ID Group (GID) است که به طور پیش فرض برابر UID برای همه کاربران عادی است.

در هسته های لینوکس 2.4 و بالاتر ، UID ها عدد صحیح 32 بیتی هستند که می توانند مقادیر صفر تا 4،294،967،296 را نشان دهند. با این وجود توصیه می شود برای حفظ سازگاری با سیستم هایی که از هسته های قدیمی یا سیستم های پرونده استفاده می کنند ، فقط می توان UID های 16 بیتی را استفاده کرد ، از مقادیر فقط تا 65،534 استفاده کنید.

UID 0 دارای نقش ویژه ای است: همیشه حساب اصلی (یعنی کاربر اداری توانا) است. اگرچه می توان نام کاربری را در این حساب تغییر داد و با همان UID می توانید حساب های دیگری ایجاد کنید ، اما هیچ عملی از نظر امنیتی عاقلانه نیست.

UID 65534 معمولاً در اختیار هیچ کس نیست ، کاربر بدون امتیاز سیستم ، بر خلاف یک کاربر معمولی (یعنی غیر ممتاز). این UID اغلب برای افرادی که از راه دور از طریق FTP (پروتکل انتقال فایل) یا HTTP (پروتکل انتقال hypertext) به سیستم دسترسی پیدا می کنند ، استفاده می شود.

UID های 1 تا 99 به طور سنتی برای کاربران سیستم ویژه (که بعضاً کاربران شبه نامیده می شوند) ، مانند چرخ ، Daemon ، LP ، اپراتور ، اخبار ، نامه و غیره رزرو شده است. این کاربران سرپرستانی هستند که به کل قدرت ریشه ندارند. برخی از کارهای اداری و در نتیجه نیاز به امتیازات بیشتری نسبت به مواردی که به کاربران عادی داده می شود.

برخی توزیع های لینوکس (یعنی نسخه ها) UID ها را برای کاربران غیر ممتاز از 100 شروع می کنند. برخی دیگر ، مانند Red Hat ، آنها را با 500 شروع می کنند و برخی دیگر ، مانند Debian ، آنها را با 1000 شروع می کنند. به دلیل تفاوت بین توزیع ها ، کتابچه راهنمای کاربر در صورت استفاده از توزیع های متعدد در یک شبکه در یک سازمان ، مداخله می تواند ضروری باشد.

همچنین ، می توان یک بلوک از UID ها را برای کاربران محلی مانند 1000 تا 9999 و یک بلوک دیگر برای کاربران از راه دور (یعنی کاربران در جای دیگر شبکه) مانند 10000 تا 65534 رزرو کرد. نکته مهم این است که تصمیم بگیرید روی یک طرح و پیروی از آن

از جمله مزایای استفاده از این روش برای ذخیره بلوک های اعداد برای انواع خاص کاربران ، این است که جستجوی از طریق سیاهههای مربوط به سیستم برای فعالیت مشکوک کاربر راحت تر می شود.

برخلاف تصور عامه ، لازم نیست هر ورودی در قسمت UID بی نظیر باشد. با این حال ، UID های غیر منحصر به فرد می توانند باعث ایجاد مشکلات امنیتی شوند ، بنابراین UID ها باید در کل سازمان منحصر به فرد نگه داشته شوند. به همین ترتیب ، باید از بازیافت UID از کاربران سابق تا حد امکان جلوگیری شود.


27



لیست کلیه کاربرانی که می توانند وارد سیستم شوند (هیچ کاربر سیستمی مانند: سطل ، دیامون ، ایمیل ، سیستمهای اطلاعاتی و غیره)

 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
 

17



خوب در اینجا ترفندی وجود دارد که به شما در مرتب سازی این موضوع کمک می کند. اگر کاربر تایپ کرده و کلید Tab را دو بار وارد کنید ، ترمینال دارای اتمام خودکار است ، تمام دستوراتی را که با کاربر وجود دارد به عنوان 4 کار اول لیست می کند.

 user (tab tab)
 

گزینه های ممکن را به من می دهد userdd userdel usermod کاربران کاربران-مدیر
اگر می خواهید اطلاعات بیشتری در مورد دستور google آن بدانید یا نوع شخصی که کاربر userdd به useradd می دهد - یک کاربر جدید ایجاد کنید یا اطلاعات جدید پیش فرض کاربر جدید را به روز کنید ... ...

برای لیست کاربران باید با آنچه Mitch گفته است بروید.

امیدوارم که به من کمک کند تکمیل برگه را در bash دوست داشته باشم ، مرا از یادآوری چیزها نجات می دهد.


8



برای پیدا کردن کاربرانی که دایرکتوری خانگی در پوشه / home روی دستگاه دارند ، دستورات زیر را اجرا کنید

 cd /home
ls 
 

سپس می توانید کاربرانی که مجوز ورود به سرور را دارند ، مشاهده کنید. اگر می خواهیم پرونده های هر کاربر را بررسی کنیم ، شما باید کاربر اصلی باشید.


6



پاسخ اول توصیه می کند:

 cut -d: -f1 /etc/passwd
 

اما با استفاده از این و شمارش تعداد کاربرانی که دریافت می کنید:

 $ cut -d: -f1 /etc/passwd | wc -l
46
 

46 کاربر برای رایانه لپ تاپ بسیار زیاد است !. بنابراین به جای آن از این موارد استفاده کنید:

 $ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1
root
rick
guest-atkb2q
guest-u4sf2i
guest-rmlbtg
guest-mz53vp
 

برای حذف حساب های مهمان (که به هر حال فایل ها را ذخیره نکرده اند) از این موارد استفاده کنید:

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

برخی از کاربران نمونه حذف شده از لیست عبارتند از:

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

به نظر می رسد بیشتر کاربران در یک سیستم کاربر واحد در واقع برنامه هایی هستند که خود را به عنوان کاربران تنظیم کرده اند.


0



انتشارات مرتبط


چگونه کاربر موجود را به یک گروه موجود اضافه کنیم؟

چگونه می توان با استفاده از یک کاربر ، همه کاربران و گروه ها را نمایش داد؟

چگونه کاربر بدون خانه اضافه کنیم؟

چگونه می توانم لیست همه بسته های اسنپ موجود را تهیه کنم؟

دستورالعمل لیست تمام خدمات شروع شده در بوت

چگونه می توان یک برنامه سفارشی را به لیست برنامه های "Open With" در Xubuntu 13.04 اضافه کرد؟ چگونه یک فایل را با یک برنامه مرتبط کنیم تا آن را باز کنیم؟ [تکثیر]

چگونه می توان اپل حالت اصلاح صفحه کلید را به پانل وحدت اضافه کرد؟

نحوه افزودن ستونهایی که اطلاعات فوق داده صوتی و عکس (EXIF) را به نمای لیست Nautilus اضافه می کنند

دستور می دهید که همه کاربران را با UID خود لیست کنید؟

همه کاربران را با ورود به سیستم LightDM لیست نکنید

[command-line] سوال برچسب


چگونه چندین فایل PDF را ادغام کنیم؟

چگونه می توان پارتیشن ها را در هنگام راه اندازی سوار کرد؟

نحوه تغییر دائمی Caps Lock و Esc

کلیک راست روی عدم کار در اوبونتو 18.04

چگونه ماژول پایتون را به syspath اضافه کنیم؟

خطوط n اول یک فایل متنی بزرگ را حذف کنید

تنظیم متغیر PATH در / etc / Environment در مقابل .profile

mount: شما باید نوع سیستم فایل را مشخص کنید

خطای اوبونتو 15.10 mysql 1524 - unix_socket