| CRYPTSETUP-LUKSOPEN(8) | دستورهای مدیریتی سیستم | CRYPTSETUP-LUKSOPEN(8) |
نام (NAME)
cryptsetup-luksOpen - باز کردن یک دستگاه رمزگذاریشده LUKS و ایجاد نگاشت
خلاصه دستور (SYNOPSIS)
cryptsetup luksOpen
[<گزینهها>]
<دستگاه>
<نام>
cryptsetup open --type luks
[<گزینهها>]
<دستگاه>
<نام>
توضیحات (DESCRIPTION)
دستگاه رمزگذاریشده LUKS با نام <دستگاه> را باز کرده و پس از اعتبارسنجی و تایید موفقیتآمیز گذرواژه ارائهشده، یک نگاشت با <نام> راهاندازی میکند.
دستور cryptsetup luksOpen یک نام مستعار پرکاربرد و معادل با دستور استاندارد cryptsetup open --type luks است.
در فرایند باز کردن دستگاه، ابتدا گذرواژه در توکنهای LUKS2 که با پین (PIN) محافظت نشدهاند جستجو میشود. اگر چنین توکنی وجود نداشته باشد (یا در باز کردن قفل اسلات کلید ناموفق باشد) و گذرواژه از طریق گزینه --key-file ارائه نشده باشد، این دستور گذرواژه را به صورت تعاملی از کاربر در ترمینال درخواست میکند.
اگر یک توکن معتبر LUKS2 وجود داشته باشد اما برای باز کردن قفل اسلات کلید اختصاصیافته نیاز به وارد کردن یک پین (PIN) داشته باشد، به طور خودکار استفاده نخواهد شد مگر اینکه یکی از گزینههای زیر اضافه شود: --token-only، --token-type به نحوی که نوع آن با توکن محافظتشده با پین مورد نظر مطابقت داشته باشد، یا --token-id با شناسهای که با توکن محافظتشده با پین مطابقت دارد.
پس از باز شدن موفق دستگاه، نگاشت جدید به عنوان یک دستگاه بلوکی رمزگشاییشده در مسیر /dev/mapper/<نام> در دسترس سیستمعامل قرار میگیرد که میتوان آن را به طور معمول مانت کرد یا سیستمفایل بر روی آن ایجاد نمود.
<گزینهها>
میتوانند
شامل موارد
زیر باشند:
[--allow-discards, --batch-mode, --debug,
--debug-json, --disable-external-tokens,
--disable-keyring, --disable-locks,
--external-tokens-path, --header, --help,
--key-description, --key-file, --keyfile-offset,
--keyfile-size, --key-size, --key-slot,
--link-vk-to-keyring, --perf-high_priority,
--perf-no_read_workqueue, --perf-no_write_workqueue,
--perf-same_cpu_crypt, --perf-submit_from_crypt_cpus,
--persistent, --readonly, --refresh,
--serialize-memory-hard-pbkdf, --test-passphrase,
--timeout, --token-id, --token-only,
--token-type, --tries, --type, --unbound,
--usage, --verify-passphrase, --version,
--volume-key-file, --volume-key-keyring].
گزینهها (OPTIONS)
--allow-discards
هشدار: این گزینه میتواند پیامد منفی امنیتی به همراه داشته باشد، زیرا ممکن است عملیات در سطح سیستمفایل را روی دستگاه فیزیکی آشکار سازد. برای مثال، اطلاعاتی نظیر نوع سیستمفایل، مقدار فضای استفادهشده و غیره در صورتی که بلوکهای دور انداختهشده بعداً قابل شناسایی باشند، ممکن است از دستگاه فیزیکی نشت کرده و قابل استخراج باشد. در صورت تردید، از این گزینه استفاده نکنید.
به نسخه هسته ۳.۱ یا بالاتر نیاز است. برای هستههای قدیمیتر، این گزینه نادیده گرفته میشود.
--batch-mode, -q
اگر گزینه --verify-passphrase مشخص نشده باشد، این گزینه تایید و اعتبارسنجی مجدد گذرواژه را نیز غیرفعال میسازد.
--debug یا --debug-json
اگر از --debug-json استفاده شود، ساختارهای داده اضافی LUKS2 JSON نیز چاپ میشوند.
--disable-external-tokens
--disable-keyring
--disable-locks
هشدار: از این گزینه استفاده نکنید مگر اینکه cryptsetup را در یک محیط محدود اجرا کنید که قفلگذاری در آن غیرممکن باشد (جایی که نمیتوان از دایرکتوری /run استفاده کرد).
--external-tokens-path <مسیر_مطلق>
--header <دستگاه یا فایل ذخیرهکننده هدر LUKS>
هشدار: هیچ بررسی انجام نمیشود که آیا دستگاه متن رمزگذاریشده مشخصشده واقعاً متعلق به هدر دادهشده است یا خیر. در واقع، شما میتوانید با گزینه --header هر دستگاه دلخواهی را به عنوان دستگاه دادههای رمزگذاریشده تعیین کنید. با احتیاط کامل استفاده کنید.
--help, -?
--key-description <متن>
--key-file, -d <فایل>
اگر نام فایل دادهشده "-" باشد، گذرواژه از ورودی استاندارد (stdin) خوانده میشود. در این حالت، فرایند خواندن با رسیدن به نویسه خط جدید متوقف نخواهد شد.
برای اطلاعات بیشتر، بخش NOTES ON PASSPHRASE PROCESSING را در cryptsetup(8) ببینید.
--keyfile-offset <مقدار>
--keyfile-size, -l <مقدار>
این گزینه به عنوان مثال برای حذف نویسههای خط جدید پایانی (trailing newlines) بسیار مفید است. اگر گزینه --keyfile-offset نیز داده شده باشد، شمارش اندازه از پس از آفست آغاز میشود.
--key-size, -s <بیتها>
برای اطلاعات بیشتر به /proc/crypto مراجعه فرمایید. توجه داشته باشید که اندازه کلید در /proc/crypto بر حسب بایت بیان شده است.
برای دستگاههای LUKS2 در حین رمزگذاری مجدد (reencryption)، میتوانید از این پارامتر دو بار برای تعیین اندازه هر دو کلید حجم قدیم و جدید استفاده کنید. هر گزینه --key-size با پارامتر متناظر --volume-key-file مطابقت دارد (که استفاده از آن نیز تا دو بار مجاز است).
--key-slot, -S <0-N>
حداکثر تعداد اسلاتهای کلید به نسخه LUKS بستگی دارد. LUKS1 میتواند تا ۸ اسلات کلید داشته باشد. LUKS2 بر اساس اندازه ناحیه اسلات کلید و اندازه کلید میتواند تا ۳۲ اسلات کلید داشته باشد، اما شناسه معتبر اسلات کلید برای LUKS2 همیشه مقداری بین ۰ تا ۳۱ است.
--link-vk-to-keyring <شرح_جاکلیدی>::<شرح_کلید>
رشته <شرح_جاکلیدی> باید حاوی توصیف جاکلیدی موجود در هسته باشد. نام جاکلیدی میتواند به صورت اختیاری دارای پیشوند نوع "%:" یا "%keyring:" باشد. همچنین جاکلیدی را میتوان مستقیماً با شناسه عددی کلید مشخص کرد. علاوه بر این، نمادگذاریهای ویژه جاکلیدی که با "@" آغاز میشوند نیز میتوانند برای انتخاب جاکلیدیهای پیشتعریفشده هسته استفاده شوند.
رشته "::" به عنوان جداکننده میان شرح جاکلیدی و شرح کلید به کار میرود.
بخش <شرح_کلید> نوع کلید و نام کلید حجم پیوندیافته در جاکلیدی توصیفشده در <شرح_جاکلیدی> را شرح میدهد. نوع میتواند با افزودن پیشوند "%<نام_نوع>:" در ابتدای نام کلید تعیین شود. اگر نوع حذف شود، نوع پیشفرض user اعمال میگردد. اگر کلیدی با همان نام و همان نوع از قبل در جاکلیدی وجود داشته باشد، در طول فرایند جایگزین خواهد شد.
همچنین بخش KEY IDENTIFIERS را در keyctl(1) ببینید.
--perf-high_priority
این گزینه تنها برای تنظیم کارایی سطح پایین dm-crypt در دسترس است؛ تنها زمانی استفاده کنید که نیاز به تغییر در رفتار پیشفرض dm-crypt داشته باشید. به هسته ۶.۱۰ یا بالاتر نیاز دارد.
--perf-no_read_workqueue, --perf-no_write_workqueue
این گزینهها تنها برای تنظیم کارایی سطح پایین dm-crypt در دسترس هستند؛ تنها در صورتی استفاده کنید که به تغییر رفتار پیشفرض dm-crypt نیاز داشته باشید. به هسته ۵.۹ یا بالاتر نیاز دارد.
--perf-same_cpu_crypt
این گزینه تنها برای تنظیم کارایی سطح پایین dm-crypt در دسترس است؛ تنها در صورتی استفاده کنید که نیاز به تغییر رفتار پیشفرض dm-crypt داشته باشید. به هسته ۴.۰ یا بالاتر نیاز دارد.
--perf-submit_from_crypt_cpus
این گزینه تنها برای تنظیم کارایی سطح پایین dm-crypt در دسترس است؛ تنها در صورتی استفاده کنید که به تغییر در رفتار پیشفرض dm-crypt نیاز داشته باشید. به هسته ۴.۰ یا بالاتر نیاز دارد.
--persistent
اگر میخواهید یک فلگ ماندگار را حذف کنید، از گزینه --persistent بدون فلگی که قصد حذف آن را دارید استفاده کنید (برای نمونه، جهت غیرفعال کردن فلگ ماندگار دورریز، از --persistent بدون --allow-discards استفاده نمایید).
تنها گزینههای --allow-discards، --perf-same_cpu_crypt، --perf-submit_from_crypt_cpus، --perf-no_read_workqueue، --perf-no_write_workqueue و --integrity-no-journal میتوانند به صورت ماندگار ذخیره شوند.
--readonly, -r
--refresh
--serialize-memory-hard-pbkdf
این گزینه یک راهکار جایگزین موقت برای موقعیتهای خاص است که در آن چندین دستگاه رمزگذاریشده به صورت همزمان و موازی فعال میشوند و سیستم به دلیل کمبود حافظه رم، به جای گزارش خطای کمبود حافظه، فرایندها را از طریق قاتل حافظه (OOM killer) متوقف میکند.
تا زمانی که در حال پیادهسازی محیط بوت با فعالسازی موازی دستگاهها نیستید، از این سوئیچ استفاده نکنید!
--test-passphrase
--timeout, -t <تعداد_ثانیهها>
این گزینه زمانی مفید است که سیستم در صورت عدم ورود گذرواژه نباید متوقف یا معطل بماند؛ مانند زمان بوت خودکار سیستم. مقدار پیشفرض ۰ ثانیه است که به معنای انتظار نامحدود (تا ابد) خواهد بود.
--token-id <شناسه>
--token-only
این گزینه اجازه میدهد توکنهای LUKS2 محافظتشده با پین (PIN) بر اعلان تعاملی گذرواژه اسلات کلید تقدم داشته باشند.
--token-type <نوع>
این گزینه امکان میدهد توکنهای LUKS2 از نوع محافظتشده با پین بر اعلان تعاملی گذرواژه اسلات کلید اولویت یابند.
--tries, -T <تعداد>
--type <نوع_دستگاه>
--unbound
--usage
--verify-passphrase, -y
--version, -V
--volume-key-file <فایل>, --master-key-file <فایل> (نام مستعار منسوخشده)
این گزینه امکان باز کردن دستگاههای نوع luks را بدون نیاز به وارد کردن گذرواژه فراهم میکند.
برای دستگاههای در حال رمزگذاری مجدد (reencryption)، این گزینه ممکن است دو بار برای تعیین هر دو کلید حجم قدیم و جدید به کار رود. هنگام استفاده دوگانه، مطمئن شوید که هر گزینه --volume-key-file را با پارامتر متناظر --key-size نیز جفت کنید.
--volume-key-keyring <شرح_کلید>
این گزینه امکان باز کردن دستگاههای نوع luks را بدون ارائه گذرواژه فراهم میسازد. برای LUKS، کلید و نوع مرتبط با آن باید از فضای کاربری قابل خواندن باشد تا چکیده (digest) کلید حجم پیش از فعالسازی تایید و اعتبارسنجی شود. برای دستگاههای در حال رمزگذاری مجدد (reencryption)، این گزینه ممکن است تا دو بار برای مشخص کردن کلیدهای قدیم و جدید استفاده گردد.
عبارت <شرح_کلید> از نحوی سازگار با keyctl استفاده میکند. این مقدار میتواند یک شناسه عددی کلید یا یک نام رشتهای در قالب %<نوع_کلید>:<نام_کلید> باشد. همچنین بخش KEY IDENTIFIERS را در keyctl(1) ببینید. در صورت عدم تعیین پیشوند %<نوع_کلید>:، فرض میشود نوع کلید برابر user (نوع پیشفرض) است.
مثالها (EXAMPLES)
باز کردن یک پارتیشن رمزگذاریشده LUKS و ایجاد نگاشت با نام secret_backup با ورود تعاملی گذرواژه:
# cryptsetup luksOpen /dev/sda2 secret_backup
دستگاه رمزگشاییشده پس از باز شدن در مسیر /dev/mapper/secret_backup در دسترس خواهد بود و میتوان آن را مانت کرد:
# mount /dev/mapper/secret_backup /mnt/backup
باز کردن دستگاه با استفاده از فایل کلید به جای گذرواژه تعاملی:
# cryptsetup luksOpen --key-file /root/secret.key /dev/sdb1 mydata
باز کردن دستگاه با فعالسازی پشتیبانی از دستورات دورریز (TRIM) برای درایوهای SSD:
# cryptsetup luksOpen --allow-discards /dev/nvme0n1p3 cryptroot
باز کردن دستگاهی که هدر متاداده LUKS آن بر روی یک فایل یا رسانه جداگانه قرار دارد (هدر مستقل):
# cryptsetup luksOpen --header /media/usb/header.img /dev/sdc1 private
بررسی صحت یک گذرواژه بدون باز کردن و فعال کردن نگاشت:
# cryptsetup luksOpen --test-passphrase /dev/sda2
گزارش باگها (REPORTING BUGS)
گزارش باگها در لیست پستی cryptsetup <cryptsetup@lists.linux.dev> یا در بخش مسائل پروژه https://gitlab.com/cryptsetup/cryptsetup/-/issues/new.
لطفاً خروجی دستور ناموفق را همراه با گزینه --debug پیوست کنید.
همچنین ببینید (SEE ALSO)
پرسشهای متداول cryptsetup (FAQ) https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions
cryptsetup(8), cryptsetup-open(8), cryptsetup-close(8), cryptsetup-luksAddKey(8), cryptsetup-luksClose(8), integritysetup(8) و veritysetup(8)
کریپتستآپ (CRYPTSETUP)
بخشی از پروژه cryptsetup https://gitlab.com/cryptsetup/cryptsetup.
| مه ۲۰۲۵ | cryptsetup 2.8.8 |