Title: πŸ” pass β€” Password Store Group: Security & Crypto Icon: πŸ” Order: 5 ## Table of Contents - [Setup](#-setup--настройка) - [Basic Operations](#-basic-operations--Π±Π°Π·ΠΎΠ²Ρ‹Π΅-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ) - [Organization](#-organization--организация) - [Git Integration](#-git-integration--интСграция-с-git) - [Extensions](#-extensions--Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ) - [Real-World Examples](#-real-world-examples--ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹-ΠΈΠ·-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ) --- # πŸ”§ Setup / Настройка ### Initialize Store / Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ pass init # Initialize with GPG key / Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с GPG ΠΊΠ»ΡŽΡ‡ΠΎΠΌ pass init user@example.com # Initialize with email / Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с email ### Multiple Users / НСсколько ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ pass init # Multi-user store / Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ pass init -p team/ # Initialize subdirectory / Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ --- # πŸ“ Basic Operations / Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ### Insert Passwords / Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ pass insert site.com/user # Add entry (prompt for password) / Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись (запрос пароля) pass insert -m site.com/user # Multiline entry / ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Π°Ρ запись pass insert -e site.com/user # Insert from editor / Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° echo "" | pass insert -e site.com/user # Insert from stdin / Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ· stdin ### Generate Passwords / Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ pass generate site.com/user 20 # Generate 20-char password / Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ 20 символов pass generate site.com/user # Generate default length / Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ pass generate -n site.com/user 16 # No symbols / Π‘Π΅Π· символов pass generate -c site.com/user 32 # Copy to clipboard / Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π±ΡƒΡ„Π΅Ρ€ ### Show Passwords / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ pass site.com/user # Show password / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ pass show site.com/user # Same as above / Π’ΠΎ ΠΆΠ΅ Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅ pass -c site.com/user # Copy to clipboard / Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π±ΡƒΡ„Π΅Ρ€ pass -c2 site.com/user # Copy 2nd line (OTP) / Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 2-ю строку (OTP) ### Edit & Remove / Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ pass edit site.com/user # Edit entry / Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запись pass rm site.com/user # Remove entry / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ запись pass rm -r site.com # Remove directory / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ --- # πŸ“ Organization / ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ### List Entries / Бписок записСй pass # List all entries / Бписок всСх записСй pass ls # Same as above / Π’ΠΎ ΠΆΠ΅ Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅ pass ls site.com # List subdirectory / Бписок ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ### Search / Поиск pass find github # Find entries / Найти записи pass grep username # Search in passwords / Π˜ΡΠΊΠ°Ρ‚ΡŒ Π² паролях ### Move & Copy / ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ pass mv old-site.com new-site.com # Move entry / ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ запись pass cp site.com/user site.com/backup # Copy entry / Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запись --- # πŸ”„ Git Integration / Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Git ### Initialize Git / Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Git pass git init # Initialize git repo / Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ pass git remote add origin # Add remote / Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ### Git Operations / Git ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ pass git push # Push changes / ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния pass git pull # Pull changes / ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ измСнСния pass git log # Show commit history / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² pass git status # Check status / ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ статус ### Automatic Git / АвтоматичСский Git # pass automatically commits on changes / pass автоматичСски ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ измСнСния pass insert site.com/user # Auto-commits / АвтоматичСский ΠΊΠΎΠΌΠΌΠΈΡ‚ pass git push origin main # Sync to remote / Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ --- # πŸ”Œ Extensions / Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ### OTP (One-Time Password) / OTP (ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ) pass otp insert site.com/user # Add OTP secret / Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ OTP сСкрСт pass otp site.com/user # Generate OTP code / Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ OTP ΠΊΠΎΠ΄ pass otp -c site.com/user # Copy OTP to clipboard / Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ OTP Π² Π±ΡƒΡ„Π΅Ρ€ ### Import / Π˜ΠΌΠΏΠΎΡ€Ρ‚ pass import keepass database.kdbx # Import from KeePass / Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· KeePass pass import lastpass export.csv # Import from LastPass / Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· LastPass --- # 🌟 Real-World Examples / ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ### Basic Workflow / Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс ```bash # Initialize / Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ pass init user@example.com # Add passwords / Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ pass insert email/gmail pass insert social/github pass generate web/aws 32 # Use passwords / Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ pass -c email/gmail # Copy to clipboard / Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π±ΡƒΡ„Π΅Ρ€ pass social/github # Show password / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ``` ### Multiline Entries / ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ записи ```bash # Add entry with metadata / Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ pass insert -m aws/production # Format: # password123 # username: admin # url: https://console.aws.amazon.com # region: us-east-1 # Access / Доступ pass aws/production # Show all / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всё pass -c aws/production # Copy password / Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ pass -c2 aws/production # Copy username / Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ``` ### Team Setup / Настройка для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ```bash # Initialize for team / Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pass init # Setup git sync / ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ git ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ pass git init pass git remote add origin git@git.company.com:passwords.git pass git push -u origin main # Team workflow / ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс pass insert servers/production-db pass git push # Other team members / Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pass git pull pass servers/production-db ``` ### OTP Integration / Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ OTP ```bash # Add OTP secret / Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ OTP сСкрСт pass otp insert github/user # Enter otpauth://totp/... # Generate codes / Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Ρ‹ pass otp github/user # Show OTP code / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ OTP ΠΊΠΎΠ΄ pass otp -c github/user # Copy OTP code / Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ OTP ΠΊΠΎΠ΄ ``` ### Backup & Sync / РСзСрвная копия ΠΈ синхронизация ```bash # Backup to remote / РСзСрвная копия Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ pass git init pass git remote add origin git@github.com:user/passwords.git pass git push # Sync on new machine / Бинхронизация Π½Π° Π½ΠΎΠ²ΠΎΠΉ машинС git clone git@github.com:user/passwords.git ~/.password-store pass ``` ### Import from Other Tools / Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов ```bash # Import from LastPass / Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ· LastPass pass import lastpass export.csv # Import from KeePass / Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ· KeePass pass import keepass database.kdbx # Import from 1Password / Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ· 1Password pass import 1password export.1pif ``` ### Browser Integration / Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ ```bash # Install passff (Firefox) or browserpass (Chrome) / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ passff (Firefox) ΠΈΠ»ΠΈ browserpass (Chrome) # Configure native messaging / ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠ±ΠΌΠ΅Π½ сообщСниями # Store with URL / Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡ URL pass insert -m github.com/username # password # url: https://github.com # username: myuser ``` ### Script Integration / Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ со скриптами ```bash #!/bin/bash # Get password in script / ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π² скриптС DB_PASS=$(pass database/production) mysql -u admin -p"$DB_PASS" production ``` ### Dmenu/Rofi Integration / Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Dmenu/Rofi ```bash # passmenu script / passmenu скрипт #!/bin/bash pass -c $(pass ls | tail -n +2 | dmenu -p "Password:") ``` # πŸ’‘ Best Practices / Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ # Use meaningful directory structure / Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡΠΌΡ‹ΡΠ»Π΅Π½Π½ΡƒΡŽ структуру Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ # Store metadata with passwords / Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ с паролями # Use git for backup and sync / Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΈ синхронизации # Generate strong passwords (32+ chars) / Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ (32+ символов) # Backup GPG keys securely / Π Π΅Π·Π΅Ρ€Π²Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ GPG ΠΊΠ»ΡŽΡ‡ΠΈ бСзопасно # Use OTP extension for 2FA / Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ OTP Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для 2FA # πŸ”§ Directory Structure / Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ # ~/.password-store/ β€” Password store / Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ # ~/.password-store/.gpg-id β€” GPG key ID / ID GPG ΠΊΠ»ΡŽΡ‡Π° # ~/.password-store/.git/ β€” Git repository / Git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ # πŸ“‹ Common Extensions / РаспространённыС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ # pass-otp β€” One-time passwords / ΠžΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ # pass-update β€” Update passwords / ОбновлСниС ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ # pass-import β€” Import from other tools / Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов # pass-tomb β€” Encrypted filesystem / Π—Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Π°Ρ файловая систСма # ⚠️ Important Notes / Π’Π°ΠΆΠ½Ρ‹Π΅ примСчания # Requires GPG key / Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ GPG ΠΊΠ»ΡŽΡ‡ # Passwords encrypted with GPG / ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Ρ‹ с GPG # Directory structure = entry names / Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ = ΠΈΠΌΠ΅Π½Π° записСй # Auto-commits with git / АвтоматичСскиС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с git # Cross-platform (Linux/macOS/Android) / ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ