SBCTL.CONF(5)   SBCTL.CONF(5)

sbctl.conf - فایل پیکربندی sbctl

/etc/sbctl/sbctl.conf

فایل پیکربندی sbctl یک فایل YAML است. این فایل در صورت وجود هنگام راه‌اندازی خوانده می‌شود.

از این فایل می‌توان برای راه‌اندازی و پیکربندی اولیه نصب sbctl استفاده کرد.

فایل پیکربندی در حال حاضر فقط از مسیر /etc/sbctl خوانده می‌شود. این موضوع ممکن است در آینده تغییر کند.

keydir: /path/to/key/dir

دایرکتوری‌ای را مشخص می‌کند که sbctl در آن به دنبال کلیدها می‌گردد.

پیش‌فرض: /var/lib/sbctl/keys

guid: /path/to/guid/file

مکان فایلی که شناسه GUID ایجادشده توسط کاربر را مشخص می‌کند.

شناسه GUID برای شناسایی یکتای فهرست گواهی‌های ذخیره‌شده در متغیرهای EFI استفاده می‌شود.

پیش‌فرض: /var/lib/sbctl/GUID

files_db: /path/to/files/json

مکان فایل json که فایل‌های نیازمند امضا توسط sbctl را در خود ذخیره می‌کند.

پیش‌فرض: /var/lib/sbctl/files.json

bundles_db: /path/to/bundles/json

مکان فایل json که بسته‌های نیازمند امضا توسط sbctl را در خود ذخیره می‌کند.

پیش‌فرض: /var/lib/sbctl/bundles.json

landlock: bool

فعال‌سازی یا غیرفعال‌سازی محدودسازی دسترسی (sandboxing) امنیتی landlock برای sbctl.

پیش‌فرض: true

db_additions: [ options... ] کلیدها یا چک‌سام‌های اضافی را در پایگاه‌داده مجوز (authorization database) برای Secure Boot اضافه می‌کند. این مقادیر مترادف با گزینه‌های ارسال‌شده به sbctl enroll-keys هستند. مقادیر معتبر: microsoft، tpm-eventlog، firmware-builtin، custom

files: [ [path: /path/to/file output: /path/to/output ], ... ]

فهرستی از فایل‌هایی که sbctl هنگام راه‌اندازی اولیه امضا خواهد کرد. از این فهرست برای مقداردهی اولیه files_db در طول راه‌اندازی اولیه استفاده می‌شود.

path

مسیر مطلق به فایلی که sbctl باید آن را امضا کند.

output

یک مسیر خروجی مطلق اختیاری برای فایل امضاشده.

keys: {pk: {...}, kek: {...}, db: {...}}

یک جفت کلید-مقدار برای تمام کلیدهای موجود در سلسله‌مراتب کلید مورد استفاده برای Secure Boot. از این بخش برای راه‌اندازی اولیه (bootstrap) در طول پیکربندی استفاده می‌شود.
•pk
•kek
•db
هر یک از سطوح سلسله‌مراتب می‌تواند نوع کلید و مکان فایل کلید خصوصی و گواهی را مستقل از یکدیگر مشخص کند. این قابلیت به کاربران اجازه می‌دهد بسته به نیازهای خود برخی کلیدها را روی رسانه‌های ذخیره‌سازی متفاوتی نگهداری کنند. برای نمونه می‌توان کلید db را به عنوان یک فایل رمزنگاری‌نشده و به سادگی در دسترس برای امضا نگه داشت، در حالی که PK روی یک محفظه سخت‌افزاری امن (hardware-backed enclave) قرار گیرد تا امنیت محتوای کلید بهتر تامین شود.

privkey: /path/to/privatekey/file

مسیر کلید خصوصی.

پیش‌فرض‌ها:

•pk: /var/lib/sbctl/keys/PK/PK.key
•kek: /var/lib/sbctl/keys/KEK/KEK.key
•db: /var/lib/sbctl/keys/db/db.key

pubkey: /path/to/certificate/file

مسیر کلید عمومی.

پیش‌فرض‌ها:

•pk: /var/lib/sbctl/keys/PK/PK.pem
•kek: /var/lib/sbctl/keys/KEK/KEK.pem
•db: /var/lib/sbctl/keys/db/db.pem

type: file

نوع کلید مورد استفاده برای این کلید امضا.

در حال حاضر تنها نوع کلید file توسط sbctl پشتیبانی می‌شود.

پیش‌فرض: file

نمونه‌ای از یک فایل /etc/sbctl/sbctl.conf با مقادیر پیش‌فرض.

---
keydir: /var/lib/sbctl/keys
guid: /var/lib/sbctl/GUID
files_db: /var/lib/sbctl/files.json
bundles_db: /var/lib/sbctl/bundles.json
landlock: true
db_additions:
- microsoft
files:
- path: /boot/vmlinuz-linux
  output: /boot/vmlinuz-linux
- path: /efi/EFI/Linux/arch-linux.efi
  output: /efi/EFI/Linux/arch-linux.efi
keys:
  pk:
    privkey: /var/lib/sbctl/keys/PK/PK.key
    pubkey: /var/lib/sbctl/keys/PK/PK.pem
    type: file
  kek:
    privkey: /var/lib/sbctl/keys/KEK/KEK.key
    pubkey: /var/lib/sbctl/keys/KEK/KEK.pem
    type: file
  db:
    privkey: /var/lib/sbctl/keys/db/db.key
    pubkey: /var/lib/sbctl/keys/db/db.pem
    type: file

sbctl(8)

•Morten Linderud <morten@linderud.pw>
08/10/2026