GPGDIR(1) General Commands Manual GPGDIR(1)

gpgdir - رمزگذاری و رمزگشایی بازگشتی دایرکتوری‌ها با GnuPG

gpgdir -e|-d <دایرکتوری> [گزینه‌ها]

gpgdir یک اسکریپت پرل (perl) است که از ماژول پرل CPAN GnuPG::Interface برای رمزگذاری و رمزگشایی بازگشتی دایرکتوری‌ها با استفاده از gpg بهره می‌برد. gpgdir به‌صورت بازگشتی در ساختار دایرکتوری پیمایش می‌کند تا مطمئن شود تمامی فایل‌های موجود در دایرکتوری و تمام زیردایرکتوری‌های آن رمزگذاری یا رمزگشایی می‌شوند. به‌طور پیش‌فرض، مقادیر mtime و atime تمامی فایل‌ها پس از رمزگذاری و رمزگشایی حفظ خواهند شد (این رفتار را می‌توان با گزینه --no-preserve-times غیرفعال کرد). توجه داشته باشید که در حالت --encrypt، دستور gpgdir فایل‌های اصلی را که با موفقیت رمزگذاری شده‌اند حذف می‌کند (مگر اینکه گزینه --no-delete مشخص شده باشد). با این حال، هنگام راه‌اندازی، gpgdir ابتدا رمز عبور رمزگشایی را درخواست می‌کند تا مطمئن شود یک فایل آزمایشی با موفقیت رمزگذاری و رمزگشایی می‌شود. این آزمایش اولیه را می‌توان با گزینه --skip-test غیرفعال کرد تا بتوان یک دایرکتوری را بدون نیاز به مشخص کردن رمز عبور رمزگذاری کرد (این رفتار با نحوه عملکرد gpg سازگار است). همچنین، توجه داشته باشید که gpgdir مراقب است فایل‌ها و دایرکتوری‌های مخفی را رمزگذاری نکند. به هر حال، احتمالاً نمی‌خواهید دایرکتوری ~/.gnupg یا فایل ~/.bashrc شما رمزگذاری شوند. کلیدی که gpgdir برای رمزگذاری/رمزگشایی دایرکتوری استفاده می‌کند در فایل ~/.gpgdirrc مشخص می‌شود.

در نهایت، gpgdir می‌تواند از برنامه wipe همراه با گزینه خط فرمان --Wipe برای حذف امن فایل‌های اصلی رمزگذاری‌نشده پس از رمزگذاری موفقیت‌آمیز آن‌ها استفاده کند. این کار سطح امنیت gpgdir را ارتقا می‌دهد، زیرا بازیابی داده‌های رمزگذاری‌نشده مرتبط با فایل‌ها از سیستم‌فایل پس از رمزگذاری بسیار دشوارتر خواهد بود (دستور ()unlink حتی پس از حذف فایل، بلوک‌های داده را پاک نمی‌کند).

رمزگذاری بازگشتی تمامی فایل‌های موجود در دایرکتوری مشخص‌شده در خط فرمان. تمامی فایل‌های اصلی حذف خواهند شد (ابتدا یک بررسی رمز عبور انجام می‌شود تا اطمینان حاصل شود که رمز عبور صحیح برای باز کردن قفل کلید خصوصی GnuPG توسط کاربر مشخص است).
رمزگشایی بازگشتی تمامی فایل‌های موجود در دایرکتوری مشخص‌شده در خط فرمان. نسخه رمزگذاری‌شده .gpg هر فایل حذف خواهد شد.
امضای بازگشتی تمامی فایل‌های موجود در دایرکتوری مشخص‌شده در خط فرمان. برای هر فایل، یک امضای مجزای .asc ایجاد خواهد شد.
اعتبارسنجی بازگشتی تمامی امضاهای .asc برای فایل‌های موجود در دایرکتوری مشخص‌شده در خط فرمان.
مشخص کردن اینکه کدام دایرکتوری .gnupg برای یافتن کلیدهای GnuPG استفاده شود. در صورت عدم استفاده از این گزینه، مقدار پیش‌فرض ~/.gnupg است. این گزینه اجازه می‌دهد gpgdir به عنوان یک کاربر اجرا شود اما از کلیدهای کاربر دیگری استفاده کند (با فرض اینکه دسترسی‌ها به‌درستی تنظیم شده باشند و غیره).
خواندن رمز عبور رمزگشایی از فایل-رمز به‌جای تایپ کردن آن در خط فرمان.
اجرای یک آزمایش رمزگذاری و رمزگشایی روی یک فایل ساختگی و خروج. این آزمایش همیشه به‌طور پیش‌فرض در هر دو حالت --encrypt و --decrypt اجرا می‌شود.
دستور دادن به gpgdir برای رمزگذاری و رمزگشایی فایل‌ها با استفاده از یک الگوریتم رمزنگاری متقارن پشتیبانی‌شده توسط GnuPG (الگوریتم CAST5 معمولاً استفاده می‌شود). این کار منجر به افزایش چشمگیر سرعت فرآیند رمزگذاری/رمزگشایی می‌شود.
نمایش اقدامات رمزگذاری/رمزگشایی که انجام خواهند شد بدون اجرای واقعی آن‌ها. در این حالت سیستم‌فایل به هیچ وجه تغییر نمی‌کند.
درخواست تایید از کاربر قبل از رمزگذاری یا رمزگشایی واقعی هر فایل. این گزینه برای داشتن کنترل دقیق بر عملیات gpgdir هنگام پیمایش در ساختار دایرکتوری مفید است.
دستور دادن به gpgdir برای نادیده گرفتن شرایط خطای غیربحرانی، مانند عدم توانایی در رمزگذاری یا رمزگشایی فایل‌های خاص به دلیل خطاهای دسترسی.
دستور دادن به gpgdir برای رد کردن تمامی فایل‌هایی که با الگو به‌صورت یک تطابق رجکس در نام فایل همخوانی دارند. این مشابه گزینه --exclude در دستور استاندارد GNU tar است.
دستور دادن به gpgdir برای مستثنی کردن تمامی فایل‌هایی که با الگوهای فهرست‌شده در فایل تطابق دارند. این مشابه گزینه --exclude-from در دستور GNU tar است.
دستور دادن به gpgdir برای اینکه فقط فایل‌هایی را شامل شود که با الگو به‌صورت یک تطابق رجکس در نام فایل همخوانی دارند.
دستور دادن به gpgdir برای اینکه فقط فایل‌های منطبق با الگوهای فهرست‌شده در فایل را شامل شود.
استفاده از برنامه wipe برای حذف امن فایل‌ها پس از رمزگذاری موفقیت‌آمیز آن‌ها.
دستور دادن به gpgdir برای مبهم‌سازی نام فایل‌هایی که رمزگذاری می‌کند (در حالت -e). نام هر فایل درون فایل .gpgdir_map_file برای هر زیردایرکتوری ذخیره می‌شود و این فایل خودش رمزگذاری می‌گردد. در حالت رمزگشایی (-d)، آرگومان -O فرآیند را معکوس می‌کند تا فایل‌های اصلی بازیابی شوند.
بازنویسی فایل‌های رمزگذاری‌شده حتی اگر یک فایل <file>.gpg قبلی از قبل وجود داشته باشد.
بازنویسی فایل‌های رمزگشایی‌شده حتی اگر فایل رمزگذاری‌نشده قبلی از قبل وجود داشته باشد.
مشخص کردن دستی شناسه کلید GnuPG از خط فرمان. از آنجا که GnuPG از تطبیق کلیدها با یک رشته پشتیبانی می‌کند، شناسه الزاماً نباید یک شناسه کلید عددی باشد؛ می‌تواند رشته‌ای باشد که به‌طور یکتا با یک کلید در جاکلیدی (keyring) GnuPG مطابقت دارد.
استفاده از کلیدی که GnuPG به عنوان پیش‌فرض تعریف کرده است، یعنی کلیدی که توسط متغیر default-key در ~/.gnupg/options مشخص شده است. اگر متغیر default-key درون ~/.gnupg/options تعریف نشده باشد، GnuPG تلاش می‌کند از اولین کلید مناسب در جاکلیدی خود استفاده کند (آزمایش اولیه رمزگذاری/رمزگشایی مطمئن می‌شود که کاربر رمز عبور متناظر با کلید را می‌داند).
دستور دادن به gpgdir برای دریافت رمز عبور کلید gpg از یک نمونه در حال اجرای gpg-agent.
مشخص کردن مقدار متغیر محیطی GPG_AGENT_INFO همان‌طور که توسط دستور gpg-agent --daemon برگردانده می‌شود. اگر آرگومان خط فرمان gpgdir --agent به‌جای --Agent-info استفاده شود، gpgdir فرض می‌کند که متغیر محیطی GPG_AGENT_INFO از قبل در پوسته فعلی تنظیم شده است.
صرف‌نظر کردن از آزمایش رمزگذاری و رمزگشایی. این کار اجازه می‌دهد gpgdir برای رمزگذاری یک دایرکتوری بدون مشخص کردن رمز عبور استفاده شود (که معمولاً در حالت رمزگذاری برای آزمایش و اطمینان از عملکرد صحیح رمزگشایی روی یک فایل ساختگی استفاده می‌شود).
چاپ کمترین مقدار ممکن روی صفحه هنگام رمزگذاری یا رمزگشایی یک دایرکتوری.
دستور دادن به gpgdir برای عدم پیمایش بازگشتی در زیردایرکتوری‌های دایرکتوری در حال رمزگذاری یا رمزگشایی.
دستور دادن به gpgdir برای درخواست نکردن رمز عبور از کاربر. این گزینه فقط زمانی مفید است که کلید gpg واقعاً هیچ رمز عبور مرتبطی نداشته باشد (که معمول نیست).
دستور دادن به gpgdir برای عدم حذف فایل‌های اصلی در زمان رمزگذاری.
دستور دادن به gpgdir برای عدم حفظ مقادیر mtime و atime فایل اصلی پس از رمزگذاری یا رمزگشایی.
ارائه یک تنظیم لوکال غیر از لوکال پیش‌فرض "C".
تنظیم نکردن لوکال به طور کلی تا لوکال پیش‌فرض سیستم اعمال شود.
اجرا در حالت پرگو (verbose).
چاپ شماره نسخه و خروج.
چاپ اطلاعات نحوه استفاده و خروج.

~/.gpgdirrc

شامل شناسه کلید مربوط به کلید gpg کاربر است که برای رمزگذاری یا رمزگشایی فایل‌های درون یک دایرکتوری استفاده خواهد شد.

تنظیم دایرکتوری خانه پیش‌فرض.
تنظیم فایل اجرایی gpg. پیش‌فرض: "gpg".
تنظیم دایرکتوری کاری پیش‌فرض برای gpg. پیش‌فرض: "~/.gnupg".

مثال‌های زیر آرگومان‌های خط فرمانی را نشان می‌دهند که می‌توان در موقعیت‌های مختلف به gpgdir ارائه داد:

برای رمزگذاری یک دایرکتوری:

$ gpgdir -e /some/dir

برای رمزگذاری یک دایرکتوری و استفاده از دستور wipe برای حذف امن فایل‌های رمزگذاری‌نشده اصلی:

$ gpgdir -W -e /some/dir

برای رمزگذاری یک دایرکتوری با کلید پیش‌فرض GnuPG تعریف‌شده در ~/.gnupg/options:

$ gpgdir -e /some/dir --Default-key

برای رمزگشایی یک دایرکتوری با کلید مشخص‌شده در ~/.gpgdirrc:

$ gpgdir -d /some/dir

برای رمزگذاری یک دایرکتوری اما صرف‌نظر کردن از تمام نام فایل‌هایی که شامل رشته "host" هستند:

$ gpgdir -e /some/dir --Exclude host

برای رمزگذاری یک دایرکتوری اما فقط رمزگذاری فایل‌هایی که شامل رشته "passwd" هستند:

$ gpgdir -e /some/dir --Include passwd

برای دریافت رمز عبور کلید GnuPG از یک دیمن gpg-agent در حال اجرا به منظور رمزگشایی یک دایرکتوری (این کار نیازمند آن است که gpg-agent رمز عبور را داشته باشد):

$ gpgdir -A /tmp/gpg-H4DBhc/S.gpg-agent:7046:1 -d /some/dir

برای رمزگذاری یک دایرکتوری اما رد کردن آزمایش رمزگذاری/رمزگشایی (به این ترتیب رمز عبور رمزگشایی از شما خواسته نمی‌شود):

$ gpgdir -e /some/dir -s

برای رمزگذاری یک دایرکتوری بدون زیردایرکتوری‌های آن:

$ gpgdir -e /some/dir --no-recurse

برای رمزگذاری دایرکتوری خانه ریشه (root)، اما استفاده از کلیدهای GnuPG مرتبط با کاربر "bob":

# gpgdir -e /root -g /home/bob/.gnupg

gpgdir نیازمند نصب بودن gpg، یعنی Gnu Privacy Guard (http://www.gnupg.org) است. gpgdir همچنین به ماژول پرل GnuPG::Interface از CPAN نیاز دارد، اما این ماژول همراه با gpgdir عرضه شده و در زمان نصب در مسیر /usr/lib/gpgdir نصب می‌شود تا درخت کتابخانه پرل سیستم آلوده نشود.

gpg(1)

Michael Rash <mbr@cipherdyne.org>

افراد بسیاری که در جامعه متن‌باز فعال هستند در gpgdir مشارکت داشته‌اند؛ فایل CREDITS را در سورس‌های gpgdir ببینید.

گزارش‌های اشکال را به mbr@cipherdyne.org ارسال کنید. پیشنهادات و/یا نظرات نیز همیشه مورد استقبال است.

gpgdir تحت مجوز عمومی گنو (GPL) توزیع شده است و آخرین نسخه ممکن است از نشانی زیر بارگیری شود: http://www.cipherdyne.org

May, 2007 Linux