| CRYPTSETUP-OPEN(8) | دستورهای نگهداری و مدیریت سیستم | CRYPTSETUP-OPEN(8) |
نام (NAME)
cryptsetup-open - باز کردن دستگاه رمزگذاریشده و ایجاد نگاشت در /dev/mapper
خلاصه دستور (SYNOPSIS)
cryptsetup open --type <نوع_دستگاه> [<گزینهها>] <دستگاه> <نام>
توضیحات (DESCRIPTION)
دستگاه <دستگاه> را باز کرده و یک نگاشت با <نام> مشخص در /dev/mapper ایجاد میکند.
نوع دستگاه میتواند plain، luks (پیشفرض)، luks1، luks2، loopaes یا tcrypt باشد.
برای سازگاری با نسخههای پیشین، نامهای مستعار زیر برای دستور open وجود دارند:
create (با
ترتیب
آرگومان
<نام>
<دستگاه>):
معادل open --type plain
plainOpen: معادل open --type plain
luksOpen: معادل open --type luks
loopaesOpen: معادل open --type
loopaes
tcryptOpen: معادل open --type tcrypt
bitlkOpen: معادل open --type
bitlk
<گزینهها> وابسته به نوع دستگاه هستند و در ادامه برای هر یک از انواع دستگاهها شرح داده شدهاند. برای دستور create، ترتیب گزینههای <نام> و <دستگاه> به دلایل تاریخی معکوس است؛ تمامی نامهای مستعار دیگر از ترتیب استاندارد <دستگاه> <نام> استفاده میکنند.
دستگاه ساده (PLAIN)
open --type plain
<دستگاه>
<نام> --cipher
<مشخصات> --key-size
<بیتها> --hash
<الگوریتم>
plainOpen <دستگاه>
<نام> (نحو
قدیمی)
create <نام>
<دستگاه>
(نحو
منسوخشده)
دستگاه <دستگاه> را باز کرده و یک نگاشت با <نام> مشخص برپا میکند.
شما همیشه باید گزینههای --cipher، --key-size و (در صورتی که از فایل کلید یا جاکلیدی استفاده نمیشود) همچنین --hash را به صورت صریح مشخص کنید تا از ناسازگاری جلوگیری شود، زیرا مقادیر پیشفرض ممکن است در نسخههای قدیمیتر cryptsetup متفاوت باشند.
قالب plain همچنین امکان بازیابی کلید حجم از یک جاکلیدی هسته (kernel keyring) مشخصشده توسط --volume-key-keyring را فراهم میسازد. کلید موجود در جاکلیدی هسته باید پیش از اجرای دستورات cryptsetup پیکربندی شده باشد، زیرا cryptsetup در حالت plain هیچ کلیدی را در جاکلیدی بارگذاری نمیکند. برای دستورهای بعدی (مانند resize)، کاربر باید اطمینان حاصل کند که کلید موجود در جاکلیدی بدون تغییر باقی مانده است. در غیر این صورت، بارگذاری مجدد کلید میتواند پس از یک تغییر غیرمنتظره در کلید موجب خرابی دادهها شود.
<گزینهها>
میتوانند
شامل موارد
زیر باشند:
[--hash, --cipher, --sector-size, --key-file,
--keyfile-size, --keyfile-offset, --key-size,
--offset, --skip, --device-size, --size,
--readonly, --shared, --allow-discards,
--refresh, --timeout, --verify-passphrase,
--iv-large-sectors, --volume-key-keyring].
مثالها:
برای نگاشت دستگاه رمزگذاریشده /dev/sda10 به دستگاه رمزگشاییشده /dev/mapper/e1 میتوانید از دستور زیر استفاده کنید:
cryptsetup open --type plain --cipher aes-cbc-essiv:sha256 --key-size 256 --hash sha256 /dev/sda10 e1
دستگاه رمزگشاییشده پس از آن میتواند مانند یک دستگاه بلوکی عادی برای سوار کردن یک سیستمفایل استفاده شود.
برای نگاشت یک دستگاه با یک کلید حجم در جاکلیدی معتمد (trusted) یا رمزگذاریشده از پیشپیکربندیشده، باید جاکلیدی را به همراه کلید مشخص کرده و مشخصات هش را حذف کنید؛ برای نمونه، جهت استفاده از %trusted:mykey:
cryptsetup open --type plain /dev/sda10 e1 --volume-key-keyring=%trusted:mykey --cipher aes-xts-plain64 --key-size 256
توجه داشته باشید که اندازه کلید باید دقیقاً با کلید از پیشپیکربندیشده در جاکلیدی همخوانی داشته باشد.
دستگاه LUKS
open <دستگاه>
<نام>
open --type <luks1|luks2>
<دستگاه>
<نام>
(درخواست
صریح نسخه)
luksOpen <دستگاه>
<نام> (نحو
قدیمی)
دستگاه LUKS مشخصشده توسط <دستگاه> را باز کرده و پس از اعتبارسنجی و تایید موفقیتآمیز گذرواژه ارائهشده، یک نگاشت با <نام> راهاندازی میکند.
ابتدا، گذرواژه در توکنهای LUKS2 که با پین (PIN) محافظت نشدهاند جستجو میشود. اگر چنین توکنی وجود نداشته باشد (یا در باز کردن قفل شیار کلید ناکام بماند) و گذرواژه از طریق گزینه --key-file ارائه نشده باشد، دستور گذرواژه را به صورت تعاملی در ترمینال درخواست میکند.
اگر یک توکن معتبر LUKS2 وجود داشته باشد اما برای باز کردن شیار کلید اختصاصیافته به یک پین (PIN) نیاز داشته باشد، استفاده نخواهد شد مگر اینکه یکی از گزینههای زیر اضافه شود: --token-only، گزینه --token-type که در آن نوع با توکن محافظتشده با پین مورد نظر مطابقت داشته باشد، یا گزینه --token-id که در آن شناسه با توکن محافظتشده با پین همخوانی داشته باشد.
<گزینهها>
میتوانند
شامل موارد
زیر باشند:
[--key-file, --keyfile-offset, --keyfile-size,
--readonly, --test-passphrase, --allow-discards,
--header, --key-slot, --volume-key-file,
--token-id, --token-only, --token-type,
--disable-external-tokens, --disable-keyring,
--disable-locks, --type, --refresh,
--serialize-memory-hard-pbkdf, --unbound, --tries,
--timeout, --verify-passphrase, --persistent,
--volume-key-keyring, --link-vk-to-keyring,
--external-tokens-path].
دستگاه loopAES
open --type loopaes
<دستگاه>
<نام> --key-file
<فایل_کلید>
loopaesOpen <دستگاه>
<نام> --key-file
<فایل_کلید>
(نحو قدیمی)
دستگاه loop-AES مشخصشده توسط <دستگاه> را باز کرده و یک نگاشت با <نام> برپا میکند.
اگر فایل کلید با GnuPG رمزگذاری شده است، باید از --key-file=- استفاده کرده و قبل از استفاده آن را رمزگشایی کنید، مانند نمونه زیر:
gpg --decrypt <keyfile> | cryptsetup loopaesOpen --key-file=- <دستگاه> <نام>
افزونه loop-AES نمیتواند از ورودی مستقیم فایل کلید روی ترمینال واقعی استفاده کند، زیرا کلیدها با نویسه پایان خط (newline) جدا میشوند و تنها بخشی از فایل چندکلیدی خوانده خواهد شد. اگر در یک اسکریپت به آن نیاز دارید، کافی است از هدایت لوله (pipe) استفاده کنید:
echo $keyfile | cryptsetup loopaesOpen --key-file=- <دستگاه> <نام>
در صورت نیاز، از --keyfile-size برای مشخص کردن طول مناسب کلید استفاده کنید.
از --offset برای تعیین آفست دستگاه استفاده نمایید. توجه داشته باشید که واحدها باید بر حسب سکتورهای ۵۱۲ بایتی مشخص شوند.
از --skip برای تعیین آفست بردار مقداردهی اولیه (IV) استفاده کنید. اگر دستگاه اصلی از یک آفست استفاده کرده اما از آن در محاسبات سکتور IV استفاده نکرده است، علاوه بر پارامتر offset باید صراحتاً از --skip 0 استفاده کنید.
از --hash برای جایگزینی تابع هش پیشفرض جهت هش کردن گذرواژه استفاده کنید (در غیر این صورت، بر اساس اندازه کلید تشخیص داده میشود).
<گزینهها>
میتوانند
شامل موارد
زیر باشند:
[--cipher, --key-file, --keyfile-size,
--keyfile-offset, --key-size, --offset, --skip,
--hash, --readonly, --allow-discards,
--refresh].
دستگاههای TrueCrypt و VeraCrypt
open --type tcrypt
<دستگاه>
<نام>
tcryptOpen <دستگاه>
<نام> (نحو
قدیمی)
دستگاه TCRYPT (سازگار با TrueCrypt و VeraCrypt) مشخصشده توسط <دستگاه> را باز کرده و یک نگاشت با <نام> برپا میکند.
گزینه --key-file امکان ترکیب محتوای فایل با گذرواژه را فراهم میسازد. گزینه --key-file میتواند چند بار تکرار شود. توجه داشته باشید که استفاده از فایلهای کلید با منطق فایل کلید در LUKS متفاوت است.
اگر از گزینههای --cipher یا --hash استفاده شود، تنها زنجیرههای رمز یا گونههای PBKDF2 با الگوریتمهای هش مشخصشده بررسی میشوند. این کار میتواند سرعت باز کردن قفل دستگاه را افزایش دهد (اما همچنین اطلاعاتی را درباره کانتینر فاش میسازد).
اگر از --header در ترکیب با گزینههای مخفی (hidden) یا سیستمی (system) استفاده میکنید، فایل هدر باید شامل هدرهای مشخص در همان موقعیتهای کانتینر رمزگذاریشده اصلی باشد.
گزینه --allow-discards نمیتواند با گزینه --tcrypt-hidden ترکیب شود. برای نگاشت عادی، این کار میتواند باعث نابودی حجم مخفی شود (حجم مخفی به عنوان فضای استفادهنشده برای حجم بیرونی ظاهر میشود، بنابراین این فضا ممکن است دور ریخته شود).
<گزینهها>
میتوانند
شامل موارد
زیر باشند:
[--key-file, --tcrypt-hidden, --tcrypt-system,
--tcrypt-backup, --readonly, --test-passphrase,
--allow-discards, --veracrypt
(نادیده
گرفته
میشود),
--disable-veracrypt, --veracrypt-pim,
--veracrypt-query-pim, --header, --cipher,
--hash, --tries, --timeout,
--verify-passphrase].
دستگاه BitLocker
open --type bitlk
<دستگاه>
<نام>
bitlkOpen <دستگاه>
<نام> (نحو
قدیمی)
دستگاه BITLK (سازگار با BitLocker مایکروسافت) مشخصشده توسط <دستگاه> را باز کرده و یک نگاشت با <نام> برپا میکند.
توجه داشته باشید که گزینه --test-passphrase همراه با --volume-key-file کار نمیکند، زیرا نمیتوان بررسی کرد که آیا کلید حجم ارائهشده برای این دستگاه صحیح است یا خیر. هنگام استفاده از --volume-key-file، دستگاه حتی اگر کلید ارائهشده نادرست باشد باز خواهد شد.
<گزینهها>
میتوانند
شامل موارد
زیر باشند:
[--key-file, --keyfile-offset, --keyfile-size,
--key-size, --readonly, --test-passphrase,
--allow-discards, --volume-key-file, --tries,
--timeout, --verify-passphrase].
دستگاه FileVault2
open --type fvault2
<دستگاه>
<نام>
fvault2Open <دستگاه>
<نام> (نحو
قدیمی)
دستگاه FVAULT2 (سازگار با FileVault2 اپل) مشخصشده توسط <دستگاه> را باز کرده و یک نگاشت با <نام> برپا میکند.
<گزینهها>
میتوانند
شامل موارد
زیر باشند:
[--key-file, --keyfile-offset, --keyfile-size,
--key-size, --readonly, --test-passphrase,
--allow-discards, --volume-key-file, --tries,
--timeout, --verify-passphrase].
گزینهها (OPTIONS)
--allow-discards
هشدار: این گزینه میتواند پیامد منفی امنیتی داشته باشد، زیرا ممکن است عملیات در سطح سیستمفایل را روی دستگاه فیزیکی آشکار سازد. برای نمونه، در صورتی که بلوکهای دور ریختهشده بعداً مشخص شوند، نشت اطلاعاتی مانند نوع سیستمفایل، مقدار فضای استفادهشده و غیره ممکن است از دستگاه فیزیکی قابل استخراج باشد. اگر در این مورد تردید دارید، از این گزینه استفاده نکنید.
به نسخه هسته ۳.۱ یا بالاتر نیاز است. برای هستههای قدیمیتر، این گزینه نادیده گرفته میشود.
--batch-mode, -q
اگر گزینه --verify-passphrase مشخص نشده باشد، این گزینه تایید و اعتبارسنجی مجدد گذرواژه را نیز غیرفعال میسازد.
--cipher, -c <مشخصات_رمزنگاری>
برای دستگاههای نوع tcrypt، این گزینه زنجیرههای رمز بررسیشده را هنگام جستجو برای هدر محدود میسازد.
دستور cryptsetup --help مقادیر پیشفرض کامپایلشده را نشان میدهد.
اگر یک تابع درهمسازی (هش) بخشی از مشخصات رمز باشد، به عنوان بخشی از فرایند تولید بردار مقداردهی اولیه (IV) استفاده میشود. برای نمونه، ESSIV به یک تابع هش نیاز دارد، در حالی که "plain64" نیازی ندارد و بنابراین هیچ هشی مشخص نمیشود.
برای حالت XTS، میتوانید به صورت اختیاری با گزینه -s اندازه کلید ۵۱۲ بیت را تنظیم کنید. اندازه کلید برای حالت XTS به منظور دستیابی به سطح امنیت یکسان، دو برابر سایر حالتها است.
--debug یا --debug-json
اگر از --debug-json استفاده شود، ساختارهای داده اضافی LUKS2 JSON نیز چاپ میشوند.
--device-size اندازه[واحدها]
اگر هیچ پسوند واحدی مشخص نشود، اندازه بر حسب بایت محاسبه میشود.
پسوند واحد میتواند S برای سکتورهای ۵۱۲ بایتی، K/M/G/T (یا KiB، MiB، GiB، TiB) برای واحدهای بر مبنای ۱۰۲۴، یا KB/MB/GB/TB برای مبنای ۱۰۰۰ (مقیاس SI) باشد.
--disable-external-tokens
--disable-keyring
--disable-locks
هشدار: از این گزینه استفاده نکنید مگر اینکه cryptsetup را در یک محیط محدود که امکان قفلگذاری در آن وجود ندارد اجرا کنید (جایی که دایرکتوری /run قابل استفاده نیست).
--disable-veracrypt
--external-tokens-path <مسیر_مطلق>
--hash, -h <مشخصات_هش>
برای دستگاههای نوع tcrypt، این گزینه گونههای PBKDF2 بررسیشده را هنگام جستجوی هدر محدود میسازد.
--header <دستگاه یا فایل ذخیرهکننده هدر LUKS>
هشدار: هیچ بررسی انجام نمیشود که آیا دستگاه متن رمزشده (ciphertext) مشخصشده واقعاً متعلق به هدر ارائهشده است یا خیر. در واقع، شما میتوانید یک دستگاه دلخواه را با گزینه --header به عنوان دستگاه متن رمزشده تعیین نمایید. با احتیاط استفاده کنید.
--help, -?
--iv-large-sectors
این گزینه هیچ تاثیر کارایی یا امنیتی ندارد؛ فقط برای دسترسی به ایمیجهای دیسک ناسازگار موجود از سایر سیستمها که به این گزینه نیاز دارند استفاده شود.
--key-description متن
--key-file, -d فایل
اگر نام ارائهشده "-" باشد، گذرواژه از ورودی استاندارد (stdin) خوانده خواهد شد. در این حالت، خواندن با نویسههای خط جدید متوقف نخواهد شد.
در دستگاههای نوع plain، گذرواژه بهدستآمده از طریق گزینه --key-file مستقیماً به dm-crypt ارسال میشود. برخلاف حالت تعاملی (stdin) که در آن خلاصه (digest) گذرواژه به جای خود آن به dm-crypt ارسال میگردد.
برای اطلاعات بیشتر بخش NOTES ON PASSPHRASE PROCESSING را در cryptsetup(8) ببینید.
--keyfile-offset مقدار
--keyfile-size, -l مقدار
این گزینه برای نمونه جهت حذف خطوط جدید پایانی (trailing newlines) مفید است. اگر --keyfile-offset نیز مشخص شده باشد، شمارش اندازه پس از آفست آغاز میشود.
--key-size, -s بیتها
برای اطلاعات بیشتر /proc/crypto را ببینید. توجه داشته باشید که اندازه کلید در /proc/crypto بر حسب بایت بیان شده است.
این گزینه میتواند برای دستگاههای plain و luks استفاده شود. برای دستگاههای 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) ببینید.
--offset, -o <تعداد سکتورهای ۵۱۲ بایتی>
--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 بدون فلگی که میخواهید حذف شود استفاده کنید (برای نمونه، جهت غیرفعال کردن فلگ discard ذخیرهشده به صورت ماندگار، از --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
--sector-size بایتها
افزایش اندازه سکتور از ۵۱۲ به ۴۰۹۶ بایت میتواند در بیشتر دستگاههای ذخیرهسازی مدرن و با برخی شتابدهندههای سختافزاری رمزنگاری، کارایی بهتری را ارائه دهد.
توجه داشته باشید که استفاده از اندازه سکتور بزرگتر از اندازه سکتور فیزیکی دستگاه ذخیرهسازی زیربنایی، ممکن است در هنگام قطع غیرمنتظره برق منجر به خرابی دادهها شود. قطعی برق در حین عملیات نوشتن ممکن است باعث اتمام ناقص نوشتن سکتور رمزنگاری شده و دادههای رمزگذاریشده را در وضعیتی ناسازگار رها کند که به درستی قابل رمزگشایی نخواهند بود.
--serialize-memory-hard-pbkdf
این یک راهحل موقت برای وضعیتی خاص است که چندین دستگاه به طور همزمان فعال میشوند و سیستم به جای گزارش کمبود حافظه، بدون قید و شرط شروع به توقف فرآیندها با استفاده از قاتل کمبود حافظه (OOM killer) میکند.
از این گزینه استفاده نکنید مگر اینکه در حال پیادهسازی محیط بوت با فعالسازی همزمان و موازی دستگاهها باشید!
--shared
--size, -b <تعداد سکتورهای ۵۱۲ بایتی>
--skip, -p <تعداد سکتورهای ۵۱۲ بایتی>
بنابراین اگر --offset n و --skip s باشد، سکتور n (نخستین سکتور دستگاه رمزگذاریشده) برای محاسبه IV شماره سکتور s را دریافت خواهد کرد.
--tcrypt-backup, --tcrypt-hidden, --tcrypt-system
استفاده از یک دستگاه رمزگذاریشده سیستمی همراه با گزینه --tcrypt-system نیازمند تنظیمات خاصی است تا طبق انتظار عمل کند.
ابزارهای TrueCrypt/VeraCrypt از رمزنگاری کامل سیستم (که تنها جدول پارتیشن رمزگذاری نمیشود) یا رمزنگاری پارتیشن سیستم (که تنها یک پارتیشن سیستمی رمزگذاری میشود) پشتیبانی میکنند. هدر متاداده سپس شامل آفست و اندازه ناحیه رمزگذاریشده است. ابزار cryptsetup برای محاسبه پارامترهای رمزنگاری نیاز دارد آفست دقیق پارتیشن را بداند. برای نگاشت صحیح یک پارتیشن، باید یک دستگاه پارتیشن واقعی را مشخص کنید تا cryptsetup بتواند این آفست را محاسبه نماید.
اگرچه میتوانید از یک دستگاه کامل به عنوان پارامتر (مانند /dev/sdb) استفاده کنید، اما همیشه ترجیح دهید پارتیشنی را که میخواهید نگاشت کنید مشخص نمایید (مانند /dev/sdb1)، زیرا تنها در این صورت حالت پارتیشن سیستم قابل تشخیص است.
برای نگاشت ایمیجها (ذخیرهشده در یک فایل)، میتوانید از گزینه اضافی --header همراه با دستگاه پارتیشن واقعی استفاده کنید. اگر --header استفاده شود (و متفاوت از ایمیج داده باشد)، cryptsetup انتظار دارد که ایمیج داده تنها حاوی تصویری از پارتیشن داده باشد.
اگر --header استفاده نشود (یا به همان ایمیج اشاره کند)، cryptsetup انتظار دارد که ایمیج حاوی یک دیسک کامل (شامل جدول پارتیشن) باشد. این حالت میتواند کل ناحیه رمزگذاریشده را نگاشت کند که مستقیماً به عنوان یک سیستمفایل قابل سوار کردن نیست. لطفاً ترجیحاً یک دستگاه loop همراه با پارتیشنها ایجاد کنید (losetup -P، صفحه راهنمای losetup(8) را ببینید) و از یک پارتیشن واقعی (مانند /dev/loopXp1) به عنوان پارامتر دستگاه استفاده نمایید.
--test-passphrase
--timeout, -t ثانیهها
این گزینه زمانی مفید است که در صورت وارد نکردن گذرواژه توسط کاربر (مانند زمان بوت شدن سیستم)، سیستم نباید متوقف و معطل بماند. مقدار پیشفرض ۰ ثانیه است که به معنای انتظار نامحدود و همیشگی است.
--token-id
--token-only
این گزینه به توکنهای LUKS2 محافظتشده با پین اجازه میدهد بر اعلان گذرواژه تعاملی شیار کلید تقدم یابند.
--token-type نوع
این گزینه به توکنهای LUKS2 از نوع مشخص که با پین محافظت شدهاند اجازه میدهد بر اعلان گذرواژه تعاملی شیار کلید تقدم یابند.
--tries, -T
--type نوع
--unbound
--usage
--veracrypt
--veracrypt-pim, --veracrypt-query-pim
--verify-passphrase, -y
--version, -V
--volume-key-file فایل, --master-key-file فایل (نام مستعار منسوخشده)
این گزینه امکان باز کردن انواع دستگاههای luks و bitlk را بدون ارائه گذرواژه فراهم میسازد.
برای دستگاههای در حال رمزگذاری مجدد، این گزینه ممکن است دو بار برای تعیین هر دو کلید حجم قدیم و جدید استفاده شود. هنگام استفاده دوگانه از این گزینه، مطمئن شوید که هر گزینه --volume-key-file را با پارامتر متناظر --key-size نیز جفت کردهاید.
--volume-key-keyring <شرح_کلید>
برای LUKS، کلید و نوع مرتبط با آن باید از فضای کاربری قابل خواندن باشد تا خلاصه کلید حجم بتواند پیش از فعالسازی تایید و اعتبارسنجی شود. برای دستگاههای در حال رمزگذاری مجدد، این گزینه میتواند دو بار برای تعیین هر دو کلید حجم قدیم و جدید استفاده شود.
برای نوع PLAIN، کاربر باید اطمینان حاصل کند که کلید موجود در جاکلیدی از زمان فعالسازی بدون تغییر مانده است. در غیر این صورت، بارگذاری مجدد کلید میتواند پس از یک تغییر غیرمنتظره در کلید موجب خرابی دادهها شود.
عبارت <شرح_کلید> از نحوی سازگار با keyctl استفاده میکند. این مقدار میتواند یک شناسه عددی کلید یا یک نام متنی در قالب %<نوع_کلید>:<نام_کلید> باشد. همچنین بخش KEY IDENTIFIERS را در keyctl(1) ببینید. در صورت عدم تعیین پیشوند %<نوع_کلید>:، فرض میشود نوع کلید برابر user (نوع پیشفرض) است.
مثالها (EXAMPLES)
باز کردن یک دستگاه رمزگذاریشده استاندارد LUKS و ایجاد نگاشت با نام my_backup با ورود تعاملی گذرواژه:
cryptsetup open /dev/sdb1 my_backup
دستگاه رمزگشاییشده پس از باز شدن در مسیر /dev/mapper/my_backup در دسترس خواهد بود و میتوان آن را مانت کرد:
mount /dev/mapper/my_backup /mnt/backup
باز کردن دستگاه LUKS با استفاده از فایل کلید به جای وارد کردن دستی گذرواژه:
cryptsetup open --key-file /root/secret.key /dev/sdb1 my_backup
باز کردن یک دستگاه LUKS با فعالسازی پشتیبانی از دورریز (TRIM) برای درایوهای SSD:
cryptsetup open --allow-discards /dev/nvme0n1p3 cryptroot
باز کردن یک دستگاه ساده بدون هدر (حالت plain) با تعیین صریح الگوریتم و اندازه کلید:
cryptsetup open --type plain --cipher aes-xts-plain64 --key-size 512 /dev/sdb1 my_plain
باز کردن یک دستگاه که هدر LUKS آن در یک رسانه یا فایل جداگانه قرار دارد:
cryptsetup open --header /media/usb/header.img /dev/sdc1 private_data
بررسی درستی یک گذرواژه بدون باز کردن واقعی یا فعالسازی نگاشت:
cryptsetup open --test-passphrase /dev/sdb1
باز کردن یک کانتینر VeraCrypt یا TrueCrypt:
cryptsetup open --type tcrypt /dev/sdd1 tcrypt_volume
گزارش باگها (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)
بخشی از پروژه cryptsetup https://gitlab.com/cryptsetup/cryptsetup.
| 2026-07-21 | cryptsetup 2.8.7 |