Чтобы изменить владельца файла, необходимо root
.
Это часть механизма безопасности в Unix, который предотвращает доступ обычного пользователя к файлам других пользователей.
Если вы попытаетесь сделать это без root
разрешения -, команда завершится ошибкой с сообщением об ошибке, например.:
chown yourusername /etc/passwd
chown: changing ownership of '/etc/passwd': Operation not permitted
Черпая вдохновение из вопроса, на который вы ссылались:
Создайте скрипт-оболочку дляpinentry
(~/bin/pinentry-wrapper
):
#!/usr/bin/env bash
#
# Defaults to Qt, with a choice of curses for selected programs
# PINENTRY_USER_DATA is a GnuPG defined variable (see man gpg)
case "$PINENTRY_USER_DATA" in
curses)
exec /usr/bin/pinentry-curses "$@"
;;
*)
exec /usr/bin/pinentry-qt "$@"
;;
esac
Сделать скрипт исполняемым:
$ chmod u+x ~/bin/pinentry-wrapper
Укажите GnuGP использовать вашу версиюpinentry
(~/.gnupg/gpg-agent.conf
):
pinentry-program /home/neftas/bin/pinentry-wrapper
Перезапуститеgpg-agent
:
$ pkill -HUP gpg-agent
Создайте скрипт-оболочку дляpass
(~/bin/pass
):
#!/usr/bin/env bash
PINENTRY_USER_DATA=curses /usr/bin/pass "$@"
Сделать исполняемым:
$ chmod u+x ~/bin/pass
Убедитесь, что ~/bin
ищется первым в вашемPATH
(поместите это в свой.bashrc
):
$ export PATH="~/bin:$PATH"
Проверьте свою работу:
$ command -v pass
/home/neftas/bin/pass
Все эти скрипты были написаны для Arch Linux, поэтому места могут быть отличается в вашем дистрибутиве.