| borg-init(1) | borg backup tool | borg-init(1) |
نام (NAME)
borg-init - مقداردهی اولیه و ایجاد یک مخزن خالی borg
خلاصه دستور (SYNOPSIS)
borg [common options] init [options] [REPOSITORY]
توضیحات (DESCRIPTION)
این دستور یک مخزن خالی را مقداردهی اولیه میکند. یک مخزن، یک دایرکتوری در سیستمفایل است که شامل دادههای دادهزداییشده از صفر یا چند بایگانی (آرشیو) میباشد.
چکیده حالتهای رمزگذاری (Encryption mode TL;DR)
حالت رمزگذاری تنها در زمان ایجاد یک مخزن جدید قابل پیکربندی است. شما نه میتوانید رمزگذاری را بر پایه هر بایگانی جداگانه پیکربندی کنید، و نه میتوانید حالت رمزگذاری یک مخزن موجود را تغییر دهید. بنابراین هنگام تصمیمگیری درباره حالت رمزگذاری، باید استفادههای احتمالی در آینده را مد نظر قرار دهید.
به عنوان یک قاعده کلی تجربی، از repokey با یک عبارت عبور قوی استفاده کنید:
با این حال، دلایل زیادی برای انتخاب متفاوت وجود دارد. برای جزئیات به بخش زیر مراجعه کنید. در هر صورت، Borg اقدامات زیر را انجام خواهد داد:
- 1.
- از شما میخواهد که یک عبارت عبور یکتا و قوی وارد کنید.
- 2.
- یک کلید تصادفی Borg ایجاد میکند (که در واقع از سه راز تصادفی تشکیل شده است، برای جزئیات key_files را ببینید).
- 3.
- کلید Borg را با عبارت عبور شما رمزگذاری میکند.
- 4.
- کلید رمزگذاریشده Borg را درون دایرکتوری مخزن ذخیره میکند (در حالتهای repokey و repokey-blake2؛ در حالتهای keyfile و keyfile-blake2 کلید Borg به جای آن در دایرکتوری خانگی شما ذخیره میشود، در زیر ببینید). از آنجا که ما معمولاً باید فرض کنیم که یک مهاجم میتواند به مخزن دسترسی پیدا کند (به همین دلیل است که ما در وهله اول دادهها را رمزگذاری میکنیم)، انتخاب یک عبارت عبور قوی و یکتا کاملاً حیاتی است.
- 5.
- نسخههای پشتیبان شما را با کلید Borg رمزگذاری و امضا میکند تا از خواندن یا جعل آنها توسط هر کسی جلوگیری کند، مگر اینکه آنها کلید Borg را داشته باشند و عبارت عبور را بدانند.
- 6.
- از کلید Borg برای رمزگشایی و در نتیجه دسترسی به دادههای ذخیرهشده در مخزن شما استفاده میکند، به عنوان مثال هنگام استخراج فایلها. محتویات همچنین میتوانند برای تشخیص خرابی تصادفی یا دستکاری مخرب بررسی و راستیآزمایی شوند.
همانطور که مشاهده میکنید، شما همیشه به هر دو مورد کلید Borg و عبارت عبور برای دسترسی به دادههای خود نیاز دارید. بنابراین نگهداری یک نسخه پشتیبان از کلید خود خارج از هم مخزن و هم سیستمی که از آن پشتیبان تهیه میکنید، بسیار حیاتی است. در غیر این صورت ممکن است به راحتی در وضعیت "جا گذاشتن سوئیچها داخل خودرو" قرار بگیرید. برای ایجاد نسخه پشتیبان از کلید خود (مثلاً با چاپ آن روی کاغذ) borg_key_export را ببینید.
رمزگذاری به صورت محلی انجام میشود - یعنی اگر در یک ماشین راه دور پشتیبانگیری کنید، ماشین راه دور نه عبارت عبور شما، نه کلید رمزگذارینشده Borg، و نه فایلهای رمزگذارینشده شما را نمیبیند. قطعهبندی و تولید شناسهها به منظور بهبود حریم خصوصی بر پایه کلید شما انجام میشود.
درباره شتابدهنده سختافزاری:
ابزار Borg دادهها را با AES رمزگذاری میکند که به لطف شتابدهنده سختافزاری در تقریباً همه پردازندههای مدرن Intel، AMD و ARM از اوایل دهه ۲۰۱۰ (و مدلهای بسیار ارزان از اواسط دهه ۲۰۱۰) بسیار سریع است.
به عنوان الگوریتم درهمسازی (هشینگ)، Borg میتواند از SHA256 یا BLAKE2b استفاده کند. پردازندههای ARM از زمان ARMv7 با NEON (حدود ۲۰۱۱) یا ARMv8 (حدود ۲۰۱۳) از هشینگ سختافزاری SHA256 پشتیبانی میکنند. پردازندههای AMD از Zen 1 (حدود ۲۰۱۷)، یعنی تمام پردازندههای AMD Ryzen، از آن پشتیبانی میکنند. پردازندههای Intel از Ice Lake روی دستگاههای همراه (نسل دهم، حدود ۲۰۲۱) و Rocket Lake روی رایانههای رومیزی (نسل یازدهم، حدود ۲۰۲۱) از آن پشتیبانی میکنند. مدلهای بسیار ارزانقیمت چند سال بعد این پشتیبانی را دریافت کردهاند. اگر پردازنده شما از هشینگ شتابیافته سختافزاری SHA256 پشتیبانی نمیکند، شاید بهتر باشد هشینگ BLAKE2b را امتحان کنید - احتمالاً سریعتر خواهد بود. بنابراین، به جای حالت repokey، از repokey-blake2 (یا هر حالت دیگر دارای پسوند -blake2) استفاده کنید.
شتابدهنده سختافزاری در صورت در دسترس بودن، همیشه به طور خودکار استفاده میشود.
انتخاب عبارت عبور (Picking a passphrase)
مطمئن شوید که از یک عبارت عبور مناسب استفاده میکنید؛ نه بیش از حد کوتاه، نه بیش از حد ساده. کلید اصلی رمزگذاری / رمزگشایی با عبارت عبور شما رمزگذاری و قفل میشود. اگر یک مهاجم کلید borg شما را به دست آورد، بدون دانستن عبارت عبور نمیتواند قفل آن را باز کرده و از آن استفاده کند.
در مورد نویسههای ویژه یا غیر ASCII در عبارت عبور خود محتاط باشید:
- ابزار Borg عبارت عبور را به صورت یونیکد پردازش میکند (و آن را با UTF-8 کدگذاری میکند)، بنابراین حتی با عجیبترین نویسهها نیز مشکلی ندارد.
- اما: این لزوماً برای پیکربندی سیستمعامل / ماشین مجازی / صفحهکلید شما صدق نمیکند.
بنابراین بهتر است از یک عبارت عبور طولانی ساختهشده از نویسههای ساده ASCII استفاده کنید تا عبارتی که شامل نویسههای غیر ASCII یا نویسههایی باشد که تایپ آنها روی چیدمان صفحهکلید دیگر دشوار یا ناممکن است.
شما میتوانید عبارت عبور خود را برای مخازن موجود در هر زمان تغییر دهید؛ این کار بر کلید رمزگذاری/رمزگشایی یا سایر اسرار تأثیری نخواهد گذاشت. borg_key_change-passphrase را ببینید.
اطلاعات بیشتر درباره حالتهای رمزگذاری (More about encryption modes)
انتخاب حالت رمزگذاری مناسب همیشه آسان نیست و عوامل متعددی میتوانند تعیینکننده بهترین حالت برای شما باشند. با این حال، توجه داشته باشید که اگر repokey را با یک عبارت عبور قوی انتخاب کنید، واقعاً کار اشتباهی انجام ندادهاید. بنابراین، اگر مطمئن نیستید، repokey (یا با توجه به سختافزار خود repokey-blake2، در بالا ببینید) را انتخاب کنید.
ابزار Borg از حالتهای رمزگذاری زیر پشتیبانی میکند:
| هش/MAC | بدون رمزگذاری، بدون اصالتسنجی | بدون رمزگذاری، با اصالتسنجی | رمزگذاریشده (AEAD با AES)، با اصالتسنجی |
| SHA-256 | none | authenticated | repokey keyfile |
| BLAKE2b | ناموجود (n/a) | authenticated-blake2 | repokey-blake2 keyfile-blake2 |
نسخههای Borg 1.0 و قدیمیتر فقط از حالتهای none، repokey و keyfile پشتیبانی میکنند. اگر نیاز دارید که کلاینتهای قدیمی بتوانند به مخزن شما دسترسی داشته باشند، نمیتوانید از حالتهای دیگر استفاده کنید.
درباره حالتهای بدون رمزگذاری:
از به کار بردن حالت none خودداری کنید. اگر به استفاده از حالت none فکر میکنید، لطفاً تجدید نظر کرده و کاملاً مطمئن شوید. استفاده از هر حالتی غیر از none به Borg امکان میدهد خرابی تصادفی یا دستکاری مخرب در مخزن را تشخیص دهد. همچنین از حملات محرومسازی از سرویس (DoS) علیه کلاینتها جلوگیری میکند. به جای حالت none، احتمالاً میخواهید از حالت authenticated، یا حالتهای repokey یا keyfile با یک عبارت عبور خالی استفاده کنید (زیر را ببینید).
اگر نمیخواهید دادههای خود را رمزگذاری کنید، از حالتهای authenticated یا authenticated-blake2 استفاده کنید. این حالتها در عملکرد عادی نیازمند عبارت عبور هستند، اما در شرایط اضطراری میتوانید بدون عبارت عبور و با استفاده از BORG_WORKAROUNDS=authenticated_no_key به مخزن دسترسی پیدا کنید (environment-variables را ببینید).
اگر صرفاً نمیخواهید عبارت عبور انتخاب کنید، از حالتهای keyfile یا keyfile-blake2 با یک عبارت عبور خالی استفاده نمایید. این حالتها حتی بدون عبارت عبور نیز معمولاً امن هستند، اما نگهداری یک نسخه پشتیبان برونسایتی از کلید Borg در این صورت نیز مهم است. برای جزئیات به زیر مراجعه کنید.
اگر میتوانید اطمینان حاصل کنید که مهاجم نمیتواند به مخزن شما دسترسی پیدا کند، مثلاً هنگامی که دیسک یا سیستمفایل مخزن خود را به طور مستقل رمزگذاری میکنید، میتوانید به استفاده از حالتهای repokey یا repokey-blake2 با یک عبارت عبور خالی فکر کنید. با این حال، به خاطر داشته باشید که اگر یک مهاجم به هر طریقی دسترسی پیدا کند، دسترسی کامل به مخزن شما خواهد داشت. در چنین شرایطی، ترجیح دادن repokey بر حالت authenticated این مزیت را دارد که به شما امکان میدهد بعداً با استفاده از borg_key_change-passphrase یک عبارت عبور اضافه کنید.
درباره حالتهای دارای رمزگذاری:
در حالتهای repokey و repokey-blake2 کلید همراه مخزن ذخیره شده و با عبارت عبور شما رمزگذاری میشود. اگر مهاجمی به مخزن شما دسترسی یابد و عبارت عبور را بداند، میتواند به مخزن دسترسی پیدا کرده و در آن دستکاری کند. بنابراین امنیت مخزن به قوت عبارت عبور شما وابسته است. ایجاد یک نسخه پشتیبان برونسایتی از کلید Borg شما (مثلاً با چاپ آن روی کاغذ) توصیه میشود، borg_key_export را ببینید.
اگر به ذخیره عبارت عبور روی دیسک سیستمی که از آن پشتیبان تهیه میکنید فکر میکنید، استفاده از روش keyfile را به جای آن در نظر بگیرید. این روش در چنین شرایطی عموماً امنیت یکسان یا بهتری فراهم میکند.
در حالتهای keyfile و keyfile-blake2 کلید به جای آن روی ماشین محلی شما (در ~/.config/borg/keys) ذخیره میشود. بنابراین مهاجمی که به مخزن شما دسترسی پیدا میکند، برای دسترسی و دستکاری در مخزن به هر دوی کلید Borg و عبارت عبور شما نیاز دارد. با این حال، اگر کلید را گم کنید، دسترسی به مخزن را نیز از دست خواهید داد. شما باید یک نسخه پشتیبان برونسایتی از کلید Borg خود ایجاد کنید، مثلاً با چاپ آن روی کاغذ. ذخیره یک نسخه از کلید Borg روی سیستمی که از آن پشتیبان تهیه میکنید کافی نیست. برای ایجاد نسخه پشتیبان از borg_key_export استفاده کنید.
حالتهای keyfile و keyfile-blake2 هنگام استفاده از یک عبارت عبور قوی، امنیت "عبارت عبور و در اختیار داشتن کلید" را فراهم میکنند، اما میتوانند با یک عبارت عبور خالی نیز استفاده شوند. ذخیره کردن یک عبارت عبور (به راحتی قابل خواندن) بر روی دیسک سیستمی که با حالتهای keyfile و keyfile-blake2 از آن پشتیبان میگیرید، هیچ امنیتی فراتر از استفاده از یک عبارت عبور خالی ایجاد نمیکند.
جزئیات فنی:
حالتهای repokey و keyfile از AES-CTR-256 برای رمزگذاری و HMAC-SHA256 برای اصالتسنجی در ساختار رمزگذاری و سپس کد اصالت (EtM یا Encrypt-then-MAC) استفاده میکنند. هش شناسه قطعه HMAC-SHA256 است (با یک کلید جداگانه). این حالتها با تمام نسخههای Borg سازگار هستند.
حالتهای repokey-blake2 و keyfile-blake2 نیز حالتهای رمزگذاری دارای اصالتسنجی هستند، اما به جای HMAC-SHA256 از BLAKE2b-256 برای اصالتسنجی استفاده میکنند. هش شناسه قطعه یک هش کلیددار BLAKE2b-256 است. این حالتها فقط با Borg 1.1 و بالاتر سازگار هستند.
حالت authenticated از رمزگذاری استفاده نمیکند، اما محتویات مخزن را از طریق همان هش HMAC-SHA256 مشابه حالتهای repokey و keyfile اصالتسنجی میکند (از آن به عنوان هش شناسه قطعه استفاده میکند). کلید مانند repokey درون مخزن ذخیره میشود. این حالت فقط با Borg 1.1 و بالاتر سازگار است.
حالت authenticated-blake2 مانند authenticated است، اما از هش کلیددار BLAKE2b-256 مشابه سایر حالتهای BLAKE2b استفاده میکند. این حالت فقط با Borg 1.1 و بالاتر سازگار است.
حالت none از هیچ رمزگذاری و هیچ اصالتسنجی استفاده نمیکند. این حالت از SHA256 به عنوان هش شناسه قطعه استفاده میکند. این حالت توصیه نمیشود زیرا در برابر حملات DoS توسط یک مهاجم آسیبپذیر است (برای مثال، ساختن محتوایی که باعث برخورد در نمایه هش میشود). اگر کلاینتهای غیرقابل اعتماد از مخزن استفاده میکنند، از این حالت استفاده نکنید. برای جزئیات internals_hashindex را ببینید. این حالت با تمام نسخههای Borg سازگار است.
گزینهها (OPTIONS)
برای گزینههای عمومی دستورات Borg به borg-common(1) مراجعه کنید.
آرگومانها (arguments)
- REPOSITORY
- مخزنی که باید ایجاد شود
گزینهها (options)
- -e MODE, --encryption MODE
- انتخاب حالت کلید رمزگذاری (الزامی)
- --append-only
- ایجاد مخزن در حالت فقطافزودنی (append-only). توجه داشته باشید که این گزینه فقط بر ساختار سطح پایین مخزن تأثیر میگذارد و اجرای delete یا prune همچنان مجاز خواهد بود. برای جزئیات بیشتر به append_only_mode در یادداشتهای اضافی مراجعه کنید.
- --storage-quota QUOTA
- تنظیم سهمیه فضای ذخیرهسازی مخزن جدید (مثلاً 5G یا 1.5T). پیشفرض: بدون سهمیه.
- --make-parent-dirs
- ایجاد دایرکتوریهای والد دایرکتوری مخزن، در صورتی که وجود نداشته باشند.
- --import-related-secrets PATH
- وارد کردن اسرار مرتبط از PATH
مثالها (EXAMPLES)
# مخزن محلی، رمزگذاری repokey، الگوریتم BLAKE2b (اغلب سریعتر، از Borg 1.1 به بعد) $ borg init --encryption=repokey-blake2 /path/to/repo # مخزن محلی (بدون رمزگذاری) $ borg init --encryption=none /path/to/repo # مخزن راه دور (دسترسی به یک borg راه دور از طریق ssh) # repokey: کلید (رمزگذاریشده) را در <REPO_DIR>/config ذخیره میکند $ borg init --encryption=repokey-blake2 user@hostname:backup # مخزن راه دور (دسترسی به یک borg راه دور از طریق ssh) # keyfile: کلید (رمزگذاریشده) را در ~/.config/borg/keys/ ذخیره میکند $ borg init --encryption=keyfile user@hostname:backup
همچنین ببینید (SEE ALSO)
borg-common(1), borg-create(1), borg-delete(1), borg-check(1), borg-list(1), borg-key-import(1), borg-key-export(1), borg-key-change-passphrase(1)
نویسنده (AUTHOR)
The Borg Collective
| 2026-07-18 |