.\" Created from Texinfo source by yat2m 1.61-unknown .TH SCDAEMON 1 2025-02-19 "GnuPG 2.4.9" "GNU Privacy Guard 2.4" .SH "نام (NAME)" scdaemon \- دیمن مدیریت کارت‌های هوشمند برای سیستم GnuPG .SH "خلاصه دستور (SYNOPSIS)" .B scdaemon .RB [ \-\-homedir .IR dir ] .RB [ \-\-options .IR file ] .RI [ options ] .B \-\-server .br .B scdaemon .RB [ \-\-homedir .IR dir ] .RB [ \-\-options .IR file ] .RI [ options ] .B \-\-daemon .RI [ command_line ] .SH "توضیحات (DESCRIPTION)" دستور \fBscdaemon\fP دیمنی برای مدیریت کارت‌های هوشمند است. این برنامه معمولاً توسط \fBgpg\-agent\fP فراخوانی می‌شود و به طور کلی مستقیماً به کار نمی‌رود. .SH "دستورات (COMMANDS)" دستورات تفاوتی با گزینه‌ها ندارند، به جز این حقیقت که تنها استفاده از یک دستور مجاز است. .TP .B \-\-version اطلاعات نسخه برنامه و مجوز آن را چاپ می‌کند. توجه داشته باشید که نمی‌توانید این دستور را خلاصه کنید. .TP .B \-\-help, \-h پیام راهنمای استفاده را چاپ کرده و مفیدترین گزینه‌های خط فرمان را خلاصه می‌کند. توجه داشته باشید که نمی‌توانید این دستور را خلاصه کنید. .TP .B \-\-dump\-options فهرستی از تمامی گزینه‌ها و دستورات موجود را چاپ می‌کند. توجه داشته باشید که نمی‌توانید این دستور را خلاصه کنید. .TP .B \-\-server در حالت سرور اجرا شده و در \fBstdin\fP منتظر دریافت دستورات می‌ماند. حالت پیش‌فرض، ایجاد یک سوکت و گوش دادن به دستورات در آن است. .TP .B \-\-multi\-server در حالت سرور اجرا شده و هم در \fBstdin\fP و هم روی یک سوکت دامنه یونیکس (Unix Domain socket) اضافی منتظر دریافت دستورات می‌ماند. از دستور سرور \fBGETINFO\fP می‌توان برای دریافت نام این سوکت اضافی استفاده کرد. .TP .B \-\-daemon برنامه را در پس‌زمینه اجرا می‌کند. این گزینه برای جلوگیری از اجرای تصادفی برنامه در پس‌زمینه الزامی است. .P .SH "گزینه‌ها (OPTIONS)" .TP .B \-\-options \fIfile\fP پیکربندی را به‌جای فایل پیکربندی پیش‌فرض اختصاصی کاربر، از \fIfile\fP می‌خواند. فایل پیکربندی پیش‌فرض \(oq\fIscdaemon.conf\fP\(cq نام دارد و انتظار می‌رود مستقیماً در دایرکتوری \(oq\fI.gnupg\fP\(cq در زیر دایرکتوری خانگی کاربر قرار داشته باشد. .TP .B \-\-homedir \fIdir\fP نام دایرکتوری خانگی را روی \fIdir\fP تنظیم می‌کند. اگر از این گزینه استفاده نشود، دایرکتوری خانگی به‌طور پیش‌فرض \(oq\fI~/.gnupg\fP\(cq خواهد بود. این گزینه تنها زمانی شناسایی می‌شود که در خط فرمان داده شود. همچنین هر دایرکتوری خانگی تعیین‌شده از طریق متغیر محیطی \(oq\fIGNUPGHOME\fP\(cq یا (در سیستم‌های ویندوز) از طریق مدخل رجیستری \fIHKCU\[rs]Software\[rs]GNU\[rs]GnuPG:HomeDir\fP را بازنویسی می‌کند. در سیستم‌های ویندوز امکان نصب GnuPG به عنوان یک برنامه پرتابل وجود دارد. در این حالت تنها این گزینه خط فرمان در نظر گرفته می‌شود و تمام روش‌های دیگر برای تنظیم دایرکتوری خانگی نادیده گرفته می‌شوند. .TP .B \-v .TP .B \-\-verbose اطلاعات اضافی را هنگام اجرا نمایش می‌دهد. شما می‌توانید با دادن چندین دستور پرگویی به \fBgpgsm\fP، مانند \(oq\-vv\(cq، سطح پرگویی را افزایش دهید. .TP .B \-\-debug\-level \fIlevel\fP سطح اشکال‌زدایی را برای بررسی مشکلات انتخاب می‌کند. \fIlevel\fP می‌تواند یک مقدار عددی یا یک کلیدواژه باشد: .RS .TP .B none بدون هیچ‌گونه اشکال‌زدایی. به‌جای کلیدواژه می‌توان از یک مقدار کمتر از 1 استفاده کرد. .TP .B basic برخی پیام‌های اولیه اشکال‌زدایی. به‌جای کلیدواژه می‌توان از یک مقدار بین 1 و 2 استفاده کرد. .TP .B advanced پیام‌های اشکال‌زدایی با جزئیات بیشتر. به‌جای کلیدواژه می‌توان از یک مقدار بین 3 و 5 استفاده کرد. .TP .B expert پیام‌های حتی با جزئیات بیشتر. به‌جای کلیدواژه می‌توان از یک مقدار بین 6 و 8 استفاده کرد. .TP .B guru تمام پیام‌های اشکال‌زدایی ممکن. به‌جای کلیدواژه می‌توان از یک مقدار بزرگتر از 8 استفاده کرد. ایجاد فایل‌های ردگیری هش تنها در صورتی فعال می‌شود که از این کلیدواژه استفاده شود. .RE نحوه نگاشت این پیام‌ها به فلگ‌های واقعی اشکال‌زدایی مشخص نشده است و ممکن است در نسخه‌های جدیدتر این برنامه تغییر کند. با این حال، آن‌ها با دقت انتخاب شده‌اند تا بهترین کمک را در اشکال‌زدایی ارائه دهند. .RS \fBتمام گزینه‌های اشکال‌زدایی ممکن است تغییر کنند و بنابراین نباید توسط هیچ برنامه کاربردی استفاده شوند. همان‌طور که از نامشان پیداست، آن‌ها تنها به عنوان کمکی برای اشکال‌زدایی مشکلات استفاده می‌شوند.\fR .RE .TP .B \-\-debug \fIflags\fP فلگ‌های اشکال‌زدایی را تنظیم می‌کند. تمام فلگ‌ها با یکدیگر OR بیتی می‌شوند و \fIflags\fP می‌تواند در ساختار نحوی C (مانند 0x0042) یا به صورت فهرستی از نام‌های فلگ که با کاما جدا شده‌اند، ارائه شود. برای دریافت فهرستی از تمام فلگ‌های پشتیبانی‌شده می‌توان از کلمه یکتای "help" استفاده کرد. این گزینه تنها برای اشکال‌زدایی مفید است و رفتار آن ممکن است در هر زمانی بدون اطلاع قبلی تغییر کند. .TP .B \-\-debug\-all معادل \fB\-\-debug=0xffffffff\fP است. .TP .B \-\-debug\-wait \fIn\fP هنگام اجرا در حالت سرور، پیش از ورود به حلقه پردازش واقعی، به مدت \fIn\fP ثانیه منتظر می‌ماند و pid را چاپ می‌کند. این کار فرصت لازم را برای متصل کردن یک اشکال‌زدا فراهم می‌کند. .TP .B \-\-debug\-ccid\-driver خروجی اشکال‌زدایی را از درایور گنجانده‌شده CCID برای کارت‌های هوشمند فعال می‌کند. استفاده از این گزینه برای دو بار، همچنین مقداری ردگیری از پروتکل T=1 را فعال می‌کند. توجه داشته باشید که این گزینه ممکن است داده‌های حساس را آشکار سازد. .TP .B \-\-debug\-disable\-ticker این گزینه تمام عملکردهای دوره‌ای تیکر مانند بررسی قرار دادن کارت در دستگاه را غیرفعال می‌کند. .TP .B \-\-debug\-allow\-core\-dump به دلایل امنیتی، در صورت توقف ناگهانی فرایند، یک core dump ایجاد نخواهد شد. برای اهداف اشکال‌زدایی، گاهی بهتر است اجازه ایجاد core dump داده شود. این گزینه آن را فعال می‌کند و همچنین هنگام اجرا در حالت \fB\-\-server\fP دایرکتوری کاری را به \(oq\fI/tmp\fP\(cq تغییر می‌دهد. .TP .B \-\-debug\-log\-tid این گزینه یک شناسه ریسه (thread ID) را به PID در خروجی لاگ اضافه می‌کند. .TP .B \-\-debug\-assuan\-log\-cats \fIcats\fP دسته‌بندی‌های فعال لاگ‌گیری Libassuan را به \fIcats\fP تغییر می‌دهد. مقدار \fIcats\fP یک عدد صحیح بدون علامت است که با ساختار نحوی معمول C مشخص می‌شود. مقدار 0 به دسته‌بندی پیش‌فرض تغییر وضعیت می‌دهد. اگر از این گزینه استفاده نشود، دسته‌بندی‌ها از متغیر محیطی \fBASSUAN_DEBUG\fP دریافت می‌شوند. توجه داشته باشید که این گزینه تنها در صورتی اثرگذار است که فلگ اشکال‌زدایی Assuan با گزینه \fB\-\-debug\fP نیز داده شده باشد. برای مشاهده فهرستی از دسته‌بندی‌ها به راهنمای Libassuan مراجعه کنید. .TP .B \-\-no\-detach فرایند را از کنسول جدا نمی‌کند. این گزینه عمدتاً برای اشکال‌زدایی کاربرد دارد. .TP .B \-\-listen\-backlog \fIn\fP اندازه صف اتصالات در انتظار را تنظیم می‌کند. مقدار پیش‌فرض 64 است. این گزینه تنها در صورتی اثرگذار است که از \fB\-\-multi\-server\fP نیز استفاده شده باشد. .TP .B \-\-log\-file \fIfile\fP تمام خروجی‌های لاگ را به \fIfile\fP ضمیمه می‌کند. این گزینه برای دیدن این که عامل در عمل چه کاری انجام می‌دهد بسیار مفید است. برای ثبت لاگ در یک سوکت از \(oq\fIsocket://\fP\(cq استفاده کنید. .TP .B \-\-pcsc\-shared از حالت اشتراکی برای دسترسی به کارت از طریق PC/SC استفاده می‌کند. این یک گزینه تا حدی خطرناک است زیرا Scdaemon دسترسی انحصاری به کارت را فرض می‌کند و به عنوان مثال اطلاعات خاصی را از کارت کش می‌کند. از این گزینه تنها در صورتی استفاده کنید که می‌دانید چه کاری انجام می‌دهید. .TP .B \-\-pcsc\-driver \fIlibrary\fP از \fIlibrary\fP برای دسترسی به کارت‌خوان هوشمند استفاده می‌کند. پیش‌فرض فعلی در یونیکس \(oq\fIlibpcsclite.so\fP\(cq و در ویندوز \(oq\fIwinscard.dll\fP\(cq است. به‌جای استفاده از این گزینه، ممکن است بخواهید یک پیوند نمادین به نام فایل پیش‌فرض ایجاد کنید (برای مثال از \(oq\fIlibpcsclite.so.1\fP\(cq). در ویندوز ممکن است از نام فایل یونیکد استفاده نشود. .TP .B \-\-disable\-ccid درایور داخلی CCID برای دستگاه‌های سازگار با CCID در صورتی که libusb در زمان ساخت شناسایی شده باشد در دسترس است، و از آن برای دسترسی به کارت‌خوان هوشمند استفاده می‌شود. در صورتی که دسترسی از طریق درایور PC/SC نیاز باشد، لطفاً این گزینه را برای غیرفعال کردن پشتیبانی از درایور CCID (در صورت وجود) تنظیم کنید. در GnuPG 2.2 یک سازوکار بازگشتی (fallback) از درایور CCID به درایور PC/SC وجود داشت. این سازوکار بازگشتی کار می‌کرد زیرا scdaemon در GnuPG 2.2 فقط از یک توکن/کارت‌خوان منفرد پشتیبانی می‌کرد. برای پشتیبانی همزمان از چندین توکن/کارت‌خوان، سازوکار بازگشتی حذف شد. .TP .B \-\-reader\-port \fInumber_or_string\fP از این گزینه می‌توان برای تعیین پورت ترمینال کارت استفاده کرد. مقدار 0 به اولین دستگاه سریال اشاره دارد؛ برای دسترسی به دستگاه‌های USB عدد 32768 را اضافه کنید. مقدار پیش‌فرض 32768 (اولین دستگاه USB) است. کارت‌خوان‌های PC/SC یا CCID ممکن است در اینجا به یک رشته نیاز داشته باشند؛ برنامه را در حالت پرگویی اجرا کنید تا فهرستی از کارت‌خوان‌های موجود را دریافت کنید. در این صورت پیش‌فرض اولین کارت‌خوانِ پیداشده خواهد بود. برای دریافت فهرستی از کارت‌خوان‌های CCID موجود می‌توانید از این دستور استفاده کنید: .RS 2 .nf echo scd getinfo reader_list \[rs] | gpg\-connect\-agent \-\-decode | awk '/^D/ {print $2}' .fi .RE .TP .B \-\-card\-timeout \fIn\fP این گزینه منسوخ شده است. در GnuPG 2.0، از این گزینه برای دستور DISCONNECT جهت کنترل مشکل زمان‌بندی استفاده می‌شد. از آنجا که دستور DISCONNECT به صورت همگام کار می‌کند، این گزینه تاثیری ندارد. .TP .B \-\-enable\-pinpad\-varlen لطفاً زمانی این گزینه را مشخص کنید که کارت‌خوان از ورودی طول متغیر برای صفحه‌کلید پین (pinpad) پشتیبانی کند (پیش‌فرض «خیر» است). برای کارت‌خوان‌های شناخته‌شده (فهرست‌شده در ccid-driver.c و apdu.c)، به این گزینه نیازی نیست. توجه داشته باشید که اگر کارت‌خوان شما از ورودی طول متغیر پشتیبانی نمی‌کند اما می‌خواهید از آن استفاده کنید، باید درخواست pinpad خود را روی کارت مشخص کنید. .TP .B \-\-disable\-pinpad حتی اگر کارت‌خوان دارای صفحه‌کلید پین (pinpad) است، سعی نکنید از آن استفاده کنید. .TP .B \-\-deny\-admin این گزینه استفاده از دستورات کلاس مدیریت (admin class) را برای برنامه‌های کارتی که از آن پشتیبانی می‌کنند غیرفعال می‌کند. در حال حاضر ما از آن برای کارت OpenPGP پشتیبانی می‌کنیم. این گزینه برای جلوگیری از دسترسی تصادفی به دستورات کلاس مدیریت که در نهایت ممکن است کارت را از طریق شماره‌های PIN اشتباه قفل کند، مفید است. توجه داشته باشید که نسخه‌های قدیمی‌تر GnuPG قبل از 2.0.11 دارای گزینه \fB\-\-allow\-admin\fP بودند که برای استفاده از چنین دستورات مدیریتی لازم بود. این گزینه امروزه دیگر اثری ندارد زیرا اکنون حالت پیش‌فرض، مجاز بودن دستورات مدیریت است. .TP .B \-\-disable\-application \fIname\fP این گزینه استفاده از برنامه کاربردی کارت با نام \fIname\fP را غیرفعال می‌کند. این گزینه عمدتاً برای اشکال‌زدایی مفید است یا اگر برنامه‌ای با اولویت پایین‌تر باید به طور پیش‌فرض استفاده شود. .TP .B \-\-application\-priority \fInamelist\fP این گزینه امکان تغییر ترتیبی را می‌دهد که برنامه‌های یک کارت در صورت عدم درخواست برنامه مشخص امتحان می‌شوند. \fInamelist\fP فهرستی از نام‌های برنامه‌ها است که با فاصله یا کاما از هم جدا شده‌اند. نام‌های ناشناخته به سادگی نادیده گرفته می‌شوند. برنامه‌هایی که در این فهرست ذکر نشده‌اند، با همان ترتیب پیشین در انتهای فهرست اولویت جدید قرار می‌گیرند. برای دریافت فهرستی از برنامه‌های فعال فعلی، استفاده کنید از .RS 2 .nf gpg\-connect\-agent 'scd getinfo app_list' /bye .fi .RE .P تمام گزینه‌های طولانی پس از حذف دو خط تیره ابتدایی، می‌توانند در فایل پیکربندی نیز قرار گیرند. .SH "برنامه‌های کاربردی کارت (CARD APPLICATIONS)" دستور \fBscdaemon\fP از برنامه‌های کاربردی کارت به شرح زیر پشتیبانی می‌کند. .SS برنامه کاربردی کارت OpenPGP با شناسه ``openpgp \ این برنامه در حال حاضر تنها توسط \fBgpg\fP استفاده می‌شود اما در آینده ممکن است با \fBgpgsm\fP نیز مفید باشد. نسخه 1 و نسخه 2 این کارت پشتیبانی می‌شوند. مشخصات این کارت در نشانی زیر در دسترس است: .br (\fBhttps://gnupg.org/ftp/specs\fP) . .SS کارت Telesec NetKey با شناسه ``nks \ این برنامه اصلی کارت‌های Telesec است که در آلمان عرضه می‌شود. این یک ابرمجموعه از کارت آلمانی DINSIG است. این کارت توسط \fBgpgsm\fP استفاده می‌شود. .SS برنامه کاربردی کارت DINSIG با شناسه ``dinsig \ این برنامه‌ای است همان‌طور که در پیش‌نویس استاندارد آلمانی \fIDIN V 66291-1\fP شرح داده شده است. این برنامه برای استفاده توسط کارت‌هایی در نظر گرفته شده است که از قانون امضای آلمان و آیین‌نامه‌های اجرایی آن (SigG و SigV) پشتیبانی می‌کنند. .SS برنامه کاربردی کارت PKCS#15 با شناسه ``p15 \ این یک چارچوب رایج برای برنامه‌های کارت هوشمند است. این برنامه توسط \fBgpgsm\fP استفاده می‌شود. .SS برنامه کاربردی کارت Geldkarte با شناسه ``geldkarte \ این یک برنامه ساده برای نمایش اطلاعات Geldkarte آلمانی است. کارت Geldkarte یک برنامه کارت بدهی با مبالغ خرد است که همراه با تقریباً تمام کارت‌های بانکی آلمان ارائه می‌شود. .SS برنامه کاربردی کارت SmartCard-HSM با شناسه ``sc-hsm \ این برنامه پشتیبانی فقط‌خواندنی را برای کلیدها و گواهی‌های ذخیره‌شده روی یک (\fBhttp://www.smartcard-hsm.com, SmartCard-HSM\fP) اضافه می‌کند. برای تولید کلیدها و ذخیره گواهی‌ها می‌توانید از (\fBhttps://github.com/OpenSC/OpenSC/wiki/SmartCardHSM, OpenSC\fP) یا ابزارهای (\fBhttp://www.openscdp.org, OpenSCDP\fP) استفاده کنید. کارت‌های SmartCard-HSM نیازمند کارت‌خوانی هستند که از APDU با طول گسترش‌یافته (Extended Length APDUs) پشتیبانی کند. .SS برنامه کاربردی کارت تعریف‌نشده ``undefined \ این یک برنامه ساختگی (stub) است که امکان استفاده از دستور APDU را حتی در صورتی که هیچ برنامه پشتیبانی‌شده‌ای روی کارت یافت نشود، فراهم می‌کند. این برنامه به صورت خودکار استفاده نمی‌شود بلکه باید صراحتاً با استفاده از دستور SERIALNO درخواست شود. .SH "مثال‌ها (EXAMPLES)" .RS 2 .nf $ scdaemon \-\-server \-v .fi .RE .SH "فایل‌ها (FILES)" چندین فایل پیکربندی برای کنترل جنبه‌های مشخصی از عملکرد \fBscdaemon\fP وجود دارد. مگر در مواردی که ذکر شده باشد، انتظار می‌رود این فایل‌ها در دایرکتوری خانگی فعلی قرار داشته باشند (ببینید: [گزینه --homedir]). .TP .B scdaemon.conf این فایل پیکربندی استانداردی است که در هنگام راه‌اندازی توسط \fBscdaemon\fP خوانده می‌شود. این فایل می‌تواند شامل هر گزینه طولانی معتبری باشد؛ دو خط تیره ابتدایی نباید وارد شوند و گزینه نباید خلاصه شود. این نام پیش‌فرض را می‌توان در خط فرمان تغییر داد (ببینید: [گزینه --options]). .TP .B scd\-event اگر این فایل وجود داشته و قابل اجرا باشد، در هر بار تغییر وضعیت کارت‌خوان فراخوانی می‌شود. نمونه‌ای از این اسکریپت به همراه توزیع کد منبع ارائه شده است. این گزینه به نفع \fBDEVINFO \-\-watch\fP منسوخ شده است. .TP .B reader_\fIn\fP.status این فایل توسط \fBscdaemon\fP ایجاد می‌شود تا برنامه‌های دیگر را از تغییرات وضعیت کارت‌خوان مطلع سازد. استفاده از آن اکنون به نفع \(oq\fIscd\-event\fP\(cq منسوخ شده است. .P .SH "همچنین ببینید (SEE ALSO)" \fBgpg\-agent\fP(1), \fBgpgsm\fP(1), \fBgpg\fP(1) .PP مستندات کامل این ابزار در قالب یک راهنمای Texinfo نگهداری می‌شود. اگر GnuPG و برنامه info به درستی در سیستم شما نصب شده باشند، دستور .RS 2 .nf info gnupg .fi .RE باید دسترسی شما به راهنمای کامل، شامل ساختار منو و نمایه را فراهم سازد.