{"id":4624,"date":"2012-09-12T21:51:29","date_gmt":"2012-09-13T01:51:29","guid":{"rendered":"http:\/\/g33kinfo.com\/info\/?p=4624"},"modified":"2012-09-12T21:51:29","modified_gmt":"2012-09-13T01:51:29","slug":"pass","status":"publish","type":"post","link":"https:\/\/g33kinfo.com\/info\/pass\/","title":{"rendered":"Pass"},"content":{"rendered":"<p>From <a href=\"http:\/\/zx2c4.com\" target=\"_blank\" rel=\"noopener noreferrer\">zx2c4.com<\/a><\/p>\n<h2>Introducing\u00a0pass<\/h2>\n<p>Password management should be simple and follow\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Unix_philosophy\">Unix philosophy<\/a>. With\u00a0pass, each password lives inside of a\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/GNU_Privacy_Guard\">gpg<\/a>\u00a0encrypted file whose filename is the title of the website or resource that requires the password. These encrypted files may be organized into meaningful folder hierarchies, copied from computer to computer, and, in general, manipulated using standard command line file management utilities.<\/p>\n<p>pass\u00a0makes managing these individual password files extremely easy. All passwords live in<code>~\/.password-store<\/code> and\u00a0pass\u00a0provides some nice commands for adding, editing, generating, and retrieving passwords. It is a very short and simple shell script. It&#8217;s capable of temporarily putting passwords on your clipboard and tracking password changes using\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Git_(software)\">git<\/a>.<\/p>\n<p>You can edit the password store using ordinary unix shell commands alongside the\u00a0pass command. There are no funky file formats or new paradigms to learn. There is bash completion so that you can simply hit tab to fill in names.<\/p>\n<p>The\u00a0pass\u00a0command is extensively documented in its\u00a0<a href=\"http:\/\/git.zx2c4.com\/password-store\/about\/\" target=\"_blank\" rel=\"noopener noreferrer\">man page<\/a>.<\/p>\n<p>&nbsp;<br \/>\n<!--more--><\/p>\n<h3>Using the password store<\/h3>\n<p>We can list all the existing passwords in the store:<\/p>\n<p><code>zx2c4@laptop ~ $ pass Password Store<br \/>\n|--- Business<br \/>\n|   |---some-silly-business-site.com<br \/>\n|   |---another-business-site.net<br \/>\n|--- Email<br \/>\n|   |---donenfeld.com<br \/>\n|   |---zx2c4.com<br \/>\n|--- France<br \/>\n    |---bank<br \/>\n    |---freebox<br \/>\n    |---mobilephone<br \/>\n<\/code><br \/>\n&nbsp;<br \/>\n&nbsp;<\/p>\n<p>And we can show passwords too:<\/p>\n<p><code>zx2c4@laptop ~ $ pass Email\/zx2c4.com sup3rh4x3rizmynam3 <\/code><br \/>\n&nbsp;<br \/>\n&nbsp;<\/p>\n<p>Or copy them to the clipboard:<\/p>\n<p><code>zx2c4@laptop ~ $ pass -c Email\/zx2c4.com<br \/>\nCopied Email\/jason@zx2c4.com to clipboard.<br \/>\nWill clear in 45 seconds. <\/code><br \/>\n&nbsp;<\/p>\n<p>There will be a nice password input dialog using the standard\u00a0gpg-agent\u00a0(which can be configured to stay authenticated for several minutes), since all passwords are encrypted.<\/p>\n<p>&nbsp;<\/p>\n<p>We can add existing passwords to the store with\u00a0<br \/>\n<code>insert zx2c4@laptop ~ $ pass insert Business\/cheese-whiz-factory<br \/>\nEnter password for Business\/cheese-whiz-factory:<br \/>\nomg so much cheese what am i gonna do <\/code><br \/>\n&nbsp;<br \/>\n&nbsp;\n<\/p>\n<p>This also handles multiline passwords or other data with\u00a0&#8211;multiline\u00a0or\u00a0-m, and passwords can be edited in your default text editor using\u00a0<br \/>\n<code>pass edit pass-name<\/code><\/p>\n<p>&nbsp;<\/p>\n<p>The utility can\u00a0generate\u00a0new passwords using the venerable\u00a0pwgen\u00a0utility internally:<\/p>\n<p><code>zx2c4@laptop ~ $ pass generate Email\/jasondonenfeld.com 15<br \/>\nThe generated password to Email\/jasondonenfeld.com is:<br \/>\n$(-QF&amp;Q=IN2nFBx <\/code><br \/>\n&nbsp;<br \/>\n&nbsp;<\/p>\n<p>It&#8217;s possible to generate passwords with no symbols using\u00a0<br \/>\n&#8211;no-symbols\u00a0or\u00a0-n<br \/>\nand we can copy it to the clipboard instead of displaying it at the console using\u00a0<br \/>\n&#8211;clip\u00a0or\u00a0-c.\n<\/p>\n<p>&nbsp;<\/p>\n<p>And of course, passwords can be removed:<\/p>\n<p><code>zx2c4@laptop ~ $ pass remove Business\/cheese-whiz-factory<br \/>\nrm: remove regular file \u2018\/home\/zx2c4\/.password-store\/Business\/cheese-whiz-factory.gpg\u2019? y<br \/>\nremoved \u2018\/home\/zx2c4\/.password-store\/Business\/cheese-whiz-factory.gpg\u2019 <\/code><br \/>\n&nbsp;<br \/>\n&nbsp;<\/p>\n<p>If the password store is a git repository, since each manipulation creates a git commit, you can synchronize the password store using\u00a0pass push\u00a0and\u00a0pass pull, which call\u00a0git-push\u00a0or git-pull\u00a0on the store.<\/p>\n<p>You can read more examples and more features in the\u00a0<a href=\"http:\/\/git.zx2c4.com\/password-store\/about\/\" target=\"_blank\" rel=\"noopener noreferrer\">man page<\/a>.<\/p>\n<p>&nbsp;<br \/>\n&nbsp;<\/p>\n<h3>Setting it up<\/h3>\n<p>To begin, there is a single command to initialize the password store:<\/p>\n<p><code>zx2c4@laptop ~ $ pass init \"ZX2C4 Password Storage Key\"<br \/>\nmkdir: created directory \u2018\/home\/zx2c4\/.password-store\u2019<br \/>\nPassword store initialized for ZX2C4 Password Storage Key. <\/code><br \/>\n&nbsp;<\/p>\n<p>Here,\u00a0ZX2C4 Password Storage Key\u00a0is the ID of my GPG key. You can use your standard GPG key or use an alternative one especially for the password store as shown above. We can additionally initialize the password store as a git repository:<\/p>\n<p><code>zx2c4@laptop ~ $ pass git init<br \/>\nInitialized empty Git repository in \/home\/zx2c4\/.password-store\/.git\/<br \/>\nzx2c4@laptop ~ $ pass git remote add origin kexec.com:pass-store <\/code><br \/>\n&nbsp;<\/p>\n<p>If a git repository is initialized,\u00a0pass\u00a0creates a git commit each time the password store is manipulated. There is a more\u00a0<a href=\"http:\/\/git.zx2c4.com\/password-store\/about\/#EXTENDED GIT EXAMPLE\">detailed initialization example<\/a>\u00a0in the\u00a0<a href=\"http:\/\/git.zx2c4.com\/password-store\/about\/\" target=\"_blank\" rel=\"noopener noreferrer\">man page<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"download\">Download<\/h2>\n<p>The latest version is 1.2.<\/p>\n<h3 id=\"deb\">Ubuntu \/ Debian<\/h3>\n<p><code><br \/>\n$ sudo apt-get install gnupg git-core pwgen tree xclip<br \/>\n$ wget http:\/\/zx2c4.com\/projects\/password-store\/dist\/pass_1.2-1_all.deb<br \/>\n$ sudo dpkg -i pass_1.2-1_all.deb<br \/>\n$ echo \"source \/etc\/bash_completion.d\/password-store\" &gt;&gt; ~\/.bashrc<br \/>\n$ rm -f pass_1.2-1_all.deb<br \/>\n<\/code><\/p>\n<p>A gpg signature is available\u00a0here. If you&#8217;re in a position to add this to the official Ubuntu repositories, please\u00a0<a href=\"mailto:Jason@zx2c4.com\">contact me<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"rpm\">Fedora \/ RHEL \/ CentOS \/ OpenSUSE \/ Mageia<\/h3>\n<p><code>$ sudo yum install http:\/\/zx2c4.com\/projects\/password-store\/dist\/pass-1.1.4-1.fc17.noarch.rpm<br \/>\n$ echo \"source \/etc\/bash_completion.d\/password-store\" &gt;&gt; ~\/.bashrc<\/code><\/p>\n<p>A gpg signature is available\u00a0here.<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"gentoo\">Gentoo<\/h3>\n<p>The password store currently lives in the\u00a0zx2c4\u00a0overlay, which you can get using\u00a0<a href=\"http:\/\/www.gentoo.org\/proj\/en\/overlays\/userguide.xml\">layman<\/a>:<\/p>\n<p><code># layman -a zx2c4<br \/>\n# emerge -av pass<br \/>\n# eselect bashcomp enable --global pass <\/code><br \/>\n&nbsp;<\/p>\n<h3 id=\"arch\">Arch<\/h3>\n<p>The password store currently lives in AUR, which you can fetch with\u00a0packer:<\/p>\n<p><code>$ packer -S pass<br \/>\n$ echo \"source \/etc\/bash_completion.d\/password-store\" &gt;&gt; ~\/.bashrc<\/code><br \/>\n&nbsp;<\/p>\n<h3 id=\"macintosh\">Macintosh<\/h3>\n<p>The password store is available through the\u00a0<a href=\"http:\/\/mxcl.github.com\/homebrew\/\">Homebrew package manager<\/a>:<\/p>\n<p><code>$ brew install pass<br \/>\n$ echo \"source \/usr\/local\/etc\/bash_completion.d\/password-store\" &gt;&gt; ~\/.bashrc<\/code><br \/>\n&nbsp;<\/p>\n<h3 id=\"tarball\">Tarball<\/h3>\n<ul>\n<li><a href=\"http:\/\/git.zx2c4.com\/password-store\/snapshot\/password-store-1.4.2.tar.xz\">Version 1.4.2<\/a>\u00a0\n<\/li>\n<li><a href=\"http:\/\/git.zx2c4.com\/password-store\/snapshot\/password-store-master.tar.xz\">Latest Git<\/a><\/li>\n<\/ul>\n<p>The tarball contains a generic makefile, for which a simple\u00a0<code>sudo make install<\/code>\u00a0should do the trick. The signature may be verified using\u00a0<a href=\"http:\/\/pgp.mit.edu:11371\/pks\/lookup?op=get&amp;search=0x49FC7012A5DE03AE\">0xA5DE03AE<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3>Git Repository<\/h3>\n<p>You may\u00a0<a href=\"http:\/\/git.zx2c4.com\/password-store\/\">browse the git repository<\/a>\u00a0or clone the repo:<\/p>\n<p><code>$ git clone http:\/\/git.zx2c4.com\/password-store<\/code><\/p>\n<p>All releases are tagged, and the tags are signed with\u00a0<a href=\"http:\/\/pgp.mit.edu:11371\/pks\/lookup?op=get&amp;search=0x49FC7012A5DE03AE\">0xA5DE03AE<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"organization\">Data Organization &amp; Migrating to\u00a0pass<\/h2>\n<p>The password store does not impose any particular schema or type of organization of your data, as it is simply a flat text file, which can contain arbitrary data. Though the most common case is storing a single password per entry, some power users find they would like to store more than just their password inside the password store, and additionally store answers to secret questions, website URLs, and other sensitive information or metadata. Since the password store does not impose a scheme of it&#8217;s own, you can choose your own organization. There are many possibilities. One approach is to use the multi-line functionality of pass (&#8211;multiline\u00a0or\u00a0-m\u00a0in\u00a0insert), and store the password itself on the first line of the file, and the additional information on subsequent lines. For example,\u00a0Amazon\/bookreader\u00a0might look like this:<\/p>\n<p><code>Yw|ZSNH!}z\"6{ym9pI<br \/>\nURL: *.amazon.com\/*<br \/>\nSecret Question 1: What is your childhood best friend's most bizarre<br \/>\nsuperhero fantasy? Oh god, Amazon, it's too awful to say...<br \/>\nPhone Support PIN #: 84719<\/code><\/p>\n<p><em>This is the preferred organzational scheme used by the author.<\/em>\u00a0The\u00a0&#8211;clip\u00a0\/\u00a0-c\u00a0options will only copy the first line of such a file to the clipboard, thereby making it easy to fetch the password for login forms, while retaining additional information in the same file.<\/p>\n<p>Another approach is to use folders, and store each piece of data inside a file in that folder.<br \/>\nFor example\u00a0Amazon\/bookreader\/password\u00a0would hold bookreader&#8217;s password inside the Amazon\/bookreader\u00a0directory, and\u00a0Amazon\/bookreader\/secretquestion1\u00a0would hold a secret question, and\u00a0Amazon\/bookreader\/sensitivecode\u00a0would hold something else related to bookreader&#8217;s account. And yet another approach might be to store the password in Amazon\/bookreader\u00a0and the additional data in\u00a0Amazon\/bookreader.meta. And even another approach might be use multiline, as outlined above, but put the URL template in the filename instead of inside the file.<\/p>\n<p>The point is, the possibilities here are extremely numerous, and there are many other organizational schemes not mentioned above; you have the freedom of choosing the one that fits your workflow best.<\/p>\n<p>To free password data from the clutches of other (bloated) password managers, various users have come up with different password store organizations that work best for them. Some users have contributed scripts to help import passwords from other programs:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/iiska\/pass-import\">keepassx2pass.py<\/a>: imports KeepassX XML data into the password store<\/li>\n<\/ul>\n<h2>Credit &amp; License<\/h2>\n<p>pass\u00a0was written by\u00a0<a href=\"mailto:Jason@zx2c4.com\">Jason A. Donenfeld<\/a>\u00a0of\u00a0<a href=\"http:\/\/zx2c4.com\/\">zx2c4.com<\/a>\u00a0and is licensed under the\u00a0<a href=\"http:\/\/www.gnu.org\/licenses\/gpl-2.0.html\">GPLv2<\/a>+.<\/p>\n<p>From <a href=\"http:\/\/zx2c4.com\" target=\"_blank\" rel=\"noopener noreferrer\">zx2c4.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>From zx2c4.com Introducing\u00a0pass Password management should be simple and follow\u00a0Unix philosophy. With\u00a0pass, each password lives inside of a\u00a0gpg\u00a0encrypted file whose filename is the title of the website or resource that requires the password. These encrypted files may be organized into meaningful folder hierarchies, copied from computer to computer, and, in general, manipulated using standard command&#8230; <\/p>\n<div class=\"read-more navbutton\"><a href=\"https:\/\/g33kinfo.com\/info\/pass\/\">Read More<i class=\"fa fa-angle-double-right\"><\/i><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,5],"tags":[],"class_list":["post-4624","post","type-post","status-publish","format-standard","hentry","category-linux-apps","category-cli"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pass - Linux Shtuff<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/g33kinfo.com\/info\/pass\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pass - Linux Shtuff\" \/>\n<meta property=\"og:description\" content=\"From zx2c4.com Introducing\u00a0pass Password management should be simple and follow\u00a0Unix philosophy. With\u00a0pass, each password lives inside of a\u00a0gpg\u00a0encrypted file whose filename is the title of the website or resource that requires the password. These encrypted files may be organized into meaningful folder hierarchies, copied from computer to computer, and, in general, manipulated using standard command... Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/g33kinfo.com\/info\/pass\/\" \/>\n<meta property=\"og:site_name\" content=\"Linux Shtuff\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/fb.me\/g33kinf0\" \/>\n<meta property=\"article:author\" content=\"https:\/\/fb.me\/g33kinf0\" \/>\n<meta property=\"article:published_time\" content=\"2012-09-13T01:51:29+00:00\" \/>\n<meta name=\"author\" content=\"g33kadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/drsinger1111\" \/>\n<meta name=\"twitter:site\" content=\"@drsinger1111\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/pass\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/pass\\\/\"},\"author\":{\"name\":\"g33kadmin\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"headline\":\"Pass\",\"datePublished\":\"2012-09-13T01:51:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/pass\\\/\"},\"wordCount\":999,\"publisher\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"articleSection\":[\"Apps\",\"CLI\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/pass\\\/\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/pass\\\/\",\"name\":\"Pass - Linux Shtuff\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#website\"},\"datePublished\":\"2012-09-13T01:51:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/pass\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/g33kinfo.com\\\/info\\\/pass\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/pass\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pass\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#website\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/\",\"name\":\"Linux Shtuff\",\"description\":\"Because I have CRS Syndrome...\",\"publisher\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\",\"name\":\"g33kadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"contentUrl\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"width\":512,\"height\":512,\"caption\":\"g33kadmin\"},\"logo\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\"},\"description\":\"I am a g33k, Linux blogger, developer, student and Tech Writer for Liquidweb.com\\\/kb. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....\",\"sameAs\":[\"https:\\\/\\\/thelinuxreport.com\",\"https:\\\/\\\/fb.me\\\/g33kinf0\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/drsinger1111\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pass - Linux Shtuff","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/g33kinfo.com\/info\/pass\/","og_locale":"en_US","og_type":"article","og_title":"Pass - Linux Shtuff","og_description":"From zx2c4.com Introducing\u00a0pass Password management should be simple and follow\u00a0Unix philosophy. With\u00a0pass, each password lives inside of a\u00a0gpg\u00a0encrypted file whose filename is the title of the website or resource that requires the password. These encrypted files may be organized into meaningful folder hierarchies, copied from computer to computer, and, in general, manipulated using standard command... Read More","og_url":"https:\/\/g33kinfo.com\/info\/pass\/","og_site_name":"Linux Shtuff","article_publisher":"https:\/\/fb.me\/g33kinf0","article_author":"https:\/\/fb.me\/g33kinf0","article_published_time":"2012-09-13T01:51:29+00:00","author":"g33kadmin","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/drsinger1111","twitter_site":"@drsinger1111","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/g33kinfo.com\/info\/pass\/#article","isPartOf":{"@id":"https:\/\/g33kinfo.com\/info\/pass\/"},"author":{"name":"g33kadmin","@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"headline":"Pass","datePublished":"2012-09-13T01:51:29+00:00","mainEntityOfPage":{"@id":"https:\/\/g33kinfo.com\/info\/pass\/"},"wordCount":999,"publisher":{"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"articleSection":["Apps","CLI"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/g33kinfo.com\/info\/pass\/","url":"https:\/\/g33kinfo.com\/info\/pass\/","name":"Pass - Linux Shtuff","isPartOf":{"@id":"https:\/\/g33kinfo.com\/info\/#website"},"datePublished":"2012-09-13T01:51:29+00:00","breadcrumb":{"@id":"https:\/\/g33kinfo.com\/info\/pass\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/g33kinfo.com\/info\/pass\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/g33kinfo.com\/info\/pass\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/g33kinfo.com\/info\/"},{"@type":"ListItem","position":2,"name":"Pass"}]},{"@type":"WebSite","@id":"https:\/\/g33kinfo.com\/info\/#website","url":"https:\/\/g33kinfo.com\/info\/","name":"Linux Shtuff","description":"Because I have CRS Syndrome...","publisher":{"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/g33kinfo.com\/info\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547","name":"g33kadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","url":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","contentUrl":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","width":512,"height":512,"caption":"g33kadmin"},"logo":{"@id":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif"},"description":"I am a g33k, Linux blogger, developer, student and Tech Writer for Liquidweb.com\/kb. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....","sameAs":["https:\/\/thelinuxreport.com","https:\/\/fb.me\/g33kinf0","https:\/\/x.com\/https:\/\/twitter.com\/drsinger1111"]}]}},"_links":{"self":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts\/4624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/comments?post=4624"}],"version-history":[{"count":0,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts\/4624\/revisions"}],"wp:attachment":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/media?parent=4624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/categories?post=4624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/tags?post=4624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}