LINUX.ORG.RU

Менеджер паролей pass

 ,


2

1

Всем привет!
Помогите разобраться с работой данного менеджера паролей. Никае не могу сообразить что к чему…
Сам по себе менеджер очень хороший, судя по отзывам. Открытый исходный код, легковесный, бесплатный.
Работать в нем можно прямо из консоли.
Но вот с его освоением у меня возникли проблемы. Делаю все как написано на оф сайте https://www.passwordstore.org/ , но что-то у меня не выходит…
Опишу все действия подробно, которые я произвожу, во избежании недопонимания.

  1. Само собой устанавливаю сам менеджер паролей (из дефолтного репозитория Kubuntu) sudo apt install pass.
  2. Ввожу команду и получаю вывод:
user@pc:~$ pass init
Usage: pass init [--path=subfolder,-p subfolder] gpg-id...

Тут по-видимому нужно указать директорию, которая будет инициализирована под базу с паролями и указать какой то ID. Что за ID я понятья не имею и где его брать.
Поискав в гугле по GPG, создал пару ключей командой gpg --full-generate-key.
Но на этом мои фантазии знания закончились. Что дальше делать не знаю. Прошу помощи у вас. Благодарю заранее!!!

Открытый исходный код, легковесный

Ещё бы… Это ведь всего лишь Bash-скрипт.

  • Генерируешь пару (открытый и приватный) ключей с помощью gpg2 DONE;
  • Смотришь вывод gpg2 --keyid-format 0xlong --list-keys $(id -un) 2>/dev/null | awk '/^pub .* \[SC\].*/{print $2}' | sed 's@.*/@@' (можешь заменить $(id -un) на свой email, если они не совпадают, или если выхлоп пуст);
  • Пишешь в ~/.bashrc следующее:
export PASSWORD_STORE_KEY="то, что ты получил на втором шаге"
export PASSWORD_STORE_DIR="${HOME}/.pass" # Или любая удобная для тебя директория
export PASSWORD_STORE_CLIP_TIME="30" # Время в секундах, сколько пароль будет храниться в буфере обмена
  • Перезапускаешь терминал, чтобы изменения вступили в силу;
  • Делаешь pass init "то, что ты получил на втором шаге";
  • Добавляешь первый свой пароль: pass insert example/my-first-pass (оно спросит ввести пароль дважды, вывод по умолчанию скрыт, можно использовать опцию -e, чтобы показывало, но это совсем плохая практика);

Если что-то пошло не так — постишь вывод (не забудь стереть из копируемого важную информацию типа паролей (если использовал ключ -e) и ключей (если не хочешь их светить)) здесь.

mord0d ★★★ ()

Чё тут соображать? Это просто скрипт вокруг gpg и git. Его даже не нужно устанавливать, чтобы использовать этот замечательный менеджер паролей.

yvv ★★☆ ()
Ответ на: комментарий от yvv

Тем не менее, со своей задачей он прекрасно справляется.

Автор так-то и в сишку умеет, но как показало время, этот инструмент в переписывании на компилируемом языке не нуждается.

Его даже не нужно устанавливать

Желательно. В комплекте идёт длиннющий мануал, importers, {bash,fish,zsh}-completion, и даже плагин для Vim.

mord0d ★★★ ()

После создания gpg ключей нужно инициализировать новое хранилище паролей pass:

pass init id-ключа/сабключа/email/имя (можно посмотреть в выводе gpg -k)

Можем создавать пароли:

pass generate test 30

Prosto_user ★★ ()
Ответ на: комментарий от mord0d

Тем не менее, со своей задачей он прекрасно справляется.

За это мы его и любим. Просто, гениально, как автомат калашникова.

yvv ★★☆ ()
Ответ на: комментарий от Prosto_user

можно посмотреть в выводе gpg -k

Забыл, что идентификатор не выводится по умолчанию. Чтобы это работало нужно использовать echo keyid-format long > ~/.gnupg/gpg.conf. Теперь в выводе gpg -k будут доступны идентификаторы.

Prosto_user ★★ ()
Ответ на: комментарий от yvv

А соображать там всё же есть над чем. Всяких опций у сабжа масса (не все нужны каждому), и некоторые вещи новичку ну совершенно неочевидны. Калаш проще будет. ☺

mord0d ★★★ ()
Ответ на: комментарий от mord0d

Все прошло успешно. Первый пароль и подкаталог «example» были успешно созданы.

parnyagan ()
Ответ на: комментарий от Prosto_user

После создания gpg ключей нужно инициализировать новое хранилище > паролей pass:

pass init id-ключа/сабключа/email/имя (можно посмотреть в выводе > gpg -k)

  1. ID ключа нужно вводить как
    XXXXXXXXXXXX
    или
    id-XXXXXXXXXXXX
    ?
  2. На счет сабключа. У меня он не отображается.
    В выводе gpg -k пишет следующее sub rsa4096 2020-04-11 [E].
    Как мне его узнать?
  3. pass init id-ключа/сабключа/email/имя - это все писать через слеш «/» ?
parnyagan ()
Ответ на: комментарий от Prosto_user

ID ключа и сабключа это то что
pub rsa4096/???вот здесь??? 2020-04-11 [SC]
и
sub rsa4096/???вот здесь??? 2020-04-11 [E]
?

parnyagan ()
Ответ на: комментарий от parnyagan

Все прошло успешно. Первый пароль и подкаталог «example» были успешно созданы.

Вот и хорошо.

ID ключа и сабключа это то что

Делай по моему мануалу, он проверен временем. ☺

---

Но для понимания:

pub rsa4096/???вот здесь??? 2020-04-11 [SC]
и
sub rsa4096/???вот здесь??? 2020-04-11 [E]

pass интересует только публичный ключ ([SC]).

???вот здесь???

Да.

ID ключа нужно вводить как XXXXXXXXXXXX
или
id-XXXXXXXXXXXX
?

XXXXXXXXXXXX

pass init id-ключа/сабключа/email/имя - это все писать через слеш «/» ?

Нет, только ключ:

init [ –path=sub-folder, -p sub-folder ] gpg-id…
©

mord0d ★★★ ()

Если тебе не принципиально консольное решение, посмотри на KeepassX/KeepassXC

Kolins ()
Ответ на: комментарий от mord0d

pass интересует только публичный ключ ([SC]).

чего? pass нужен подключ, использующийся для шифрования, то есть с флагом [E].

Lrrr ()
Последнее исправление: Lrrr (всего исправлений: 1)
Ответ на: комментарий от Lrrr

чего?

Того.

pass нужен подключ, использующийся для шифрования, то есть с флагом [E].

Ему нужен ключ, а подключ он (не он сам, а gpg2) сам находит.

Подключ нужен только для шифрования, ключ нужен для show/edit, которые использутюся гораздо чаще, чем add.

mord0d ★★★ ()
Последнее исправление: mord0d (всего исправлений: 2)
Ответ на: комментарий от parnyagan

ID ключа нужно вводить как

Ты всё понял верно, как XXXXXXXXXXXX.

pass init id-ключа/сабключа/email/имя - это все писать через слеш «/» ?

«/» в данном случае эквивалент «или». Т.е. ты можешь использовать любой из вариантов, какой тебе удобно.

ID ключа и сабключа это то что

pub rsa4096/???вот здесь??? 2020-04-11 [SC]

и

sub rsa4096/???вот здесь??? 2020-04-11 [E]

?

В твоём случае нужно использовать второй вариант с пометкой [E]. И его id, который ты выделил верно.

Prosto_user ★★ ()
Ответ на: комментарий от mord0d

Подключ нужен только для шифрования, ключ нужен для show/edit, которые использутюся гораздо чаще, чем add.

для show/edit нужна расшифровать файл. Может там и можно что-нибудь подписывать, но это как минимум не обязательно. УМВР с id шифрующего подключа в .gpg-id.

Lrrr ()
Ответ на: комментарий от Lrrr

для show/edit нужна расшифровать файл

Ага, и поэтому ты считаешь, что нужен [E] (encrypt)?

УМВР с id шифрующего подключа в .gpg-id.

Если gpg2 умеет искать ключ по подключу, то почему бы и нет. Но всё равно запутывает.

mord0d ★★★ ()
Ответ на: комментарий от mord0d
  1. Вы всегда упоминаете gpg2..., а я создавал полноценную пару ключей командой gpg --full-generate-key. Я сделал неправильно?
  2. В выводе команды gpg2 --keyid-format 0xlong --list-keys $(id -un) 2>/dev/null | awk '/^pub .* \[SC\].*/{print $2}' | sed 's@.*/@@' было 0xКЛЮЧ, эти 0x тоже надо было писать в export PASSWORD_STORE_KEY="то, что ты получил на втором шаге"?
parnyagan ()
Ответ на: комментарий от mord0d

Все, вроде разобрался. Пароли создаются, даже аддон для FF удалось поставить ;-)
Вы упоминали о том, что в комплекте с pass идет плагин для Vim. Этот вопрос очень интересен, т.к. как раз таки Vim’ом я и предпочитаю пользоваться при редактировании различных файлов.
Не подскажете как его задействовать?
P.S. до этого уже была практика в установке плагинов через vim-plug.

parnyagan ()
Ответ на: комментарий от Kolins

Тоже хотел написать, но уже опередили. Я много лет пользуюсь Keepass, и никогда не было проблем: .kdbx -база открывается в виндовс 10, в опеСУСЕ, на айфоне и на андроиде. Всё как часы. А у меня там, извините, под 500 паролей разных и это для меня важная штука и она работает!

lovermann ()
Ответ на: комментарий от lovermann

Как вы говорите, что пользуетесь pass уже давно…
Может поможете в таком случае с git’ом разобраться?
Делаю все по инструкции с это страницы
https://git.zx2c4.com/password-store/about/#EXTENDED%20GIT%20EXAMPLE

  1. pass git init "прошло успешно.
  2. pass git remote add origin kexec.com:pass-store "а вот здесь уже загвоздка
    Вот вывод терминала
user@pc:~$ pass git remote add origin kexec.com:pass-store
user@pc:~$ pass generate Amazon/amazonemail@email.com 21
mkdir: создан каталог '/home/user/.password-store/Amazon'
[master e25861a] Add generated password for Amazon/amazonemail@email.com.
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 Amazon/amazonemail@email.com.gpg
The generated password for Amazon/amazonemail@email.com is:
nT{WZrrY*mg1`<;;>l(7@
user@pc:~$ pass git push -u --all
user@kexec.com: Permission denied (publickey).
fatal: Не удалось прочитать из внешнего репозитория.

Удостоверьтесь, что у вас есть необходимые права доступа
и репозиторий существует.
parnyagan ()
Ответ на: комментарий от parnyagan

Как-то я упустил предыдущее сообщение.

Вы всегда упоминаете gpg2…, а я создавал полноценную пару ключей командой gpg –full-generate-key. Я сделал неправильно?

Всё правильно. Не думаю, что где-то ещё осталась столь древняя версия, где gpg не является симлинком на gpg2.

В выводе команды gpg2 –keyid-format 0xlong –list-keys $(id -un) 2>/dev/null | awk ‘/^pub .* [SC].*/{print $2}’ | sed ‘s@.*/@@’ было 0xКЛЮЧ, эти 0x тоже надо было писать в export PASSWORD_STORE_KEY=«то, что ты получил на втором шаге»?

Можно с 0x, можно без. gpg2 достаточно (иногда даже излишне) умное, чтобы разобраться, в каком формате идентификатор ключа, если не разберётся — кинет ошибку.

Вы упоминали о том, что в комплекте с pass идет плагин для Vim. Этот вопрос очень интересен, т.к. как раз таки Vim’ом я и предпочитаю пользоваться при редактировании различных файлов. Не подскажете как его задействовать?

Это не совсем плагин (то есть менеджером плагинов его не подключить). В $MYVIMRC нужно просто прописать:

" /!\ Путь к файлу может быть другим!
source /usr/local/share/password-store/vim/redact_pass.vim

Где-нибудь после плагинов или даже в конце файла.

mord0d ★★★ ()
Ответ на: комментарий от parnyagan

В этом весь ЛОР: всем плевать чего хочет топикстартер, главное — навязать своё "очень важное и единственно верное" мнение.

mord0d ★★★ ()
Ответ на: комментарий от parnyagan

nT{WZrrY*mg1`<;;>l(7@

Пришло время менять пароль. ☺

user@kexec.com: Permission denied (publickey).

Репозиторий настроен неправильно.

mord0d ★★★ ()
Ответ на: комментарий от mord0d

Пришло время менять пароль. ☺

Неее… это все по той инструкции… меня вообще на амазоне нет))
Там типа пробники создаешь.

parnyagan ()
Ответ на: комментарий от mord0d

Вы правы, мне ужасно неудобно сейчас стало, но это специфика любого форума и вообще дискуссионно площадки.

Вот, девушка выбирает машину на форуме и хочет «Пижот» и сразу в комплекте какие-нить воздушные фильтры, а ей, разумеется, посоветуют «Тойоту», чтобы не ломалось. Но человек разумно ответит: я хочу «купить пежот»/«установить Кали-линукс»/«создать своё ядро линукс»/«установить Генту на электрочайник»,.. и даже на такое ничего не ответишь, потому что, действительно, человек задал вопрос и ты со своим опытом/советами/доп.вопросами выглядишь неуместно (как я себя сейчас ощущаю).

lovermann ()
Ответ на: комментарий от mord0d

Репозиторий настроен неправильно.

Тут надо свой репозиторий создавать или указывать тот, что из инструкции?
Я так то вообще GitLab’ом пользуюсь, а тут какой то kexec.com. Вот я и не могу разобраться что к чему…
Мне надо просто папку с паролями проинициализировать как гит? Т.е. git init и погнали…? Тут заминка с названием, папка с паролями называется .password-store, а на GitLab’е требует, чтобы название проекта начиналось с буквы или цифры :-(

parnyagan ()
Ответ на: комментарий от lovermann

Всё зависит от подачи. Я тоже иногда предлагаю альтернативный вариант, но стоит оговаривать, что это на случай, если поставленную задачу поставленными условиями решить не удастся.

На ЛОРе в основном принято выражать любые предложения в виде «На__й тебе эта __йня? Я юзаю $RANDOM_THING и у меня всё хорошо!»

Плюс ко всему, иногда бывают случаи, когда пользователь меняет thing_1 (это остаётся за кадром, как и причины отказа от) на thing_2, с которой у него что-то не получается, он просит помощи… и получает предложение выбросить thing_2 и использовать thing_1!

Конкретно по KeePassX могу сказать, что у них с password-store совершенно разные юзкейсы:

  • KeePassX не может работать с git (да и смысла в этом нет — у него база одним файлом, и будет ой, если диск начнёт сыпаться там, где он лежит);
  • KeePassX нужна графическая сессия (pass можно пнуть по ssh, скопировать один нужный пароль и закрыть сессию вместе с терминалом);
  • KeePassX нельзя скриптовать.
  • у pass нет нормального графического интерфейса;
  • pass может быть скомпрометирован, так как это обычный bash-скрипт;
  • pass требует некоторого опыта (gpg, git).

---

ты со своим опытом/советами/доп.вопросами выглядишь неуместно

Дополнительные (уточняющие) вопросы как раз очень даже уместны, вот только их редко кто задаёт в последнее время (причём такое крайне редко, но всё же встречается и в англоязычных сообществах, но часто зависит от постановки вопроса).

Опытом делиться и давать советы — тоже хорошо, но в виде рекомендации (о чём я писал в первом абзаце). ☺

mord0d ★★★ ()
Ответ на: комментарий от parnyagan

Тут надо свой репозиторий создавать или указывать тот, что из инструкции?

Свой, конечно. В чужой у тебя нет прав коммитить, поэтому ты и получил то, что получил.

Также, если ты настраиваешь репозиторий для коммита на удалённый сервер, нужно создать его на этом сервисе, иначе оно тоже выдаст ошибку.

Я так то вообще GitLab’ом пользуюсь, а тут какой то kexec.com. Вот я и не могу разобраться что к чему…

  • Создаёшь пустой репозиторий с любым удобным тебе названием в GitLab;
  • Если там ещё не открутили эту функцию, делаешь его приватным; RSA-4096 надёжен, а вот в названиях файлов/директорий твои email и прочие данные будут публично видны, если репа не приватная;
  • Инициализируешь git-репозиторий в password-store (pass git init);
  • Настраиваешь его как обычную git-репу, но вместо git используешь pass git, команды те же.

на GitLab’е требует, чтобы название проекта начиналось с буквы или цифры :-(

Имя директории (локального репозитория) и имя проекта в GitLab (удалённого репозитория) не обязано быть идентичным. Адрес удалённой репы (которую ты создашь в первом шаге) указывается в конфиге.

После pass git init работаешь с ~/.password-store точно так же, как и с обычным git-репозиторием, только используешь не git ..., а pass git ..., и при этом не нужно заходить в диру с паролями, pass это сделает сам. Также не нужно коммитить добавления/удаления/изменения паролей, pass сам будет это делать, тебе остаётся только делать pass git push/pass git pull.

mord0d ★★★ ()
Последнее исправление: mord0d (всего исправлений: 1)
Ответ на: комментарий от mord0d

Плюс ко всему, иногда бывают случаи, когда пользователь меняет thing_1 (это остаётся за кадром, как и причины отказа от) на thing_2, с которой у него что-то не получается, он просит помощи… и получает предложение выбросить thing_2 и использовать thing_1!

Не мой слуучай ;-) я за pass !!!

Все хорошо, пароли создаются, редактируются (при необходимости), с гитом я папку с паролями засинхронил - тоже все без «заусенцев проходит».
По ходу дела возник еще один вопрос: а если, к примеру, мне нужно будет переустановить ОС на ноуте или заюзать эти пароли на ББ, или же использовать ту же систему создания, редактирования и просмотра паролей на смартфоне / планшете на базе Андроида, то как быть в такой ситуации? GPG-ключик еще надо как-то хранить? Ведь без него эта база паролей становится бесполезной, т.к. расшифровать их не будет предоставлено возможности.

parnyagan ()
Ответ на: комментарий от parnyagan

если, к примеру, мне нужно будет переустановить ОС на ноуте или заюзать эти пароли на ББ, или же использовать ту же систему создания, редактирования и просмотра паролей на смартфоне / планшете на базе Андроида, то как быть в такой ситуации?

ББ — BlackBerry?

На Android вроде был какой-то клиент, но у меня смартфонов/планшетов никогда не было, поэтому ничем не могу помочь в этом плане.

Для развёртывания на других компах нужно только перенести свой gpg-ключ на другое устройство, настроить там pass, стащить свои пароли из git.

И да, потеряв свой gpg-ключ ты автоматически теряешь доступ ко всем своим паролям в pass. Безвозвратно.

mord0d ★★★ ()
Ответ на: комментарий от mord0d

Это не совсем плагин (то есть менеджером плагинов его не подключить). В $MYVIMRC нужно просто прописать:

" /!\ Путь к файлу может быть другим!
source /usr/local/share/password-store/vim/redact_pass.vim

Где-нибудь после плагинов или даже в конце файла.

Не могли бы Вы посмотреть расположение этого файла у себя более точно, не могу найти…

parnyagan ()
Ответ на: комментарий от parnyagan

ББ — BlackBerry?

ББ - Большой Брат. Основной ПК ;-)

Большой Брат — это Google. ☺

Не могли бы Вы посмотреть расположение этого файла у себя более точно, не могу найти…

Это и было точное расположение файла в FreeBSD. ☺

В Linux, подозреваю, будет где-нибудь в /usr/share/password-store, или /usr/share/pass, или /usr/share/examples/pass, или ещё где-нибудь, зависит от фантазии мейнтейнера. Проще посмотреть листинг содержимого пакета (как это сделать и возможно ли вообще — должно быть написано в документации менеджера пакетов).

mord0d ★★★ ()
Ответ на: комментарий от parnyagan

а если, к примеру, мне нужно будет переустановить ОС на ноуте или заюзать эти пароли на ББ, или же использовать ту же систему создания, редактирования и просмотра паролей на смартфоне / планшете на базе Андроида, то как быть в такой ситуации?

Если кратко:

  • Конвертировать подключ в формат .sec.asc и закинуть на девайс в OpenKeyChain.

  • В Android-Password-Store сгенерировать ssh ключ, ввести данные git сервера, выбрать gpg ключ.

Если подробно, то читай статью.

Prosto_user ★★ ()
Ответ на: комментарий от mord0d

Так и не смог найти я этот файл, все что нарыл - это вот эта папка

user@pc:~$ ls -la /usr/share/pass/
итого 92
drwxr-xr-x   2 root root  4096 апр  9 20:53 .
drwxr-xr-x 286 root root 12288 апр  9 20:53 ..
-rwxr-xr-x   1 root root  4759 апр 13  2017 1password2pass.rb
-rwxr-xr-x   1 root root  1768 апр 13  2017 fpm2pass.pl
-rwxr-xr-x   1 root root  1681 апр 13  2017 gorilla2pass.rb
-rwxr-xr-x   1 root root  1568 апр 13  2017 kedpm2pass.py
-rwxr-xr-x   1 root root  5225 апр 13  2017 keepass2csv2pass.py
-rwxr-xr-x   1 root root  4686 апр 13  2017 keepass2pass.py
-rwxr-xr-x   1 root root  2711 апр 13  2017 keepassx2pass.py
-rwxr-xr-x   1 root root  3626 апр 13  2017 kwallet2pass.py
-rwxr-xr-x   1 root root  3637 апр 13  2017 lastpass2pass.rb
-rwxr-xr-x   1 root root  6510 апр 13  2017 password-exporter2pass.py
-rwxr-xr-x   1 root root  1158 апр 13  2017 pwsafe2pass.py
-rwxr-xr-x   1 root root  1082 апр 13  2017 pwsafe2pass.sh
-rwxr-xr-x   1 root root  6223 апр 13  2017 revelation2pass.py
-rwxr-xr-x   1 root root  3337 апр 13  2017 roboform2pass.rb
parnyagan ()
Ответ на: комментарий от Prosto_user

Обязательно попробую! Спасибо за информацию. Сейчас телефон в ремонте, а с этим короновирусом ремонт затянулся… Так что жду открытия сервиса.

parnyagan ()
Ответ на: комментарий от Prosto_user

В Android-Password-Store сгенерировать ssh ключ, ввести данные git сервера, выбрать gpg ключ.

APS умеет использовать gpg-ключи для подключения по ssh, генерировать что-то ещё не нужно

Lrrr ()
Ответ на: комментарий от Lrrr

Нужно, если предпочитаешь использовать для авторизации не gpg.

Prosto_user ★★ ()
Ответ на: комментарий от parnyagan

Это всё — importers.

В официальном git-репозитории vim-файл есть. Можешь утащить его себе в ~/.vim/ и сделать source оттуда.

Ещё можешь посмотреть, может оно ставится в директории Vim’а.

mord0d ★★★ ()
Последнее исправление: mord0d (всего исправлений: 1)
Ответ на: комментарий от mord0d

Т.е. я правильно понимаю, этот плагин нужен для того, чтобы редактирование паролей pass происходило в Vim’е, а не в Nano (как в моем случае)?

parnyagan ()
Ответ на: комментарий от parnyagan

Нет, этот плагин просто отключает сохранение изменений в viminfo и создание undo-файлов (чтобы твои пароли не утекли).

Всё это можно сделать и без плагина.

А чтобы назначить в каком текстовом редакторе должны редактироваться пароли — нужно просто назначить переменную EDITOR.

mord0d ★★★ ()
Ответ на: комментарий от parnyagan

export PASSWORD_STORE_EDITOR=vim?

Нет, просто EDITOR, pass смотрит в переменную EDITOR, если она пуста — использует vi.

483 строка:

cmd_edit() {
  ...
  ${EDITOR:-vi} "$tmp_file"
  ...
}
mord0d ★★★ ()
Ответ на: комментарий от mord0d

Нет, просто EDITOR, pass смотрит в переменную EDITOR, если она пуста — использует vi.

483 строка:

Это вообще где находится? Я думал, что это надо добавить в .bashrc.

parnyagan ()
Ответ на: комментарий от parnyagan

Я думал, что это надо добавить в .bashrc.

Да.

Это вообще где находится?

Это находится в коде самого pass, и показано исключительно для понимания как работает pass. Если не понимаешь как работают скрипты, игнорируй текст начиная со слов «483 строка:» (включительно) до конца комментария. ☺

Всё, что тебе нужно — это добавить

export EDITOR=vim

в ~/.bashrc.

mord0d ★★★ ()
Ответ на: комментарий от intervent

pass умеет хранить файлики? Или только текст?

Добавление бинарных данных в pass не предусмотрено интерфейсом, как и его вывод при расшифровке, но так как это всего лишь надстройка над gpg2, то никто не запретит тебе подсунуть в хранилище зашифрованный нетекстовый файл.

mord0d ★★★ ()
Ответ на: комментарий от mord0d

Всё, что тебе нужно — это добавить

export EDITOR=vim

в ~/.bashrc.

Ну вот, совсем другое дело)) Спасибо!

parnyagan ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей