.TH PASS 1 "2014 March 18" ZX2C4 "Password Store" .SH "نام (NAME)" pass \- ذخیره، بازیابی، تولید و همگام‌سازی امن گذرواژه‌ها .SH "خلاصه دستور (SYNOPSIS)" .B pass [ .I دستور ] [ .I گزینه‌ها ]... [ .I آرگومان‌ها ]... .SH "توضیحات (DESCRIPTION)" ابزار .B pass یک مخزن گذرواژه بسیار ساده است که گذرواژه‌ها را درون فایل‌های رمزنگاری‌شده توسط .BR gpg2 (1) در یک ساختار درختی پوشه‌ای ساده در مسیر .IR ~/.password-store نگه‌داری می‌کند. ابزار .B pass مجموعه‌ای از دستورات را برای مدیریت مخزن گذرواژه فراهم می‌کند و به کاربر اجازه می‌دهد گذرواژه‌ها را اضافه، حذف، ویرایش، همگام‌سازی و تولید کند یا تغییر دهد. اگر هیچ دستوری مشخص نشود، دستور به طور پیش‌فرض یکی از دو مورد .B show یا .BR ls خواهد بود که بسته به نوع مشخص‌کننده در آرگومان‌ها تعیین می‌شود. همچنین اگر متغیر محیطی \fIPASSWORD_STORE_ENABLE_EXTENSIONS\fP برابر با "true" باشد و فایل \fI.extensions/COMMAND.bash\fP درون مخزن گذرواژه موجود و قابل اجرا باشد، به درون محیط بارگذاری شده (source) و تمام آرگومان‌ها و متغیرهای محیطی به آن منتقل می‌شوند. افزونه‌های موجود در پوشه سراسری سیستم، که تنها توسط مدیر سیستم قابل نصب هستند، همواره فعال می‌باشند. در غیر این صورت، دستور باید یکی از دستورات معتبر فهرست‌شده در زیر باشد. چندین مورد از دستورات زیر در صورتی که پوشه مخزن گذرواژه یک مخزن گیت (Git) نیز باشد، قابلیت‌های بیشتری ارائه داده یا به آن متکی هستند. اگر پوشه مخزن گذرواژه یک مخزن گیت باشد، تمام دستورات تغییردهنده مخزن گذرواژه، یک commit متناظر در گیت ثبت می‌کنند. زیرپوشه‌ها می‌توانند مخازن مجزا و تودرتوی گیت باشند، و pass درونی‌ترین پوشه متناسب با گذرواژه جاری را به کار می‌گیرد. برای توضیحات دقیق درباره استفاده از \fBinit\fP و .BR git (1) به بخش \fIمثال پیشرفته گیت (EXTENDED GIT EXAMPLE)\fP مراجعه فرمایید. دستور \fBinit\fP باید پیش از دیگر دستورات اجرا شود تا مخزن گذرواژه را با شناسه صحیح کلید gpg مقداردهی اولیه کند. گذرواژه‌ها با استفاده از کلید gpg تنظیم‌شده توسط \fBinit\fP رمزگذاری می‌شوند. یک اسکریپت تکمیل خودکار (completion) برای bash جهت تکمیل خودکار نام گذرواژه‌ها با کلید Tab در .BR bash (1) وجود دارد. .SH "دستورات (COMMANDS)" .TP \fBinit\fP [ \fI--path=sub-folder\fP, \fI-p sub-folder\fP ] \fIgpg-id...\fP مقداردهی اولیه ذخیره‌ساز گذرواژه جدید و استفاده از .I gpg-id برای رمزنگاری. می‌توان چندین شناسه gpg را مشخص کرد تا هر گذرواژه با چندین شناسه رمزگذاری شود. این دستور باید ابتدا و پیش از استفاده از مخزن گذرواژه اجرا گردد. اگر \fIgpg-id\fP مشخص‌شده با کلید استفاده‌شده در فایل‌های موجود متفاوت باشد، آن فایل‌ها مجدداً با شناسه جدید رمزگذاری خواهند شد. توجه داشته باشید که استفاده از .BR gpg-agent (1) توصیه می‌شود تا رمزگشایی دسته‌ای نیازمند مداخله مکرر کاربر نباشد. اگر \fI--path\fP یا \fI-p\fP همراه با یک آرگومان مشخص شود، یک شناسه یا مجموعه‌ای از شناسه‌های gpg برای آن زیرپوشه خاص از مخزن گذرواژه تعیین می‌گردد. اگر تنها یک \fIgpg-id\fP داده شود و آن یک رشته خالی باشد، فایل \fI.gpg-id\fP فعلی برای آن زیرپوشه (یا ریشه مخزن در صورت عدم تعیین) حذف خواهد شد. .TP \fBls\fP \fIsubfolder\fP فهرست کردن نام گذرواژه‌های موجود در ساختار درختی در .I subfolder با استفاده از ابزار .BR tree (1). این دستور با نام جایگزین \fBlist\fP نیز شناخته می‌شود. .TP \fBgrep\fP [\fIGREPOPTIONS\fP] \fIsearch-string\fP جستجو در درون هر فایل گذرواژه رمزگشایی‌شده برای یافتن \fIsearch-string\fP، و نمایش خط شامل رشته منطبق‌شده به همراه نام فایل. برای تطابق از .BR grep (1) استفاده می‌کند. گزینه‌های \fIGREPOPTIONS\fP عیناً به .BR grep (1) فرستاده می‌شوند. (توجه: متغیر محیطی \fIGREP_OPTIONS\fP نیز پشتیبانی می‌شود). .TP \fBfind\fP \fIpass-names\fP... فهرست کردن نام گذرواژه‌هایی در ساختار درختی که با \fIpass-names\fP تطابق دارند با استفاده از برنامه .BR tree (1). این دستور با نام جایگزین \fBsearch\fP نیز شناخته می‌شود. .TP \fBshow\fP [ \fI--clip\fP[=\fIline-number\fP], \fI-c\fP[\fIline-number\fP] ] [ \fI--qrcode\fP[=\fIline-number\fP], \fI-q\fP[\fIline-number\fP] ] \fIpass-name\fP رمزگشایی و چاپ گذرواژه با نام \fIpass-name\fP. اگر \fI--clip\fP یا \fI-c\fP مشخص شود، گذرواژه چاپ نمی‌شود بلکه خط اول (یا خط مشخص‌شده) با استفاده از .BR xclip (1) یا .BR wl-clipboard (1) در کلیپ‌بورد کپی می‌شود و پس از ۴۵ ثانیه (یا مقدار \fIPASSWORD_STORE_CLIP_TIME\fP) کلیپ‌بورد بازنشانی می‌گردد. اگر \fI--qrcode\fP یا \fI-q\fP مشخص شود، گذرواژه چاپ نمی‌شود بلکه یک کد QR با استفاده از .BR qrencode (1) در ترمینال یا به شکل گرافیکی (در صورت پشتیبانی) نمایش داده خواهد شد. .TP \fBinsert\fP [ \fI--echo\fP, \fI-e\fP | \fI--multiline\fP, \fI-m\fP ] [ \fI--force\fP, \fI-f\fP ] \fIpass-name\fP درج یک گذرواژه جدید با نام \fIpass-name\fP در مخزن گذرواژه. این کار گذرواژه جدید را از stdin می‌خواند. اگر \fI--echo\fP یا \fI-e\fP مشخص \fIنشده\fP باشد، اکوی صفحه‌کلید هنگام ورود گذرواژه غیرفعال شده و برای تایید دو بار پرسیده می‌شود. اگر \fI--multiline\fP یا \fI-m\fP مشخص شود، خطوط تا رسیدن به انتهای فایل (EOF) یا فشردن کلیدهای Ctrl+D خوانده می‌شوند. در غیر این صورت تنها یک خط از stdin خوانده می‌شود. پیش از بازنویسی روی گذرواژه موجود تاییدیه خواسته می‌شود، مگر آنکه \fI--force\fP یا \fI-f\fP مشخص شده باشد. این دستور با نام جایگزین \fBadd\fP نیز در دسترس است. .TP \fBedit\fP \fIpass-name\fP درج گذرواژه جدید یا ویرایش گذرواژه موجود با استفاده از ویرایشگر متنی پیش‌فرض که در متغیر محیطی \fIEDITOR\fP تعیین شده یا ویرایشگر .BR vi (1) به عنوان جایگزین پیش‌فرض. این حالت از فایل‌های موقت برای ویرایش بهره می‌برد، اما تضمین می‌کند که فایل‌های موقت در \fI/dev/shm\fP ایجاد شوند تا از نوشتن روی سکتورهای دیسک که پاک‌سازی آن‌ها دشوار است جلوگیری گردد. اگر \fI/dev/shm\fP در دسترس نباشد، از مسیر معمول \fITMPDIR\fP استفاده شده و هشداری چاپ می‌شود. .TP \fBgenerate\fP [ \fI--no-symbols\fP, \fI-n\fP ] [ \fI--clip\fP, \fI-c\fP ] [ \fI--in-place\fP, \fI-i\fP | \fI--force\fP, \fI-f\fP ] \fIpass-name [pass-length]\fP تولید گذرواژه تصادفی جدید با استفاده از \fB/dev/urandom\fP به طول \fIpass-length\fP (یا طول پیش‌فرض \fIPASSWORD_STORE_GENERATED_LENGTH\fP در صورت عدم تعیین) و درج آن در \fIpass-name\fP. اگر \fI--no-symbols\fP یا \fI-n\fP داده شود، از هیچ نویسه غیر الفبایی-عددی در گذرواژه تولیدی استفاده نمی‌شود. مجموعه نویسه‌های استفاده‌شده در تولید گذرواژه را می‌توان با متغیرهای محیطی \fIPASSWORD_STORE_CHARACTER_SET\fP و \fIPASSWORD_STORE_CHARACTER_SET_NO_SYMBOLS\fP تغییر داد. اگر \fI--clip\fP یا \fI-c\fP مشخص شود، گذرواژه چاپ نشده بلکه به کمک .BR xclip (1) یا .BR wl-clipboard (1) در کلیپ‌بورد کپی می‌شود و پس از ۴۵ ثانیه (یا به میزان \fIPASSWORD_STORE_CLIP_TIME\fP) بازنشانی می‌گردد. اگر \fI--qrcode\fP یا \fI-q\fP مشخص شود، کد QR به کمک .BR qrencode (1) نمایش داده می‌شود. پیش از بازنویسی روی گذرواژه موجود سوال پرسیده می‌شود، مگر اینکه \fI--force\fP یا \fI-f\fP داده شده باشد. اگر \fI--in-place\fP یا \fI-i\fP داده شود، بدون پرسش تعاملی، تنها خط اول فایل با گذرواژه تولیدی جدید جایگزین شده و باقی خطوط فایل دست‌نخورده باقی می‌مانند. .TP \fBrm\fP [ \fI--recursive\fP, \fI-r\fP ] [ \fI--force\fP, \fI-f\fP ] \fIpass-name\fP حذف گذرواژه با نام \fIpass-name\fP از مخزن گذرواژه. این دستور با نام‌های جایگزین \fBremove\fP یا \fBdelete\fP نیز در دسترس است. اگر \fI--recursive\fP یا \fI-r\fP داده شود، چنانچه pass-name یک پوشه باشد به صورت بازگشتی حذف می‌شود. اگر \fI--force\fP یا \fI-f\fP داده شود، بدون درخواست تایید تعاملی عملیات حذف انجام می‌پذیرد. .TP \fBmv\fP [ \fI--force\fP, \fI-f\fP ] \fIold-path\fP \fInew-path\fP تغییر نام گذرواژه یا دایرکتوری از \fIold-path\fP به \fInew-path\fP. این دستور با نام جایگزین \fBrename\fP نیز شناخته می‌شود. اگر \fI--force\fP مشخص شود، در صورت وجود \fInew-path\fP روی آن بازنویسی می‌شود. اگر انتهای \fInew-path\fP به یک اسلش \fI/\fP ختم شود، همواره به عنوان دایرکتوری در نظر گرفته خواهد شد. گذرواژه‌ها متناسب با کلیدهای مقصد جدیدشان مجدداً رمزگذاری می‌شوند. .TP \fBcp\fP [ \fI--force\fP, \fI-f\fP ] \fIold-path\fP \fInew-path\fP کپی کردن گذرواژه یا دایرکتوری از \fIold-path\fP به \fInew-path\fP. این دستور با نام جایگزین \fBcopy\fP نیز شناخته می‌شود. اگر \fI--force\fP مشخص شود، در صورت وجود \fInew-path\fP روی آن بازنویسی می‌شود. اگر انتهای \fInew-path\fP به یک اسلش \fI/\fP ختم شود، همواره به عنوان دایرکتوری در نظر گرفته خواهد شد. گذرواژه‌ها متناسب با کلیدهای مقصد جدیدشان مجدداً رمزگذاری می‌شوند. .TP \fBgit\fP \fIgit-command-args\fP... اگر مخزن گذرواژه یک مخزن گیت باشد، آرگومان‌های \fIgit-command-args\fP را به عنوان دستورات .BR git (1) در مخزن گذرواژه اجرا می‌کند. اگر دستور داده‌شده \fBinit\fP باشد، علاوه بر مقداردهی اولیه مخزن گیت، محتوای جاری مخزن گذرواژه را در قالب یک commit اولیه به مخزن اضافه می‌نماید. اگر کلید تنظیمات گیت \fIpass.signcommits\fP به \fItrue\fP تنظیم شده باشد، تمام commitها با استفاده از \fIuser.signingkey\fP یا کلید پیش‌فرض امضای گیت امضا می‌شوند. این تنظیم را می‌توان با دستور زیر فعال نمود: .B `pass git config --bool --add pass.signcommits true` .TP \fBhelp\fP نمایش پیام راهنما و نحوه استفاده. .TP \fBversion\fP نمایش اطلاعات نسخه. .SH "مثال‌های ساده (SIMPLE EXAMPLES)" .TP مقداردهی اولیه مخزن گذرواژه .B zx2c4@laptop ~ $ pass init Jason@zx2c4.com .br mkdir: created directory \[u2018]/home/zx2c4/.password-store\[u2019] .br Password store initialized for Jason@zx2c4.com. .TP فهرست کردن گذرواژه‌های موجود در مخزن .B zx2c4@laptop ~ $ pass .br Password Store .br \[u251C]\[u2500]\[u2500] Business .br \[u2502] \[u251C]\[u2500]\[u2500] some-silly-business-site.com .br \[u2502] \[u2514]\[u2500]\[u2500] another-business-site.net .br \[u251C]\[u2500]\[u2500] Email .br \[u2502] \[u251C]\[u2500]\[u2500] donenfeld.com .br \[u2502] \[u2514]\[u2500]\[u2500] zx2c4.com .br \[u2514]\[u2500]\[u2500] France .br \[u251C]\[u2500]\[u2500] bank .br \[u251C]\[u2500]\[u2500] freebox .br \[u2514]\[u2500]\[u2500] mobilephone .br .br همچنین می‌توان از "\fBpass ls\fP" استفاده نمود. .TP یافتن گذرواژه‌های منطبق بر com. در مخزن .B zx2c4@laptop ~ $ pass find .com .br Search Terms: .com .br \[u251C]\[u2500]\[u2500] Business .br \[u2502] \[u251C]\[u2500]\[u2500] some-silly-business-site.com .br \[u2514]\[u2500]\[u2500] Email .br \[u251C]\[u2500]\[u2500] donenfeld.com .br \[u2514]\[u2500]\[u2500] zx2c4.com .br .br همچنین می‌توان از "\fBpass search .com\fP" استفاده نمود. .TP نمایش گذرواژه موجود .B zx2c4@laptop ~ $ pass Email/zx2c4.com .br sup3rh4x3rizmynam3 .TP کپی کردن گذرواژه در کلیپ‌بورد .B zx2c4@laptop ~ $ pass -c Email/zx2c4.com .br Copied Email/jason@zx2c4.com to clipboard. Will clear in 45 seconds. .TP افزودن گذرواژه به مخزن .B zx2c4@laptop ~ $ pass insert Business/cheese-whiz-factory .br Enter password for Business/cheese-whiz-factory: omg so much cheese what am i gonna do .TP افزودن گذرواژه چندخطی به مخزن .B zx2c4@laptop ~ $ pass insert -m Business/cheese-whiz-factory .br Enter contents of Business/cheese-whiz-factory and press Ctrl+D when finished: .br .br Hey this is my .br awesome .br multi .br line .br passworrrrrrrrd. .br ^D .TP تولید گذرواژه جدید .B zx2c4@laptop ~ $ pass generate Email/jasondonenfeld.com 15 .br The generated password to Email/jasondonenfeld.com is: .br $(-QF&Q=IN2nFBx .TP تولید گذرواژه الفبایی-عددی جدید .B zx2c4@laptop ~ $ pass generate -n Email/jasondonenfeld.com 12 .br The generated password to Email/jasondonenfeld.com is: .br YqFsMkBeO6di .TP تولید گذرواژه جدید و کپی آن در کلیپ‌بورد .B zx2c4@laptop ~ $ pass generate -c Email/jasondonenfeld.com 19 .br Copied Email/jasondonenfeld.com to clipboard. Will clear in 45 seconds. .TP حذف گذرواژه از مخزن .B zx2c4@laptop ~ $ pass remove Business/cheese-whiz-factory .br rm: remove regular file \[u2018]/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg\[u2019]? y .br removed \[u2018]/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg\[u2019] .SH "مثال پیشرفته گیت (EXTENDED GIT EXAMPLE)" در اینجا، یک مخزن گذرواژه جدید را مقداردهی اولیه کرده، یک مخزن گیت ایجاد می‌کنیم و سپس به مدیریت و همگام‌سازی گذرواژه‌ها می‌پردازیم. به آرگومان‌های فراخوانی اول دستور \fBpass git push\fP توجه نمایید؛ برای اطلاعات بیشتر به .BR git-push (1) مراجعه کنید. .B zx2c4@laptop ~ $ pass init Jason@zx2c4.com .br mkdir: created directory \[u2018]/home/zx2c4/.password-store\[u2019] .br Password store initialized for Jason@zx2c4.com. .B zx2c4@laptop ~ $ pass git init .br Initialized empty Git repository in /home/zx2c4/.password-store/.git/ .br [master (root-commit) 998c8fd] Added current contents of password store. .br 1 file changed, 1 insertion(+) .br create mode 100644 .gpg-id .B zx2c4@laptop ~ $ pass git remote add origin kexec.com:pass-store .B zx2c4@laptop ~ $ pass generate Amazon/amazonemail@email.com 21 .br mkdir: created directory \[u2018]/home/zx2c4/.password-store/Amazon\[u2019] .br [master 30fdc1e] Added generated password for Amazon/amazonemail@email.com to store. .br 1 file changed, 0 insertions(+), 0 deletions(-) .br create mode 100644 Amazon/amazonemail@email.com.gpg .br The generated password to Amazon/amazonemail@email.com is: .br <5m,_BrZY`antNDxKN<0A .B zx2c4@laptop ~ $ pass git push -u --all .br Counting objects: 4, done. .br Delta compression using up to 2 threads. .br Compressing objects: 100% (3/3), done. .br Writing objects: 100% (4/4), 921 bytes, done. .br Total 4 (delta 0), reused 0 (delta 0) .br To kexec.com:pass-store .br * [new branch] master -> master .br Branch master set up to track remote branch master from origin. .B zx2c4@laptop ~ $ pass insert Amazon/otheraccount@email.com .br Enter password for Amazon/otheraccount@email.com: som3r3a11yb1gp4ssw0rd!!88** .br [master b9b6746] Added given password for Amazon/otheraccount@email.com to store. .br 1 file changed, 0 insertions(+), 0 deletions(-) .br create mode 100644 Amazon/otheraccount@email.com.gpg .B zx2c4@laptop ~ $ pass rm Amazon/amazonemail@email.com .br rm: remove regular file \[u2018]/home/zx2c4/.password-store/Amazon/amazonemail@email.com.gpg\[u2019]? y .br removed \[u2018]/home/zx2c4/.password-store/Amazon/amazonemail@email.com.gpg\[u2019] .br rm 'Amazon/amazonemail@email.com.gpg' .br [master 288b379] Removed Amazon/amazonemail@email.com from store. .br 1 file changed, 0 insertions(+), 0 deletions(-) .br delete mode 100644 Amazon/amazonemail@email.com.gpg .B zx2c4@laptop ~ $ pass git push .br Counting objects: 9, done. .br Delta compression using up to 2 threads. .br Compressing objects: 100% (5/5), done. .br Writing objects: 100% (7/7), 1.25 KiB, done. .br Total 7 (delta 0), reused 0 (delta 0) .br To kexec.com:pass-store .SH "فایل‌ها (FILES)" .TP .B ~/.password-store دایرکتوری پیش‌فرض برای ذخیره‌سازی گذرواژه‌ها. .TP .B ~/.password-store/.gpg-id شامل شناسه کلید gpg پیش‌فرض مورد استفاده برای رمزنگاری و رمزگشایی. چندین کلید gpg را می‌توان در این فایل به صورت خط به خط درج کرد. اگر این فایل در هر یک از زیرپوشه‌ها وجود داشته باشد، گذرواژه‌های درون آن زیرپوشه با آن کلیدها رمزنگاری می‌شوند. این فایل باید با استفاده از دستور \fBinit\fP تنظیم شود. .TP .B ~/.password-store/.extensions دایرکتوری شامل فایل‌های افزونه. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .TP .I PASSWORD_STORE_DIR دایرکتوری پیش‌فرض ذخیره‌سازی گذرواژه‌ها را بازنویسی می‌کند. .TP .I PASSWORD_STORE_KEY شناسه پیش‌فرض کلید gpg تنظیم‌شده توسط \fBinit\fP را بازنویسی می‌کند. کلیدها نباید شامل فاصله باشند؛ از این رو استفاده از اثر انگشت هگزادسیمال کلید توصیه می‌شود. چندین کلید را می‌توان با فاصله از یکدیگر مشخص کرد. .TP .I PASSWORD_STORE_GPG_OPTS گزینه‌های اضافی که به تمام فراخوانی‌های GPG ارسال می‌شوند. .TP .I PASSWORD_STORE_X_SELECTION انتخاب ارسالی به \fBxclip\fP را بازنویسی می‌کند، که به طور پیش‌فرض \fIclipboard\fP است. برای اطلاعات بیشتر به .BR xclip (1) مراجعه فرمایید. .TP .I PASSWORD_STORE_CLIP_TIME تعداد ثانیه‌های انتظار پیش از بازنشانی و پاک‌کردن کلیپ‌بورد را مشخص می‌کند، که به طور پیش‌فرض \fI45\fP ثانیه است. .TP .I PASSWORD_STORE_UMASK مقدار umask تمام فایل‌های تغییریافته توسط pass را تنظیم می‌کند، که به طور پیش‌فرض \fI077\fP است. .TP .I PASSWORD_STORE_GENERATED_LENGTH طول پیش‌فرض گذرواژه در صورتی که پارامتر \fIpass-length\fP در دستور \fBgenerate\fP مشخص نشده باشد. .TP .I PASSWORD_STORE_CHARACTER_SET مجموعه نویسه‌های مورد استفاده در تولید گذرواژه برای دستور \fBgenerate\fP. این مقدار توسط دستور \fBtr\fP تفسیر می‌شود. برای اطلاعات بیشتر به .BR tr (1) مراجعه نمایید. .TP .I PASSWORD_STORE_CHARACTER_SET_NO_SYMBOLS مجموعه نویسه‌های مورد استفاده در تولید گذرواژه بدون نماد برای دستور \fBgenerate\fP هنگامی که گزینه \fI--no-symbols\fP یا \fI-n\fP مشخص شده باشد. این مقدار توسط .BR tr (1) تفسیر می‌شود. .TP .I PASSWORD_STORE_ENABLE_EXTENSIONS برای فعال‌سازی افزونه‌ها، این متغیر محیطی باید به "true" تنظیم شود. .TP .I PASSWORD_STORE_EXTENSIONS_DIR مسیری که فایل‌های اجرایی افزونه‌ها در آن جستجو می‌شوند؛ به صورت پیش‌فرض \fIPASSWORD_STORE_DIR/.extensions\fP است. .TP .I PASSWORD_STORE_SIGNING_KEY اگر این متغیر محیطی تنظیم شده باشد، تمام فایل‌های \fB.gpg-id\fP و فایل‌های افزونه غیرسیستمی باید با یک امضای جداگانه (detached signature) با استفاده از کلید GPG مشخص‌شده توسط اثر انگشت ۴۰ کاراکتری و حروف بزرگ در این متغیر امضا شوند. اگر چندین اثر انگشت با فاصله مشخص شده باشد، امضا باید حداقل با یکی از آن‌ها تطابق داشته باشد. دستور \fBinit\fP امضاهای فایل‌های \fB.gpg-id\fP را به‌روز نگه خواهد داشت. .TP .I EDITOR مسیر ویرایشگر متن مورد استفاده توسط \fBedit\fP. .SH "همچنین ببینید (SEE ALSO)" .BR gpg2 (1), .BR tr (1), .BR git (1), .BR xclip (1), .BR wl-clipboard (1), .BR qrencode (1). .SH "نویسنده (AUTHOR)" ابزار .B pass توسط .MT Jason@zx2c4.com Jason A. Donenfeld .ME نوشته شده است. برای دریافت به‌روزرسانی‌ها و اطلاعات تکمیلی، صفحه پروژه در وب جهانی در نشانی زیر موجود است: .UR http://\:www.passwordstore.org World Wide Web .UE . .SH "کپی‌رایت و تکثیر (COPYING)" این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید طبق شرایط مجوز عمومی همگانی گنو (GNU GPL) که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است (یا نسخه ۲ این مجوز یا به انتخاب خود هر نسخه بعدی)، آن را بازتوزیع نموده یا تغییر دهید. این برنامه به این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک مقصود معین. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید. شما باید یک نسخه از مجوز عمومی همگانی گنو را همراه با این برنامه دریافت کرده باشید؛ در غیر این صورت به نشانی زیر بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.