systemd-ask-password -
درخواست
گذرواژه یا
عبارت عبور
سیستمی از
کاربر
systemd-ask-password [OPTIONS...] [MESSAGE]
systemd-ask-password
میتواند
برای
درخواست
تعاملی یک
گذرواژه یا
عبارت عبور
(passphrase) از
کاربر، با
استفاده از
یک اعلان
پرسش
مشخصشده
در خط فرمان
استفاده
شود. هنگامی
که از یک TTY
اجرا شود،
گذرواژه را
در همان TTY
درخواست
کرده و آن را
در خروجی
استاندارد
چاپ میکند.
هنگامی که
بدون TTY یا با
--no-tty اجرا
شود، از
سازوکار
پرسوجوی
مبتنی بر
عامل (agent-based) در
سطح کل
سیستم یا
برای هر
کاربر
استفاده
خواهد کرد
که به
کاربران
فعال اجازه
میدهد از
طریق چندین
عامل که در
ادامه
فهرست
شدهاند
پاسخ دهند.
هدف این
ابزار،
درخواست
گذرواژههای
سراسری
سیستم یا
مربوط به هر
کاربر است —
نوع اول
شامل
گذرواژههایی
است که
احتمالاً
به یک حساب
کاربری خاص
وابسته
نیستند. از
جمله
مثالها
میتوان به
این موارد
اشاره کرد:
بازگشایی
قفل
دیسکهای
سخت
رمزنگاریشده
هنگام
اتصال یا در
زمان بوت، و
وارد کردن
عبارت عبور
گواهی SSL
برای
سرورهای وب
و VPN.
عاملهای
موجود در
سطح سیستم
عبارتند
از:
•یک عامل
گذرواژه در
زمان بوت که
با استفاده
از
plymouth(8) از
کاربر
گذرواژه
درخواست
میکند،
•یک عامل
TTY که به صورت
موقت در
هنگام
فراخوانیهای
systemctl(1) ایجاد
میشود،
•یک عامل
خط فرمان که
میتواند
به صورت
موقت برای
پردازش
درخواستهای
گذرواژه در
صف اجرا شود
— systemd-tty-ask-password-agent --query.
پاسخ دادن
به
درخواستهای
گذرواژه در
سطح سیستم
یک عملیات
دارای
دسترسی
ویژه (ممتاز)
است،
بنابراین
همه
عاملهای
فهرستشده
در بالا (به
جز مورد
آخر)، به
عنوان
سرویسهای
دارای
دسترسی
ممتاز در
سیستم اجرا
میشوند.
مورد آخر
نیز به
دسترسیهای
ارتقایافته
نیاز دارد،
بنابراین
باید از
طریق run0(1) یا
ابزارهای
مشابه اجرا
شود.
عاملهای
گذرواژه
اضافی را
میتوان
مطابق با
مشخصات
عامل
گذرواژه systemd (systemd
Password Agent Specification)[1]
پیادهسازی
کرد.
اگر
گذرواژه
روی یک TTY
درخواست
شود، کاربر
میتواند
کلید TAB را
فشار دهد تا
ستارههایی
که معمولاً
به ازای هر
نویسه
تایپشده
نمایش داده
میشوند
مخفی شوند.
فشردن کلید
Backspace به عنوان
نخستین
کلید نیز
همین اثر را
خواهد
داشت.
گزینههای
زیر
پشتیبانی
میشوند:
--icon=
یک نام
آیکون را در
کنار
پرسوجوی
گذرواژه
مشخص
میکند که
ممکن است در
تمام
عاملهایی
که از نمایش
گرافیکی
پشتیبانی
میکنند
استفاده
شود. نام
آیکون باید
از مشخصات
نامگذاری
آیکون XDG (XDG Icon Naming
Specification)[2] پیروی
کند.
--id=
یک شناسه
برای این
پرسوجوی
گذرواژه
مشخص
میکند. این
شناسه به
دلخواه
قابل
انتخاب است
و امکان
شناسایی
درخواستها
توسط
عاملهای
درگیر را
فراهم
میسازد.
این شناسه
باید شامل
زیرسیستمی
که پرسوجو
را انجام
میدهد و
شیء خاصی که
پرسوجو
برای آن
انجام
میشود
باشد. مثال:
"
--id=cryptsetup:/dev/sda5".
در نسخه 227
اضافه شد.
--keyname=
یک نام
کلید در
دستهکلید
هسته (kernel keyring) را
برای
استفاده به
عنوان
حافظه نهان
(cache) گذرواژه
پیکربندی
میکند. در
صورت
تنظیم، این
ابزار تلاش
خواهد کرد
هر گذرواژه
جمعآوریشده
را در
دستهکلید
هسته مربوط
به کاربر root
به عنوان
کلیدی با
نام
مشخصشده
درج کند. اگر
با
--accept-cached
ترکیب شود،
همچنین
تلاش خواهد
کرد به جای
درخواست
فوری از
کاربر،
چنین
گذرواژههای
ذخیرهشدهای
را از کلید
موجود در
دستهکلید
هسته
بازیابی
کند. با
استفاده از
این گزینه،
میتوان از
دستهکلید
هسته به
عنوان یک
حافظه نهان
مؤثر
استفاده
کرد تا در
صورتی که
چندین شیء
با گذرواژه
یکسان
بازگشایی
میشوند،
از درخواست
مکرر
گذرواژه از
کاربران
جلوگیری
شود. برای
کلید
ذخیرهشده
مهلت زمانی
2.5
دقیقه
تعیین
میشود که
پس از آن از
دستهکلید
هسته پاک
خواهد شد.
توجه داشته
باشید که
میتوان
چندین
گذرواژه را
تحت همان
نام کلید
ذخیره کرد،
که در این
صورت آنها
به عنوان
فهرستی از
گذرواژههای
جداشده با
NUL
ذخیره
میشوند. از
keyctl(1) برای
دسترسی
مستقیم به
کلید
ذخیرهشده
از طریق
دستهکلید
هسته
استفاده
کنید. مثال:
"
--keyname=cryptsetup"
در نسخه 227
اضافه شد.
--credential=
یک
گواهینامه/اعتبارنامه
(credential) را برای
خواندن
گذرواژه از
آن – در صورت
وجود –
پیکربندی
میکند. این
گزینه ممکن
است در
ارتباط با
تنظیمات
ImportCredential=،
LoadCredential= و
SetCredential= در
فایلهای
واحد (unit files)
استفاده
شود. برای
جزئیات به
systemd.exec(5) مراجعه
کنید. اگر
مشخص نشود،
به طور
پیشفرض "password".
است. این
گزینه در
صورتی که
هیچ
دایرکتوری
اعتباری به
برنامه
ارسال نشود
(یعنی
$CREDENTIALS_DIRECTORY
تنظیم نشده
باشد) یا در
صورتی که
هیچ
اعتباری با
نام
مشخصشده
وجود
نداشته
باشد، هیچ
اثری ندارد.
در نسخه 249
اضافه شد.
--timeout=
مهلت
زمانی
پرسوجو را
بر حسب
ثانیه مشخص
میکند.
مقدار
پیشفرض 90s
است. مهلت
زمانی 0 به
طور
نامحدود
منتظر
میماند.
--echo=yes|no|masked
نمایش یا
بازتاب (echo)
ورودی
کاربر را
کنترل
میکند. یک
مقدار بولی
یا رشته
ویژه "masked" را
میپذیرد
که پیشفرض
حالت دوم
است. در صورت
فعال بودن،
نویسههای
تایپشده
عینا
بازتاب
داده
میشوند که
برای
درخواست
نامهای
کاربری و
سایر
دادههای
محافظتنشده
مفید است. در
صورت
غیرفعال
بودن،
نویسههای
تایپشده
به هیچ شکلی
بازتاب
داده
نمیشوند و
کاربر
بازخوردی
از ورودی
خود دریافت
نخواهد کرد.
در صورت
تنظیم روی
"masked"، یک
ستاره ("*") به
ازای هر
نویسه
تایپشده
نمایش داده
میشود. در
این حالت،
اگر کاربر
کلید تب ("↹")
را فشار
دهد،
بازتاب
خاموش
میشود.
(همچنین،
اگر کاربر
بدون اینکه
هیچ
دادهای
وارد کرده
باشد کلید
پسبر یا backspace
("⌫") را فشار
دهد نیز
بازتاب
خاموش
میشود).
در نسخه 249
اضافه شد.
--echo, -e
معادل
--echo=yes،
توضیحات
بالا را
ببینید.
در نسخه 217
اضافه شد.
--emoji=yes|no|auto
کنترل
میکند که
آیا در صورت
اجازه دادن
تنظیمات TTY،
اعلان پرسش
با ایموجی
قفل و کلید (🔐)
پیشوند شود
یا خیر.
مقدار
پیشفرض "auto"
است که به "yes"
منتهی
میشود،
مگر اینکه
--echo=yes داده شده
باشد.
در نسخه 249
اضافه شد.
--no-tty
هرگز روی
TTY فعلی
درخواست
گذرواژه
نمیکند
حتی اگر در
دسترس باشد.
همیشه از
سیستم
عاملها (agents)
استفاده
میکند.
--accept-cached
در صورت
استفاده،
گذرواژههای
ذخیرهشده
در حافظه
نهان، یعنی
گذرواژههایی
که قبلاً
وارد
شدهاند را
میپذیرد.
--multiple
هنگامی
که همراه با
--accept-cached
استفاده
شود، چندین
گذرواژه را
میپذیرد.
این کار یک
گذرواژه در
هر خط خروجی
میدهد.
--no-output
گذرواژهها
را در خروجی
استاندارد
چاپ
نمیکند.
این ویژگی
زمانی مفید
است که
بخواهید
گذرواژهای
را با
--keyname= در
دستهکلید
هسته ذخیره
کنید اما
نخواهید
روی صفحه
نمایش یا در
لاگها
نشان داده
شود.
در نسخه 230
اضافه شد.
-n
به طور
پیشفرض،
هنگامی که
گذرواژه
دریافت شده
در خروجی
استاندارد
نوشته
میشود، یک
نویسه خط
جدید (newline) به
انتهای آن
اضافه
میشود. این
رفتار را
میتوان با
سوییچ
-n
مشابه
سوییچی با
همین نام در
دستور
echo(1)
غیرفعال
کرد.
در نسخه 249
اضافه شد.
--user, --system
کنترل
میکند که
از
عاملهای
گذرواژه در
سطح سیستم
پرسوجو
شود یا در
سطح کاربر.
به طور
پیشفرض،
اگر با
دسترسی
ممتاز
فراخوانی
شود از
عاملهای
سطح سیستم
پرسوجو
میشود، در
غیر این
صورت از
عاملهای
سطح کاربر.
این
گزینهها
امکان لغو
این رفتار
خودکار را
فراهم
میکنند.
در نسخه 257
اضافه شد.
-h, --help
یک متن
راهنمای
کوتاه را
چاپ کرده و
خارج
میشود.
در صورت
موفقیت، 0
برگردانده
میشود، و
در غیر این
صورت یک کد
شکست
غیرصفر
برگردانده
خواهد شد.
- 1.
- مشخصات
عامل
گذرواژه systemd (systemd
Password Agent Specification)
- 2.
- مشخصات
نامگذاری
آیکون XDG (XDG Icon Naming
Specification)