.\" Automatically generated by Pandoc 3.6.1 .\" .TH "tpm2_policyor" "1" "" "tpm2\-tools" "General Commands Manual" .SH "نام (NAME)" tpm2_policyor \- ترکیب منطقی یا (OR) میان دو یا چند خط‌مشی TPM .SH "خلاصه دستور (SYNOPSIS)" \f[B]tpm2_policyor\f[R] [\f[I]گزینه‌ها\f[R]] [\f[I]آرگومان‌ها\f[R]] .SH "توضیحات (DESCRIPTION)" دستور \f[B]tpm2_policyor\f[R](1) یک رخداد policy_or در TPM ایجاد می‌کند. این دستور انتظار دارد که یک نشست از قبل توسط \f[B]tpm2_startauthsession\f[R](1) ایجاد شده باشد. .PP اگر نشست ورودی یک نشست آزمایشی (trial session) باشد، این ابزار یک خلاصه خط‌مشی (policy digest) تولید می‌کند که دو یا چند خلاصه خط‌مشی ورودی را طوری با هم ترکیب می‌کند که خلاصه خط‌مشی حاصل، نیازمند درست (true) بودن حداقل یکی از رخدادهای خط‌مشی باشد. .PP اگر نشست ورودی یک نشست خط‌مشی واقعی (real policy session) باشد، \f[B]tpm2_policyor\f[R](1) در صورتی که حداقل یکی از رخدادهای خط‌مشی درست باشد، شیء را با موفقیت احراز هویت می‌کند. .SH "گزینه‌ها (OPTIONS)" .IP \[bu] 2 \f[B]\-L\f[R], \f[B]\-\-policy\f[R]=\f[I]FILE\f[R]: .RS 2 .PP فایلی برای ذخیره خلاصه خط‌مشی ترکیب‌شده. .RE .IP \[bu] 2 \f[B]\-S\f[R], \f[B]\-\-session\f[R]=\f[I]FILE\f[R]: .RS 2 .PP فایل نشست خط‌مشی ایجادشده از طریق گزینهٔ \f[B]\-S\f[R] در \f[B]tpm2_startauthsession\f[R](1). .RE .IP \[bu] 2 \f[B]آرگومان (ARGUMENT)\f[R]: آرگومان خط فرمان فهرستی از فایل‌های خلاصه خط‌مشی را مشخص می‌کند که باید ترکیب شوند و در نتیجه خط‌مشی‌های مجزا به خلاصه خط‌مشی نهایی که می‌تواند شیء را احراز هویت کند، اضافه می‌شوند. این فهرست با الگوریتم درهم‌سازی خلاصه خط‌مشی آغاز می‌شود. مثال: sha256:policy1,policy2 .IP \[bu] 2 \f[B]\-l\f[R], \f[B]\-\-policy\-list\f[R]=\f[I]POLICY_FILE\f[R]_LIST: .RS 2 .PP این گزینه منسوخ شده (\f[B]DEPRECATED\f[R]) است، اما برای سازگاری با نسخه‌های پیشین حفظ شده است. به‌جای آن از روش آرگومان استفاده کنید. \f[B]نکته\f[R]: وقتی \f[B]\-l\f[R] و یک آرگومان همزمان مشخص شوند، مشابه آن است که همه را یک‌جا مشخص کرده باشید. برای مثال: \f[CR]tpm2_policyor \-l sha256:file1 sha256:file2\f[R] معادل \f[CR]tpm2_policyor sha256:file1,file2\f[R] است. .RE .SS "مراجع (REFERENCES)" .SH "گزینه‌های عمومی (COMMON OPTIONS)" این مجموعه گزینه‌ها میان بسیاری از برنامه‌ها مشترک هستند و اطلاعاتی را ارائه می‌دهند که بسیاری از کاربران انتظار دارند. .IP \[bu] 2 \f[B]\-h\f[R], \f[B]\-\-help=[man|no\-man]\f[R]: نمایش صفحه راهنمای (manpage) ابزار. به‌طور پیش‌فرض، تلاش می‌کند صفحه‌بند راهنما (manpager) را برای ابزار فراخوانی کند، اما در صورت عدم موفقیت، خلاصه‌ای کوتاه از ابزار را نمایش می‌دهد. این رفتار مشابه زمانی است که آرگومان گزینهٔ \[lq]man\[rq] مشخص شده باشد، با این حال اگر صراحتاً \[lq]man\[rq] درخواست شود، ابزار خطاهای دریافتی از man را در stderr ارائه می‌دهد. اگر گزینهٔ \[lq]no\-man\[rq] مشخص شود یا صفحه‌بند راهنما با شکست مواجه گردد، گزینه‌های کوتاه در stdout چاپ می‌شوند. .RS 2 .PP استفاده موفق از قابلیت صفحات راهنما نیازمند این است که صفحات راهنما نصب شده باشند یا در \f[I]MANPATH\f[R] قرار داشته باشند؛ برای جزئیات بیشتر man(1) را ببینید. .RE .IP \[bu] 2 \f[B]\-v\f[R], \f[B]\-\-version\f[R]: نمایش اطلاعات نسخهٔ این ابزار، TCTIهای پشتیبانی‌شده و خروج. .IP \[bu] 2 \f[B]\-V\f[R], \f[B]\-\-verbose\f[R]: افزایش اطلاعاتی که ابزار هنگام اجرای خود در کنسول چاپ می‌کند. هنگام استفاده از این گزینه، نام فایل و شماره خط چاپ می‌شوند. .IP \[bu] 2 \f[B]\-Q\f[R], \f[B]\-\-quiet\f[R]: بی‌صدا کردن خروجی عادی ابزار در stdout. .IP \[bu] 2 \f[B]\-Z\f[R], \f[B]\-\-enable\-errata\f[R]: فعال‌سازی اعمال اصلاحات غلط‌نامه (errata fixups). زمانی مفید است که لازم باشد یک اصلاح غلط‌نامه روی دستورات ارسالی به TPM اعمال شود. تعریف متغیر محیطی TPM2TOOLS_ENABLE_ERRATA نیز معادل این گزینه است. .IP \[bu] 2 \f[B]\-z\f[R], \f[B]\-\-pwd\-session\f[R]: استفاده از نشست گذرواژه به‌جای نشست HMAC برای احراز هویت. یک گذرواژه با متن آشکار برای مجاز کردن عمل به TPM ارسال می‌شود. این گزینه می‌تواند برای جلوگیری از مشکلاتی که در هنگام استفاده از نشست‌های بدون نمک (unsalted) در حالت OpenSSL FIPS رخ می‌دهد، استفاده شود. اگر از مقادیر auth استفاده می‌شود، باید از یک نشست با نمک (salted) برای احراز هویت استفاده گردد. .IP \[bu] 2 \f[B]\-R\f[R], \f[B]\-\-autoflush\f[R]: فعال‌سازی تخلیه خودکار (autoflush) برای اشیاء گذرای ایجادشده توسط دستور. اگر یک شیء والد از یک فایل بافتار بارگذاری شود، شیء والد گذرا نیز تخلیه خواهد شد. تخلیه خودکار همچنین در صورتی که متغیر محیطی TPM2TOOLS_AUTOFLUSH روی yes یا true تنظیم شده باشد فعال می‌شود. .SH "پیکربندی TCTI (TCTI Configuration)" رابط TCTI یا \[lq]Transmission Interface\[rq] سازوکار ارتباطی با TPM است. می‌توان TCTI را برای برقراری ارتباط با TPM از طریق بسترهای مختلف تغییر داد. .PP برای کنترل TCTI، ابزارها موارد زیر را رعایت می‌کنند: .IP "1." 3 گزینه خط فرمان \f[B]\-T\f[R] یا \f[B]\-\-tcti\f[R] .IP "2." 3 متغیر محیطی: \f[I]TPM2TOOLS_TCTI\f[R]. .PP \f[B]نکته:\f[R] گزینه خط فرمان همواره بر متغیر محیطی اولویت دارد. .PP انواع TCTI شناخته‌شده فعلی عبارتند از: .IP \[bu] 2 tabrmd \- مدیر منابع، موسوم به \c .UR https://github.com/tpm2-software/tpm2-abrmd tabrmd .UE \c \&. توجه داشته باشید که نام‌های tabrmd و abrmd به‌عنوان نام tcti مترادف هستند. .IP \[bu] 2 mssim \- معمولاً برای ارتباط با شبیه‌ساز نرم‌افزاری TPM استفاده می‌شود. .IP \[bu] 2 device \- هنگام برقراری ارتباط مستقیم با فایل دستگاه TPM استفاده می‌شود. .IP \[bu] 2 none \- اتصالی با TPM برقرار نمی‌کند. برخی ابزارها امکان استفاده از گزینه‌های خارج از TPM (off\-tpm) را فراهم می‌کنند و بنابراین از عدم استفاده از TCTI پشتیبانی می‌کنند. ابزارهایی که از این حالت پشتیبانی نمی‌کنند، در صورت تلاش برای استفاده بدون اتصال TCTI خطا خواهند داد. این مقدار از \f[I]هیچ\f[R] گزینه‌ای پشتیبانی نمی‌کند و \f[I]باید\f[R] دقیقاً به‌صورت متن \[lq]none\[rq] ارائه شود. .PP آرگومان‌های ارسال‌شده به گزینهٔ خط فرمان یا متغیر محیطی به شکل زیر هستند: .PP \f[CR]:\f[R] .PP مشخص کردن یک رشته خالی برای هر کدام از بخش‌های \f[CR]\f[R] یا \f[CR]\f[R] منجر به استفاده از مقدار پیش‌فرض برای آن بخش خواهد شد. .SS "پیش‌فرض‌های TCTI (TCTI Defaults)" هنگامی که یک TCTI مشخص نشده باشد، TCTI پیش‌فرض با استفاده از معناشناسی \f[I]dlopen(3)\f[R] جستجو می‌شود. ابزارها TCTIهای \f[I]tabrmd\f[R]، \f[I]device\f[R] و \f[I]mssim\f[R] را \f[B]به همین ترتیب\f[R] جستجو کرده و \f[B]از اولین موردی که یافت شود استفاده می‌کنند\f[R]. می‌توانید با استفاده از گزینهٔ \f[B]\-v\f[R] برای چاپ اطلاعات نسخه، بررسی کنید که کدام TCTI به‌عنوان پیش‌فرض انتخاب خواهد شد. جفت کلید\-مقدار \[lq]default\-tcti\[rq] نشان خواهد داد که کدام‌یک از TCTIهای فوق پیش‌فرض است. .SS "TCTIهای سفارشی (Custom TCTIs)" هر TCTI که رابط TCTI پویا را پیاده‌سازی کند، قابل بارگذاری است. ابزارها در داخل از \f[I]dlopen(3)\f[R] استفاده می‌کنند و مقدار خام \f[I]tcti\-name\f[R] برای جستجو به کار می‌رود. بنابراین، این مقدار می‌تواند یک مسیر به کتابخانه مشترک یا نام کتابخانه به‌گونه‌ای باشد که توسط معناشناسی \f[I]dlopen(3)\f[R] درک می‌شود. .SH "گزینه‌های TCTI (TCTI OPTIONS)" این مجموعه گزینه‌ها برای پیکربندی ماژول‌های مختلف TCTI شناخته‌شده به کار می‌روند: .IP \[bu] 2 \f[B]device\f[R]: برای TCTI دستگاه (device)، فایل دستگاه نویسه‌ای TPM برای استفاده توسط این TCTI می‌تواند مشخص شود. مقدار پیش‌فرض \f[I]/dev/tpm0\f[R] است. .RS 2 .PP مثال: \f[B]\-T device:/dev/tpm0\f[R] یا \f[B]export \f[BI]TPM2TOOLS_TCTI\f[B]=\[lq]device:/dev/tpm0\[rq]\f[R] .RE .IP \[bu] 2 \f[B]mssim\f[R]: برای TCTI شبیه‌ساز mssim، نام دامنه یا آدرس IP و شماره درگاه (port) مورد استفاده توسط شبیه‌ساز می‌تواند مشخص شود. مقادیر پیش‌فرض 127.0.0.1 و 2321 هستند. .RS 2 .PP مثال: \f[B]\-T mssim:host=localhost,port=2321\f[R] یا \f[B]export \f[BI]TPM2TOOLS_TCTI\f[B]=\[lq]mssim:host=localhost,port=2321\[rq]\f[R] .RE .IP \[bu] 2 \f[B]abrmd\f[R]: برای TCTI ابزار abrmd، قالب رشته پیکربندی مجموعه‌ای از جفت‌های سادهٔ کلید\-مقدار است که با نویسهٔ `,' از هم جدا شده‌اند. رشته‌های هر کلید و مقدار با نویسهٔ `=' از یکدیگر تفکیک می‌شوند. .RS 2 .IP \[bu] 2 پیکربندی TCTI abrmd از دو کلید پشتیبانی می‌کند: .RS 2 .IP "1." 3 `bus_name' : نام سرویس tabrmd روی گذرگاه (یک رشته). .IP "2." 3 `bus_type' : نوع نمونه dbus (یک رشته) که محدود به `session' و `system' است. .RE .PP مشخص کردن نام tcti ابزار tabrmd و یک رشته پیکربندی با \f[CR]bus_name=com.example.FooBar\f[R]: .IP .EX \[rs]\-\-tcti=tabrmd:bus_name=com.example.FooBar .EE .PP مشخص کردن tcti پیش‌فرض (abrmd) و یک رشته پیکربندی با \f[CR]bus_type=session\f[R]: .IP .EX \[rs]\-\-tcti:bus_type=session .EE .PP \f[B]نکته\f[R]: abrmd و tabrmd مترادف هستند. .RE .SH "مثال‌ها (EXAMPLES)" ایجاد یک خط‌مشی احراز هویت برای یک شیء مهر و موم شده (sealing object) که خط‌مشی pcr و یک policypassword را به روش منطقی OR ترکیب می‌کند و نشان می‌دهد که برآورده کردن هر یک از خط‌مشی‌ها می‌تواند راز را از حالت مهر و موم خارج (unseal) کند. .SS "ایجاد policypcr به‌عنوان اولین ارزش درستی برای ترکیب خط‌مشی‌ها" .IP .EX tpm2_startauthsession \-S session.ctx tpm2_policypcr \-S session.ctx \-L policy.pcr \-l sha256:0,1,2,3 tpm2_flushcontext session.ctx .EE .SS "ایجاد policypassword به‌عنوان دومین ارزش درستی برای ترکیب خط‌مشی‌ها" .IP .EX tpm2_startauthsession \-S session.ctx tpm2_policypassword \-S session.ctx \-L policy.pass tpm2_flushcontext session.ctx .EE .SS "ترکیب دو خط‌مشی به روش OR با دستور tpm2_policyor" .IP .EX tpm2_startauthsession \-S session.ctx tpm2_policyor \-S session.ctx \-L policy.or sha256:policy.pass,policy.pcr tpm2_flushcontext session.ctx .EE .SS "ایجاد یک شیء مهر و موم شده و پیوست کردن خط‌مشی احراز هویت از دستور tpm2_policyor" .IP .EX tpm2_createprimary \-c prim.ctx \-Q echo \[dq]secret\[dq] \f[B]|\f[R] tpm2_create \-C prim.ctx \-c key.ctx \-u key.pub \-r key.priv \[rs] \-L policy.or \-i\- .EE .SS "برآورده کردن خط‌مشی احراز هویت با استفاده از گذرواژه و گشودن (unseal) راز" .IP .EX tpm2_startauthsession \-S session.ctx \-\-policy\-session tpm2_policypassword \-S session.ctx tpm2_policyor \-S session.ctx sha256:policy.pass,policy.pcr tpm2_unseal \-c key.ctx \-p session:session.ctx tpm2_flushcontext session.ctx .EE .SS "برآورده کردن خط‌مشی احراز هویت با استفاده از pcr و گشودن (unseal) راز" .IP .EX tpm2_startauthsession \-S session.ctx \-\-policy\-session tpm2_policypcr \-S session.ctx \-l sha256:0,1,2,3 tpm2_policyor \-S session.ctx sha256:policy.pass,policy.pcr tpm2_unseal \-c key.ctx \-p session:session.ctx tpm2_flushcontext session.ctx .EE .SH "کدهای بازگشتی (RETURNS)" ابزارها می‌توانند هر یک از کدهای زیر را بازگردانند: .IP \[bu] 2 0 \- موفقیت. .IP \[bu] 2 1 \- خطای کلی و نامشخص. .IP \[bu] 2 2 \- خطای مدیریت گزینه‌ها. .IP \[bu] 2 3 \- خطای احراز هویت. .IP \[bu] 2 4 \- خطای مربوط به TCTI. .IP \[bu] 2 5 \- طرح پشتیبانی‌نشده. قابل اعمال در \f[B]tpm2_testparams\f[R]. .SH "محدودیت‌ها (LIMITATIONS)" این دستور انتظار دارد که یک نشست از قبل توسط \f[B]tpm2_startauthsession\f[R](1) ایجاد شده باشد و نیازمند یکی از موارد زیر است: .IP \[bu] 2 دسترسی مستقیم به دستگاه .IP \[bu] 2 پشتیبانی از نشست گسترش‌یافته با \f[B]tpm2\-abrmd\f[R]. .PP بدون آن، بیشتر مدیران منابع وضعیت نشست را در فاصلهٔ میان فراخوانی‌های دستور ذخیره \f[B]نخواهند کرد\f[R]. .SH "همچنین ببینید (SEE ALSO)" \f[B]tpm2_startauthsession\f[R](1)، \f[B]tpm2_policypcr\f[R](1)، \f[B]tpm2_policypassword\f[R](1)، \f[B]tpm2_createprimary\f[R](1)، \f[B]tpm2_create\f[R](1)، \f[B]tpm2_unseal\f[R](1)، \f[B]tpm2_flushcontext\f[R](1) .SH "اشکالات (BUGS)" \c .UR https://github.com/tpm2-software/tpm2-tools/issues گزارش اشکالات در گیت‌هاب (Github Issues) .UE \c .SH "راهنما (HELP)" مشاهدهٔ \c .UR https://lists.linuxfoundation.org/mailman/listinfo/tpm2 فهرست پستی (Mailing List) .UE \c .SH "مجوز (LICENSE)" این اثر تحت \c .UR https://creativecommons.org/licenses/by/4.0 مجوز بین‌المللی کریتیو کامنز ارجاع ۴.۰ (CC BY 4.0) .UE \c \&.