'\" t .TH "SYSTEMD\-PCRLOCK" "8" "" "systemd 261.2" "systemd-pcrlock" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" systemd-pcrlock, systemd-pcrlock-file-system.service, systemd-pcrlock-firmware-code.service, systemd-pcrlock-firmware-config.service, systemd-pcrlock-machine-id.service, systemd-pcrlock-make-policy.service, systemd-pcrlock-secureboot-authority.service, systemd-pcrlock-secureboot-policy.service \- ابزار پیش‌بینی و قفل‌گذاری خط‌مشی‌های ثبات‌های PCR مربوط به TPM2 .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fB/usr/lib/systemd/systemd\-pcrlock\fR\ 'u \fB/usr/lib/systemd/systemd\-pcrlock\fR [OPTIONS...] .SH "توضیحات (DESCRIPTION)" .PP نکته: این دستور در حال حاضر آزمایشی است\&. اگرچه احتمال دارد به یک جزء دائمی از systemd تبدیل شود، اما ممکن است رفتار و رابط کاربری آن همچنان تغییر کند\&. .PP \fBsystemd\-pcrlock\fR ابزاری است که می‌تواند برای تحلیل و پیش‌بینی اندازه‌گیری‌های PCR مربوط به TPM2، و تولید خط‌مشی‌های دسترسی TPM2 بر اساس این پیش‌بینی که در یک نمایهٔ TPM2 NV (یعنی در حافظهٔ غیرفرار TPM2) ذخیره می‌شوند، به کار رود\&. سپس می‌توان از این قابلیت برای محدود کردن دسترسی به اشیاء TPM2 (مانند کلیدهای رمزگذاری دیسک) به بوت‌های سیستمی که در آن‌ها فقط از اجزای مشخص و مورد اعتماد استفاده شده است، بهره برد\&. .PP \fBsystemd\-pcrlock\fR از موارد زیر به عنوان ورودی برای تحلیل و پیش‌بینی خود استفاده می‌کند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} لاگ رویدادهای TPM2 سفت‌افزار UEFI (یعنی /sys/kernel/security/tpm0/binary_bios_measurements) مربوط به بوت جاری\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} لاگ رویدادهای TPM2 فضای کاربری (یعنی /run/log/systemd/tpm2\-measure\&.log) مربوط به بوت جاری\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} وضعیت فعلی ثبات‌های PCR تراشهٔ TPM2\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل‌های تعریف اجزای بوت (*\&.pcrlock و *\&.pcrlock\&.d/*\&.pcrlock، \fBsystemd.pcrlock\fR(5) را ببینید) که هر کدام اندازه‌گیری‌های مورد انتظار برای یک جزء از فرایند بوت را تعریف کرده و گونه‌های جایگزین را برای هر کدام مجاز می‌دانند\&. (از گونه‌ها می‌توان برای تأیید هم‌زمان چندین نسخهٔ هسته یا نسخه‌های مختلف بارگذار بوت استفاده کرد\&.) .RE .PP این ابزار از این ورودی‌ها برای تولید یک لاگ رویداد ترکیبی استفاده کرده و آن را در برابر وضعیت‌های PCR اعتبارسنجی می‌کند\&. سپس تلاش می‌کند تا رکوردهای لاگ رویداد را شناسایی کرده و آن‌ها را با اجزای تعریف‌شده تطبیق دهد\&. برای هر PCR که این کار بتواند به‌طور کامل انجام شود (یعنی جایی که تمام رکوردهای فهرست‌شده و تمام اجزای تعریف‌شده مطابقت داده شده باشند)، این می‌تواند برای پیش‌بینی اندازه‌گیری‌های آیندهٔ PCR با در نظر گرفتن گونه‌های جایگزین تعریف‌شده برای هر جزء مورد استفاده قرار گیرد\&. این پیش‌بینی سپس می‌تواند به یک خط‌مشی دسترسی TPM2 (شامل موارد \fBPolicyPCR\fR و \fBPolicyOR\fR مربوط به TPM2) تبدیل شود که در یک نمایهٔ NV در TPM2 ذخیره می‌گردد\&. سپس می‌توان از این برای قفل کردن اسرار (مانند کلیدهای رمزگذاری دیسک) به این خط‌مشی‌ها (از طریق خط‌مشی \fBPolicyAuthorizeNV\fR در TPM2) استفاده کرد\&. .PP از ابزارهایی مانند \fBsystemd-cryptenroll\fR(1) یا \fBsystemd-repart\fR(8) برای مقید کردن رمزگذاری دیسک به چنین خط‌مشی TPM2 از \fBsystemd\-pcrlock\fR استفاده کنید\&. به‌ویژه، گزینه‌های \fB\-\-tpm2\-pcrlock=\fR این ابزارها را ببینید\&. .PP منطق خط‌مشی دسترسی نیازمند یک دستگاه TPM2 است که دستور "PolicyAuthorizeNV" را پیاده‌سازی کرده باشد، یعنی نسخهٔ 1.38 از TPM 2.0 یا جدیدتر را پیاده‌سازی کند\&. .SH "دستورات (COMMANDS)" .PP دستورات زیر پشتیبانی می‌شوند: .PP \fBlog\fR .RS 4 لاگ رویداد ترکیبی TPM2 را می‌خواند، آن را اعتبارسنجی می‌کند، با مقادیر فعلی PCR مطابقت می‌دهد و هر دو را به صورت جدول نمایش می‌دهد\&. برای تولید خروجی در قالب JSON آن را با \fB\-\-json=\fR ترکیب کنید\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBcel\fR .RS 4 لاگ رویداد ترکیبی TPM2 را می‌خواند و آن را در قالب \m[blue]\fBTCG Canonical Event Log Format (CEL\-JSON)\fR\m[]\&\s-2\u[1]\d\s+2 در خروجی استاندارد (STDOUT) می‌نویسد\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlist\-components\fR .RS 4 فهرستی از تعاریف اجزا و گونه‌های آن‌ها را نمایش می‌دهد، یعنی فایل‌های *\&.pcrlock کشف‌شده در /var/lib/pcrlock\&.d/، /usr/lib/pcrlock\&.d/ و سایر دایرکتوری‌های پشتیبانی‌شده\&. برای جزئیات در مورد این فایل‌ها و فهرست کامل دایرکتوری‌های جستجوشده، \fBsystemd.pcrlock\fR(5) را ببینید\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBpredict\fR .RS 4 وضعیت PCR را در بوت‌های آینده پیش‌بینی می‌کند\&. این دستور لاگ رویداد TPM2 را همان‌طور که در بالا شرح داده شد تحلیل می‌کند، اجزا را شناسایی می‌نماید و سپس تمام مقادیر ممکن حاصل برای PCR را برای تمام ترکیب‌های گونه‌های اجزا تولید می‌کند\&. توجه داشته باشید که هیچ پیش‌بینی‌ای برای ثبات‌های PCR که مقدار آن‌ها با رکوردهای لاگ رویداد مطابقت ندارد، اندازه‌گیری‌های ناشناخته برای آن‌ها کشف شده است، یا اجزایی برای آن‌ها تعریف شده که در لاگ رویداد یافت نمی‌شوند، انجام نمی‌گیرد\&. این یک تدبیر امنیتی است تا اطمینان حاصل شود که هر خط‌مشی دسترسی تولیدشده می‌تواند در بوت‌های فعلی و آینده به‌درستی برآورده شود\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBmake\-policy\fR .RS 4 وضعیت PCR را برای بوت‌های آینده پیش‌بینی می‌کند، دقیقاً مانند دستور \fBpredict\fR در بالا\&. سپس از این داده‌ها برای تولید یک خط‌مشی دسترسی TPM2 استفاده می‌کند که آن را در یک نمایهٔ TPM2 NV ذخیره می‌نماید\&. پیش‌بینی و اطلاعات مربوط به TPM2 استفاده‌شده و نمایهٔ NV آن در فایل /var/lib/systemd/pcrlock\&.json نوشته می‌شود\&. .sp نمایهٔ NV در نخستین فراخوانی تخصیص داده شده و در فراخوانی‌های بعدی به‌روزرسانی می‌شود\&. .sp محتوای نمایهٔ NV را می‌توان با ارائهٔ یک پین (PIN) دسترسی تغییر داد (و در نتیجه خط‌مشی ذخیره‌شده در آن را به‌روزرسانی کرد)\&. این پین معمولاً به‌طور خودکار تولید شده و به‌صورت رمزگذاری‌شده (با یک خط‌مشی دسترسی که آن را به خود نمایهٔ NV مقید می‌کند) در فایل خط‌مشی JSON یادشده ذخیره می‌شود\&. این پین می‌تواند توسط کاربر و از طریق گزینهٔ \fB\-\-recovery\-pin=\fR انتخاب شود\&. در صورت مشخص شدن، می‌توان از آن به عنوان یک مسیر دسترسی جایگزین برای به‌روزرسانی خط‌مشی استفاده کرد\&. .sp اگر پیش‌بینی جدید با پیش‌بینی قدیمی مطابقت داشته باشد، این دستور به‌سرعت خاتمه می‌یابد و عملیات دیگری انجام نمی‌دهد\&. (مگر اینکه \fB\-\-force\fR مشخص شده باشد، به زیر مراجعه کنید\&.) .sp با شروع از نسخهٔ ۲۵۶، یک کپی از فایل خط‌مشی /var/lib/systemd/pcrlock\&.json به صورت یک دادهٔ اعتبارسنجی (credential) کدگذاری شده (برای جزئیات \fBsystemd-creds\fR(1) را ببینید) و در پارتیشن سیستم EFI یا پارتیشن XBOOTLDR، در زیرپوشهٔ /loader/credentials/ نوشته می‌شود\&. در آنجا، در هنگام بوت توسط \fBsystemd-stub\fR(7) خوانده شده و به initrd فراخوانی‌شده تحویل داده می‌شود، جایی که می‌توان از آن برای باز کردن قفل فایل‌سیستم ریشه استفاده کرد (که معمولاً شامل /var/ است، یعنی جایی که نسخهٔ اصلی خط‌مشی قرار دارد و بنابراین نمی‌توان از آن برای باز کردن قفل فایل‌سیستم ریشه استفاده نمود)\&. نام فایل اعتبارسنجی بر اساس نشانهٔ مدخل بوت (boot entry token) نصب انتخاب می‌شود (به \fBbootctl\fR(1) مراجعه کنید)، که از طریق گزینهٔ \fB\-\-entry\-token=\fR قابل پیکربندی است، به زیر مراجعه کنید\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBremove\-policy\fR .RS 4 خط‌مشی تولیدشدهٔ قبلی را حذف می‌کند\&. فایل /var/lib/systemd/pcrlock\&.json را حذف کرده و نمایهٔ NV را آزاد می‌سازد\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBis\-supported\fR .RS 4 بررسی می‌کند که آیا TPM2 محلی از تمام قابلیت‌های لازم برای کارکرد صحیح \fBsystemd\-pcrlock\fR پشتیبانی می‌کند یا خیر\&. این دستور آزمون‌هایی مشابه \fBsystemd\-analyze has\-tpm2\fR انجام می‌دهد، اما پشتیبانی از عملیات‌های TPM2 مورد نیاز توسط \fBsystemd\-pcrlock\fR را نیز بررسی می‌کند\&. یکی از مقادیر "no"، "partial" (در صورتی که برخی از بخش‌های پشتیبانی TPM2 در سخت‌افزار، سفت‌افزار یا سیستم‌عامل موجود باشد اما کامل نباشد)، "obsolete" (اگر پشتیبانی TPM2 در سخت‌افزار، سفت‌افزار و سیستم‌عامل موجود باشد، اما عملیات‌های مورد نیاز برای \fBsystemd\-pcrlock\fR وجود نداشته باشند)، یا "yes" را در خروجی چاپ می‌کند\&. در صورت وجود پشتیبانی کامل، وضعیت خروج صفر و در غیر این صورت غیرصفر بازمی‌گرداند\&. .sp در صورت ترکیب با \fB\-\-quiet\fR، از چاپ رشته در خروجی جلوگیری می‌کند\&. .sp در حال حاضر، این دستور پشتیبانی از دستور TPM2 با نام PolicyAuthorizeNV و همچنین پشتیبانی از الگوریتم درهم‌سازی SHA\-256 را بررسی می‌کند\&. .sp اضافه‌شده در نسخهٔ 258\&. .RE .PP \fBlock\-firmware\-code\fR، \fBunlock\-firmware\-code\fR .RS 4 فایل‌های \&.pcrlock را بر اساس لاگ رویداد TPM2 بوت جاری شامل تمامی رکوردهای مربوط به ثبات‌های PCR شمارهٔ 0 ("platform\-code") و 2 ("external\-code") تولید یا حذف می‌کند\&. .sp این عملیات اجازه می‌دهد فرایند بوت به نسخهٔ فعلی سفت‌افزار سیستم و کارت‌های جانبی آن قفل شود\&. از این عملیات فقط در صورتی باید استفاده شود که سازندهٔ سیستم داده‌های pcrlock مناسب را از قبل ارائه نکرده باشد\&. .sp توجه داشته باشید که این داده‌ها فقط با نسخهٔ فعلی سفت‌افزار مطابقت دارند\&. در صورت اعمال به‌روزرسانی سفت‌افزار، این داده‌ها منسوخ شده و هرگونه خط‌مشی دسترسی تولیدشده از آن‌ها دیگر تأیید نخواهد شد\&. بنابراین توصیه می‌شود قبل از انجام به‌روزرسانی سفت‌افزار، دستور \fBunlock\-firmware\-code\fR و به دنبال آن \fBmake\-policy\fR را برای نوسازی خط‌مشی فراخوانی کنید\&. .sp دستور \fBsystemd\-pcrlock lock\-firmware\-code\fR در صورت فعال بودن، در زمان بوت به‌طور خودکار از طریق واحد systemd\-pcrlock\-firmware\-code\&.service فراخوانی می‌شود\&. این امر تضمین می‌کند که خط‌مشی دسترسی مدیریت‌شده توسط \fBsystemd\-pcrlock\fR، هر زمان که خط‌مشی برای پوشش به‌روزرسانی‌های سفت‌افزار موقتاً آزاد شده باشد (همان‌طور که در بالا توضیح داده شد)، به‌طور خودکار روی نسخهٔ جدید سفت‌افزار قفل شود\&. .sp این فایل‌ها فقط در صورتی از روی لاگ رویداد تولید می‌شوند که لاگ رویداد با وضعیت فعلی ثبات‌های PCR مربوط به TPM2 مطابقت داشته باشد\&. .sp این دستور فایل‌های /var/lib/pcrlock\&.d/250\-firmware\-code\-early\&.pcrlock\&.d/generated\&.pcrlock و /var/lib/pcrlock\&.d/550\-firmware\-code\-late\&.pcrlock\&.d/generated\&.pcrlock را می‌نویسد یا حذف می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-firmware\-config\fR، \fBunlock\-firmware\-config\fR .RS 4 این عملکرد مشابه \fBlock\-firmware\-code\fR/\fBunlock\-firmware\-code\fR است اما پیکربندی سفت‌افزار را قفل می‌کند، یعنی PCRهای 1 ("platform\-config") و 3 ("external\-config")\&. .sp از این قابلیت باید با احتیاط استفاده شود چرا که در اکثر سناریوها یک تغییر جزئی در پیکربندی سفت‌افزار نباید خط‌مشی‌های دسترسی به اشیاء TPM2 را باطل کند\&. همچنین توجه داشته باشید که برخی از سیستم‌ها اطلاعات ناپایدار و غیرقابل پیش‌بینی (مانند ولتاژهای فعلی پردازنده، دماها، به عنوان بخشی از داده‌های SMBIOS) را در این PCRها اندازه‌گیری می‌کنند، که بدین معناست این شیوهٔ قفل‌گذاری روی چنین سیستم‌هایی به شکل پایدار قابل استفاده نیست\&. تنها در صورتی از این قابلیت استفاده کنید که سیستم و سخت‌افزار به‌خوبی شناخته‌شده باشند و از این محدودیت‌ها متأثر نشوند، به عنوان نمونه در محیط‌های مجازی‌سازی‌شده\&. .sp پیش از ایجاد تغییرات در پیکربندی سفت‌افزار از \fBunlock\-firmware\-config\fR استفاده کنید\&. اگر واحد systemd\-pcrlock\-firmware\-config\&.service فعال باشد، به‌طور خودکار یک فایل pcrlock از روی اندازه‌گیری‌های جدید تولید خواهد کرد\&. .sp این دستور فایل‌های /var/lib/pcrlock\&.d/250\-firmware\-config\-early\&.pcrlock\&.d/generated\&.pcrlock و /var/lib/pcrlock\&.d/550\-firmware\-config\-late\&.pcrlock\&.d/generated\&.pcrlock را می‌نویسد یا حذف می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-secureboot\-policy\fR، \fBunlock\-secureboot\-policy\fR .RS 4 یک فایل \&.pcrlock را بر اساس خط‌مشی SecureBoot که در حال حاضر اعمال شده، تولید یا حذف می‌کند\&. این دستور متغیرهای EFI شامل SecureBoot، PK، KEK، db، dbx، dbt، dbr را بررسی کرده و اندازه‌گیری‌های آن‌ها را برای ثبات PCR شمارهٔ 7 ("secure\-boot\-policy") در بوت بعدی پیش‌بینی می‌نماید\&. .sp پیش از اعمال به‌روزرسانی‌های خط‌مشی SecureBoot از \fBunlock\-firmware\-config\fR استفاده کنید\&. اگر واحد systemd\-pcrlock\-secureboot\-policy\&.service فعال باشد، به‌طور خودکار یک فایل pcrlock از خط‌مشی کشف‌شده تولید خواهد کرد\&. .sp این دستور فایل /var/lib/pcrlock\&.d/230\-secureboot\-policy\&.pcrlock\&.d/generated\&.pcrlock را می‌نویسد یا حذف می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-secureboot\-authority\fR، \fBunlock\-secureboot\-authority\fR .RS 4 یک فایل \&.pcrlock را بر اساس مراجع SecureBoot که برای اعتبارسنجی مسیر بوت استفاده شده‌اند، تولید یا حذف می‌کند\&. مراجع SecureBoot همان ورودی‌های خاص پایگاه‌دادهٔ SecureBoot هستند که برای اعتبارسنجی فایل‌های باینری UEFI PE اجراشده هنگام بوت به کار رفته‌اند\&. این دستور لاگ رویداد بوت فعلی را بررسی کرده و از اندازه‌گیری‌های مرتبط روی PCR شمارهٔ 7 ("secure\-boot\-policy") استفاده می‌کند\&. .sp این دستور فایل /var/lib/pcrlock\&.d/620\-secureboot\-authority\&.pcrlock\&.d/generated\&.pcrlock را می‌نویسد یا حذف می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-gpt\fR [\fIDEVICE\fR]، \fBunlock\-gpt\fR .RS 4 یک فایل \&.pcrlock را بر اساس جدول پارتیشن GPT دیسک مشخص‌شده تولید یا حذف می‌کند\&. اگر دیسکی مشخص نشده باشد، به‌طور خودکار دستگاه بلوکی پشتیبان فایل‌سیستم ریشه را تعیین می‌کند\&. این دستور وضعیت پارتیشن‌بندی دیسک رسانهٔ بوت‌شده را قفل می‌کند، که سفت‌افزار آن را در ثبات PCR شمارهٔ 5 ("boot\-loader\-config") اندازه‌گیری می‌نماید\&. .sp این دستور فایل /var/lib/pcrlock\&.d/600\-gpt\&.pcrlock\&.d/generated\&.pcrlock را می‌نویسد یا حذف می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-pe\fR [\fIBINARY\fR]، \fBunlock\-pe\fR .RS 4 یک فایل \&.pcrlock را بر اساس فایل باینری PE مشخص‌شده تولید یا حذف می‌کند\&. این برای پیش‌بینی اندازه‌گیری‌هایی که سفت‌افزار روی PCR شمارهٔ 4 ("boot\-loader\-code") انجام می‌دهد در صورتی که باینری مشخص‌شده بخشی از فرایند بوت UEFI باشد، مفید است\&. از این دستور برای باینری‌های بارگذار بوت و موارد مشابه استفاده کنید\&. برای فایل‌های باینری PE که تصویر یکپارچهٔ هسته (UKI) هستند، از \fBlock\-uki\fR (به زیر مراجعه کنید) استفاده نمایید\&. .sp مسیر فایل باینری PE را به عنوان آرگومان انتظار دارد\&. در صورت عدم تعیین، باینری را از ورودی استاندارد (STDIN) می‌خواند\&. .sp فایل pcrlock برای نوشتن باید از طریق گزینهٔ \fB\-\-pcrlock=\fR مشخص شود\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-uki\fR [\fIUKI\fR]، \fBunlock\-uki\fR .RS 4 یک فایل \&.pcrlock را بر اساس فایل باینری UKI PE مشخص‌شده تولید یا حذف می‌کند\&. این برای پیش‌بینی اندازه‌گیری‌هایی که سفت‌افزار روی PCR شمارهٔ 4 ("boot\-loader\-code") و \fBsystemd-stub\fR(7) روی PCR شمارهٔ 11 ("kernel\-boot") در صورت بوت شدن UKI مشخص‌شده انجام می‌دهند، مفید است\&. این دستور یک فوق‌مجموعه از \fBlock\-pe\fR است\&. .sp مسیر فایل باینری UKI PE را به عنوان آرگومان انتظار دارد\&. در صورت عدم تعیین، باینری را از ورودی استاندارد (STDIN) می‌خواند\&. .sp فایل pcrlock برای نوشتن باید از طریق گزینهٔ \fB\-\-pcrlock=\fR مشخص شود\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-machine\-id\fR، \fBunlock\-machine\-id\fR .RS 4 یک فایل \&.pcrlock را بر اساس /etc/machine\-id تولید یا حذف می‌کند\&. این برای پیش‌بینی اندازه‌گیری‌هایی که \fBsystemd-pcrmachine.service\fR(8) روی PCR شمارهٔ 15 ("system\-identity") انجام می‌دهد مفید است\&. .sp این دستور فایل /var/lib/pcrlock\&.d/820\-machine\-id\&.pcrlock را می‌نویسد یا حذف می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-file\-system\fR [\fIPATH\fR]، \fBunlock\-file\-system\fR [\fIPATH\fR] .RS 4 یک فایل \&.pcrlock را بر اساس هویت فایل‌سیستم تولید یا حذف می‌کند\&. این برای پیش‌بینی اندازه‌گیری‌هایی که \fBsystemd-pcrfs@.service\fR(8) روی PCR شمارهٔ 15 ("system\-identity") برای فایل‌سیستم‌های ریشه و /var/ انجام می‌دهد مفید است\&. .sp این دستور فایل‌های /var/lib/pcrlock\&.d/830\-root\-file\-system\&.pcrlock و /var/lib/pcrlock\&.d/840\-file\-system\-\fIpath\fR\&.pcrlock را می‌نویسد یا حذف می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-kernel\-cmdline\fR [\fIFILE\fR]، \fBunlock\-kernel\-cmdline\fR .RS 4 یک فایل \&.pcrlock را بر اساس /proc/cmdline (یا فایل مشخص‌شده در صورت ارائه) تولید یا حذف می‌کند\&. این برای پیش‌بینی اندازه‌گیری‌هایی که هسته لینوکس روی PCR شمارهٔ 9 ("kernel\-initrd") انجام می‌دهد مفید است\&. .sp این دستور فایل /var/lib/pcrlock\&.d/710\-kernel\-cmdline\&.pcrlock/generated\&.pcrlock را می‌نویسد یا حذف می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-kernel\-initrd\fR \fIFILE\fR، \fBunlock\-kernel\-initrd\fR .RS 4 یک فایل \&.pcrlock را بر اساس یک آرشیو cpio از initrd هسته تولید یا حذف می‌کند\&. این برای پیش‌بینی اندازه‌گیری‌هایی که هسته لینوکس روی PCR شمارهٔ 9 ("kernel\-initrd") انجام می‌دهد مفید است\&. برای UKIهای \fBsystemd-stub\fR(7) استفاده نکنید، زیرا initrd در آنجا به‌صورت پویا از منابع گوناگون ترکیب می‌شود و بنابراین بر خلاف این دستور یک ورودی منفرد نمی‌پذیرد\&. .sp این دستور فایل /var/lib/pcrlock\&.d/720\-kernel\-initrd\&.pcrlock/generated\&.pcrlock را می‌نویسد یا حذف می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fBlock\-raw\fR [\fIFILE\fR]، \fBunlock\-raw\fR .RS 4 یک فایل \&.pcrlock را بر اساس داده‌های باینری خام تولید یا حذف می‌کند\&. داده‌ها یا از فایل مشخص‌شده یا از ورودی استاندارد (STDIN - در صورت عدم تعیین فایل) خوانده می‌شوند\&. این کار نیازمند مشخص بودن \fB\-\-pcrs=\fR است\&. فایل \&.pcrlock تولیدشده در فایلی که از طریق \fB\-\-pcrlock=\fR مشخص شده یا در خروجی استاندارد (STDOUT - در صورت عدم تعیین) نوشته می‌شود\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .SH "گزینه‌ها (OPTIONS)" .PP گزینه‌های زیر پشتیبانی می‌شوند: .PP \fB\-\-raw\-description\fR .RS 4 هنگام نمایش لاگ رویدادهای TPM2، برای ارائهٔ یک رشتهٔ توضیحی خوانا از لاگ رویدادها، تلاشی برای رمزگشایی رکوردها انجام نمی‌دهد\&. در عوض، داده‌های محمولهٔ باینری (payload) را به صورت گریز داده‌شده (escaped) نمایش می‌دهد\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fB\-\-pcr=\fR .RS 4 شمارهٔ PCR مورد استفاده را مشخص می‌کند\&. ممکن است بیش از یک بار برای انتخاب چندین PCR مشخص شود\&. .sp این گزینه توسط \fBlock\-raw\fR و \fBlock\-pe\fR برای انتخاب PCR جهت قفل‌گذاری استفاده می‌شود\&. .sp در صورت استفاده با \fBpredict\fR و \fBmake\-policy\fR، این گزینه بازنویسی می‌کند که کدام PCRها در پیش‌بینی و خط‌مشی گنجانده شوند\&. در صورت عدم تعیین، به‌طور پیش‌فرض ثبات‌های PCR شمارهٔ 0\-5، 7، 11، 13\-15 انتخاب می‌شوند\&. توجه داشته باشید که این دستورات در صورتی که اندازه‌گیری‌هایی در لاگ رویداد وجود داشته باشد که با مقدار فعلی PCR مطابقت نداشته باشد، یا اندازه‌گیری‌های ناشناخته‌ای در لاگ رویداد باشد، یا اجزا اندازه‌گیری‌هایی را تعریف کنند که در لاگ رویداد دیده نشده است، هیچ PCRی را در پیش‌بینی/خط‌مشی لحاظ نخواهند کرد (حتی اگر به‌صراحت مشخص شده باشند)\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fB\-\-nv\-index=\fR .RS 4 نمایهٔ NV برای ذخیرهٔ خط‌مشی را مشخص می‌کند\&. توسط \fBmake\-policy\fR پشتیبانی می‌شود\&. در صورت عدم تعیین، دستور به‌طور خودکار یک نمایهٔ آزاد NV را انتخاب می‌کند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fB\-\-components=\fR .RS 4 مسیری را برای خواندن فایل‌های *\&.pcrlock و *\&.pcrlock\&.d/*\&.pcrlock می‌پذیرد\&. می‌تواند بیش از یک بار برای تعیین چندین دایرکتوری از این دست استفاده شود\&. در صورت عدم تعیین، به‌طور پیش‌فرض مسیرهای /etc/pcrlock\&.d/، /run/pcrlock\&.d/، /var/lib/pcrlock\&.d/، /usr/local/lib/pcrlock\&.d/ و /usr/lib/pcrlock\&.d/ هستند\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fB\-\-location=\fR .RS 4 یک رشته یا یک جفت رشتهٔ جداشده با دونقطه را می‌پذیرد\&. پیکربندی می‌کند که ثبات‌های PCR تا چه نقطه‌ای در فهرست مرتب‌شدهٔ اجزای تعریف‌شده تحلیل/پیش‌بینی شوند\&. معمولاً ابزار \fBsystemd\-pcrlock\fR از یک سیستم کاملاً راه‌اندازی‌شده پس از بوت و قبل از خاموش شدن فراخوانی می‌شود\&. این بدین معنی است که اجزای مختلف تعریف‌شده برای خاموش شدن هنوز اندازه‌گیری نشده‌اند و نباید جستجو شوند\&. این گزینه به کاربر اجازه می‌دهد تا مشخص کند کدام اجزا برای تحلیل در نظر گرفته شوند (فقط اجزای قبل از یک نقطه را در نظر گرفته و اجزای بعد از آن‌ها را نادیده بگیرد)\&. رشتهٔ مورد انتظار در برابر نام فایل‌های اجزای تعریف‌شده مرتب‌سازی می‌شود\&. هر جزئی با نام لغوی دیرتر نادیده گرفته می‌شود\&. این منطق برای دستورات \fBlog\fR، \fBpredict\fR و \fBmake\-policy\fR اعمال می‌شود\&. اگر یک جفت رشتهٔ جداشده با دونقطه مشخص شود، آن‌ها مشخص می‌کنند که کدام فازهای بوت در پیش‌بینی/خط‌مشی گنجانده شوند\&. رشتهٔ اول مشخص می‌کند نخستین پیش‌بینی در کجا انجام شود و رشتهٔ دوم مشخص می‌کند آخرین پیش‌بینی در کجا صورت گیرد\&. سپس تمام این پیش‌بینی‌ها در یک مجموعه ترکیب می‌شوند\&. .sp در صورت استفاده با \fBlist\-components\fR، محدودهٔ مکان انتخاب‌شده در فهرست اجزا برجسته می‌شود\&. .sp به‌طور پیش‌فرض "760\-:940\-" است، که بدین معنی است خط‌مشی‌های تولیدشده به‌طور پیش‌فرض اساساً کل زمان اجرای فضای کاربری سیستم‌عامل را پوشش می‌دهند؛ از initrd (زیرا "760\-" بلافاصله بعد از 750\-enter\-initrd\&.pcrlock می‌آید) تا (و از جمله) زمان اجرای اصلی سیستم (زیرا بعد از "940\-" بلافاصله 950\-shutdown\&.pcrlock می‌آید)\&. برای فهرست کامل اجزای شناخته‌شده که نشان می‌دهند این محدوده به‌طور پیش‌فرض در کجا قرار گرفته است، \fBsystemd.pcrlock\fR(5) را ببینید\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fB\-\-recovery\-pin=\fR .RS 4 یکی از مقادیر "hide"، "show" یا "query" را می‌پذیرد\&. مقدار پیش‌فرض "hide" است\&. توسط \fBmake\-policy\fR پشتیبانی می‌شود\&. اگر روی "query" باشد، از کاربر یک پین (PIN) برای باز کردن قفل نمایهٔ TPM2 NV درخواست می‌کند\&. اگر قبلاً خط‌مشی‌ای ایجاد نشده باشد، این پین برای محافظت از نمایهٔ NV تازه تخصیص‌یافته استفاده می‌شود\&. اگر قبلاً خط‌مشی‌ای ایجاد شده باشد، این پین برای باز کردن قفل دسترسی نوشتن به نمایهٔ NV به کار می‌رود\&. در صورتی که هر یک از مقادیر "hide" یا "show" استفاده شود، یک پین به‌طور خودکار تولید شده و \(em فقط در حالت "show" \(em روی صفحه نمایش داده می‌شود\&. صرف‌نظر از اینکه توسط کاربر ارائه شده باشد یا به‌طور خودکار تولید شده باشد، به صورت رمزگذاری‌شده در فایل فرادادهٔ خط‌مشی ذخیره می‌شود\&. پین بازیابی می‌تواند برای به دست آوردن مجدد دسترسی نوشتن به نمایهٔ NV در صورتی که خط‌مشی دسترسی منسوخ شده باشد، مورد استفاده قرار گیرد\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fB\-\-pcrlock=\fR .RS 4 یک مسیر فایل‌سیستم را به عنوان آرگومان می‌پذیرد\&. در صورت مشخص شدن، محل نوشتن داده‌های pcrlock تولیدشده را پیکربندی می‌کند\&. توسط دستورات گوناگون \fBlock\-*\fR پشتیبانی می‌شود\&. در صورت عدم تعیین، عموماً از یک مسیر پیش‌فرض استفاده می‌شود، همان‌طور که در بالا مستند شده است\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fB\-\-policy=\fR .RS 4 یک مسیر فایل‌سیستم را به عنوان آرگومان می‌پذیرد\&. در صورت مشخص شدن، محل نوشتن فرادادهٔ خط‌مشی pcrlock را پیکربندی می‌کند\&. در صورت عدم تعیین، به‌طور پیش‌فرض /var/lib/systemd/pcrlock\&.json است\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fB\-\-force\fR .RS 4 در صورت مشخص شدن همراه با \fBmake\-policy\fR، خط‌مشی پیش‌بینی‌شده در نمایهٔ NV نوشته خواهد شد حتی اگر تشخیص داده شود که با خط‌مشی ذخیره‌شدهٔ قبلی یکسان است\&. .sp اضافه‌شده در نسخهٔ 255\&. .RE .PP \fB\-\-entry\-token=\fR .RS 4 نشانهٔ مدخل بوت (boot entry token) را برای استفاده در نام فایل داده‌های اعتبارسنجی خط‌مشی pcrlock در پارتیشن سیستم EFI یا پارتیشن XBOOTLDR تنظیم می‌کند\&. برای مقادیر مورد انتظار، گزینهٔ هم‌نام در \fBbootctl\fR(1) را ببینید\&. این گزینه فقط بر دستور \fBmake\-policy\fR تأثیر دارد\&. .sp اضافه‌شده در نسخهٔ 256\&. .RE .PP \fB\-\-quiet\fR .RS 4 در صورت مشخص شدن، هنگام فراخوانی برای \fBis\-supported\fR خروجی را سرکوب می‌کند\&. .sp اضافه‌شده در نسخهٔ 258\&. .RE .PP \fB\-\-json=\fR\fB\fIMODE\fR\fR .RS 4 خروجی را در قالب JSON نمایش می‌دهد\&. یکی از مقادیر "short" (برای کوتاه‌ترین خروجی ممکن بدون هیچ‌گونه فاصله یا شکست خط اضافی)، "pretty" (برای نسخهٔ زیباسازی‌شده با تورفتگی و شکست خط) یا "off" (برای خاموش کردن خروجی JSON، حالت پیش‌فرض) را می‌پذیرد\&. .RE .PP \fB\-\-no\-pager\fR .RS 4 خروجی را به یک صفحه‌بند (pager) هدایت نمی‌کند\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 یک متن راهنمای کوتاه را چاپ کرده و خارج می‌شود\&. .RE .PP \fB\-\-version\fR .RS 4 یک رشتهٔ کوتاه نسخه را چاپ کرده و خارج می‌شود\&. .RE .SH "وضعیت خروج (EXIT STATUS)" .PP در صورت موفقیت، 0 بازگردانده می‌شود؛ در غیر این صورت یک کد خطای غیرصفر بازمی‌گردد\&. .SH "همچنین ببینید (SEE ALSO)" .PP \fBsystemd\fR(1), \fBsystemd.pcrlock\fR(5), \fBsystemd-cryptenroll\fR(1), \fBsystemd-cryptsetup@.service\fR(8), \fBsystemd-repart\fR(8), \fBsystemd-pcrmachine.service\fR(8), \fBsystemd-creds\fR(1), \fBsystemd-stub\fR(7), \fBbootctl\fR(1) .SH "نکات (NOTES)" .IP " 1." 4 TCG Canonical Event Log Format (CEL-JSON) .RS 4 \%https://trustedcomputinggroup.org/resource/canonical-event-log-format .RE