| LOGIN(1) | دستورهای کاربر | LOGIN(1) |
نام (NAME)
login - شروع یک نشست کاربری جدید در سیستم
خلاصه دستور (SYNOPSIS)
login [-p] [-s shell] [-h host] [-H] [[-f] username|UID]
توضیحات (DESCRIPTION)
دستور login هنگام ورود به سیستم استفاده میشود. اگر هیچ آرگومانی داده نشود، login نام کاربری را درخواست میکند.
سپس در صورت لزوم، گذرواژه از کاربر درخواست میشود. برای جلوگیری از فاش شدن گذرواژه، بازتاب ورودی غیرفعال است. پیش از خروج login و قطع شدن پیوند ارتباطی، تنها تعداد معینی تلاش ناموفق برای ورود گذرواژه مجاز است. به LOGIN_RETRIES در بخش موارد فایل پیکربندی (CONFIG FILE ITEMS) مراجعه کنید.
اگر منقضی شدن گذرواژه برای حساب کاربری فعال شده باشد، ممکن است پیش از ادامه، از کاربر درخواست شود گذرواژه جدیدی تعیین کند. در چنین حالتی، پیش از ادامه باید گذرواژه قدیمی ارائه شده و گذرواژه جدید وارد شود. لطفاً برای اطلاعات بیشتر به passwd(1) مراجعه کنید.
شناسه کاربر و شناسه گروه مطابق با مقادیر آنها در فایل /etc/passwd تنظیم خواهند شد. یک استثنا وجود دارد اگر شناسه کاربر صفر باشد؛ در این حالت فقط شناسه گروه اصلی حساب کاربری تنظیم میشود. این امر به مدیر سیستم اجازه میدهد حتی در صورت بروز مشکلات شبکه نیز وارد سیستم شود. مقادیر متغیرهای محیطی $HOME، $USER، $SHELL، $PATH، $LOGNAME و $MAIL بر اساس فیلدهای مناسب در مدخل فایل گذرواژه تنظیم میشوند. در صورت عدم پیکربندی دیگر، مقدار پیشفرض $PATH برای کاربران عادی برابر با /usr/local/bin:/bin:/usr/bin و برای root برابر با /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin است.
متغیر محیطی $TERM در صورت وجود حفظ خواهد شد، در غیر این صورت با نوع ترمینال روی tty شما مقداردهی اولیه میشود. متغیرهای محیطی $COLORTERM و $NO_COLOR در صورت وجود حفظ خواهند شد.
سایر متغیرهای محیطی در صورتی که گزینه -p مشخص شده باشد یا LOGIN_ENV_SAFELIST در /etc/login.defs تعریف شده باشد (به ادامه مراجعه کنید)، حفظ میشوند.
متغیرهای محیطی تعریفشده توسط PAM همیشه حفظ میشوند.
سپس پوسته کاربر راهاندازی میشود. اگر با -s یا در /etc/passwd هیچ پوستهای برای کاربر مشخص نشده باشد، /bin/sh استفاده میشود. اگر پوسته مشخصشده حاوی فاصله باشد، به عنوان یک اسکریپت پوسته در نظر گرفته میشود. اگر هیچ دایرکتوری خانگی در /etc/passwd مشخص نشده باشد، / استفاده شده و سپس بررسی .hushlogin طبق توضیحات زیر انجام میشود.
اگر فایل .hushlogin وجود داشته باشد، یک ورود «بیصدا» (quiet) انجام میشود. این کار بررسی ایمیل و چاپ زمان آخرین ورود و پیام روز (message of the day) را غیرفعال میکند. در غیر این صورت، اگر /var/log/lastlog وجود داشته باشد، زمان آخرین ورود چاپ شده و ورود جاری ثبت میشود.
گزینهها (OPTIONS)
-p
-f
-h
توجه داشته باشید که گزینه -h بر نام سرویس PAM تأثیر میگذارد. نام سرویس استاندارد login است، اما با گزینه -h، نام آن remote خواهد بود. ایجاد فایلهای پیکربندی مناسب PAM ضروری است (برای نمونه، /etc/pam.d/login و /etc/pam.d/remote).
-H
-s, --shell shell
-h, --help
-V, --version
موارد فایل پیکربندی (CONFIG FILE ITEMS)
دستور login فایل پیکربندی /etc/login.defs را میخواند (به login.defs(5) مراجعه کنید). توجه داشته باشید که این فایل پیکربندی ممکن است همراه با بسته دیگری (معمولاً shadow-utils) توزیع شده باشد. موارد پیکربندی زیر برای login مرتبط هستند:
MOTD_FILE (رشته)
مقدار پیشفرض /usr/share/misc/motd:/run/motd:/etc/motd است. اگر مورد MOTD_FILE خالی باشد یا ورود بیصدا فعال شده باشد، پیام روز نمایش داده نمیشود. توجه داشته باشید که همین عملکرد توسط ماژول PAM به نام pam_motd(8) نیز ارائه میشود.
دایرکتوریها در MOTD_FILE از نسخه ۲.۳۶ به بعد پشتیبانی میشوند.
توجه داشته باشید که login هیچ رفتار جایگزینی نام فایلها مانند pam_motd را پیادهسازی نمیکند (همچنین به MOTD_FIRSTONLY مراجعه کنید)، بلکه تمام محتوای تمام فایلها نمایش داده میشود. توصیه میشود منطق اضافی را در تولیدکنندههای محتوا نگه دارید و به جای اتکا به رفتارهای جایگزینی کدگذاریشده در ابزارهای سیستم، از /run/motd.d استفاده کنید.
MOTD_FIRSTONLY (بولی)
LOGIN_ENV_SAFELIST (رشته)
LOGIN_PLAIN_PROMPT (بولی)
LOGIN_TIMEOUT (عدد)
LOGIN_RETRIES (عدد)
LOGIN_KEEP_USERNAME (بولی)
FAIL_DELAY (عدد)
TTYPERM (رشته)
TTYGROUP (رشته)
متغیر TTYGROUP میتواند نام یک گروه یا یک شناسه عددی گروه باشد. همچنین به mesg(1) مراجعه کنید.
HUSHLOGIN_FILE (رشته)
اگر مسیر کاملی مشخص نشده باشد، در صورتی که فایل در دایرکتوری خانگی کاربر وجود داشته باشد، حالت بیصدا فعال میشود.
حالت پیشفرض بررسی /etc/hushlogins است و در صورت عدم وجود، ~/.hushlogin بررسی میشود.
اگر مورد HUSHLOGIN_FILE خالی باشد، تمام بررسیها غیرفعال میشوند.
DEFAULT_HOME (بولی)
LASTLOG_UID_MAX (عدد بدون علامت)
LOG_UNKFAIL_ENAB (بولی)
توجه داشته باشید که ثبت نامهای کاربری ناشناخته ممکن است یک مشکل امنیتی باشد اگر کاربری گذرواژه خود را به جای نام ورود وارد کند.
ENV_PATH (رشته)
ENV_ROOTPATH (رشته)، ENV_SUPATH (رشته)
LOGIN_SHELL_FALLBACK (بولی)
فایلها (FILES)
/var/run/utmp, /var/log/wtmp, /var/log/lastlog, /var/spool/mail/*, /etc/motd, /etc/passwd, /etc/nologin, /etc/pam.d/login, /etc/pam.d/remote, /etc/hushlogins, $HOME/.hushlogin
اعتبارنامهها (CREDENTIALS)
دستور login از پیکربندی از طریق اعتبارنامههای systemd پشتیبانی میکند (به https://systemd.io/CREDENTIALS مراجعه کنید). دستور login اعتبارنامههای systemd زیر را میخواند:
login.noauth (بولی)
اشکالات (BUGS)
گزینه مستندنشده BSD یعنی -r پشتیبانی نمیشود. این گزینه ممکن است برای برخی برنامههای rlogind(8) مورد نیاز باشد.
ورود بازگشتی (recursive login)، آنگونه که در گذشتههای دور ممکن بود، دیگر کار نمیکند؛ برای بیشتر اهداف، su(1) یک جایگزین مناسب است. در واقع، به دلایل امنیتی، login یک فراخوانی سیستمی vhangup(2) انجام میدهد تا هرگونه فرایند شنود احتمالی روی tty را حذف کند. این کار برای جلوگیری از شنود گذرواژه است. اگر کسی از دستور login استفاده کند، پوسته احاطهکننده توسط vhangup(2) کشته میشود زیرا دیگر مالک واقعی tty نیست. با استفاده از exec login در یک پوسته سطح بالا یا xterm میتوان از این اتفاق جلوگیری کرد.
نویسندگان (AUTHORS)
برگرفته از BSD login 5.40 (5/9/89) توسط Michael Glad <glad@daimi.dk> برای HP-UX. پورتشده به لینوکس 0.12 توسط: Peter Orbaek <poe@daimi.aau.dk>. بازنویسی به نسخه منحصراً PAM توسط Karel Zak <kzak@redhat.com>
همچنین ببینید (SEE ALSO)
mail(1), passwd(1), passwd(5), utmp(5), environ(7), getty(8), init(8), lastlog(8), shutdown(8)
گزارش باگها (REPORTING BUGS)
برای گزارش باگها، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues. استفاده کنید.
دسترسپذیری (AVAILABILITY)
دستور login بخشی از بسته util-linux است که میتواند از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت شود.
| 2026-09-02 | util-linux 2.42.3 |