& ldquo; Небезопасные разрешения для файла конфигурации `/home/david/.gnupg/gpg.conf” Что это значит и как исправить?

Ответ Глютанимама велик. Если вам не нужны дополнительные опции «открыть файл с приложением по умолчанию» & amp; «открыть почтовый ящик для копирования пути к файлу» (который вы можете сделать, щелкнув правой кнопкой мыши по ссылке и выбрав свойства, а затем скопировав туда ссылку), затем используйте следующий скрипт. Это немного взломать, поскольку я только что взял оригинальный сценарий, и я вырезал материал, который мне не нужен.

Совместное использование в случае, если это полезно кому-то еще:

#!/bin/bash
#Title=open-the-link-target-in-nautilus
#Title[fr]=ouvrir-le-repertoire-cible-dans-nautilus

#==============================================================================
#                     open-the-link-target-in-nautilus
#
#  revision: snowguy
#  version : v2012091401
#  author  : SLK
#  revision based on version : v2011051501
#  license : Distributed under the terms of GNU GPL version 2 or later
#
#==============================================================================
#
#  description :
#    nautilus-script : 
#    opens the target of a symbolic link of the selected object; if 
#    the target of the symbolic link is a file, opens the parent folder
#
#  informations :
#    - a script for use (only) with Nautilus. 
#    - to use, copy to your ${HOME}/.gnome2/nautilus-scripts/ directory.
#
#  WARNINGS :
#    - this script must be executable.
#    - package "zenity" must be installed
#
#==============================================================================

#==============================================================================
#                                                                     CONSTANTS

# 0 or 1  - 1: doesn't open but displays a message
DRY_RUN=0

#------>                                       some labels used for zenity [en]
z_title='open the link target in nautilus'
z_err_bin_not_found='not found\nEXIT'
z_no_object='no object selected\nEXIT'
z_info_target='path of the target'
z_choice_open_nautilus='open target in nautilus'
z_choice_open_file='open file with default application'
z_choice_display_filepath='open a messagebox to copy filepath'

#------>                                       some labels used for zenity [fr]
#z_title='ouvrir le repertoire cible dans nautilus'
#z_err_bin_not_found='introuvable\nEXIT'
#z_no_object='aucun objet selectionne\nEXIT'
#z_info_target='chemin de la cible'
#z_choice_open_nautilus='ouvrir la cible dans nautilus'
#z_choice_open_file='ouvrir le fichier avec le programme par defaut'
#z_choice_display_filepath='ouvrir une boite de dialogue affichant le chemin du fichier'


#==============================================================================
#                                                                INIT VARIABLES

# may depends of your system
DIRNAME='/usr/bin/dirname'
GREP='/bin/grep'
NAUTILUS='/usr/bin/nautilus'
PERL='/usr/bin/perl'
READLINK='/bin/readlink'
XDG_OPEN='/usr/bin/xdg-open'
ZENITY='/usr/bin/zenity'

#==============================================================================
#                                                                     FUNCTIONS

function check_bin
{
    err=0
    for bin in $* ; do
        if [ ! -x "$bin" ] ; then
            $ZENITY --error --title "$z_title" \
              --text="$bin $z_err_bin_not_found"
            err=1
        fi
    done
    [ $err -eq 1 ] && exit 1
}

#==============================================================================
#                                                                          MAIN

# lets check for required binaries :
[ -x "$ZENITY" ] || {
    echo "[ERROR] $ZENITY not found : EXIT"
    exit 1
}
check_bin "$DIRNAME" "$GREP" "$NAUTILUS" "$PERL" "$READLINK"

# lets check if object is selected :
[ "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" == "" ] && {
    $ZENITY --error --title "$z_title" \
      --text="$z_no_object"
    exit 1
}

# retrieve the first object selected :
first_object=`echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" \
  | $PERL -ne 'print;exit'`

# lets check if local path :
[ `echo "$first_object" | $GREP -c "^/"` -eq 0 ] && {
    $ZENITY --error --title "$z_title" \
    --text="[ERROR] $first_object has not a valid path\nEXIT"
    exit 1
}


# retrieve the target path :
if [ -L "$first_object" ] ; then
    # symbolic link
    target=`$READLINK -f "$first_object"`
else
    # not a symbolic link :
    target="$first_object"
fi

if [ -d "$target" ] ; then
    # target is a directory
    target_to_open_in_nautilus="$target"

else
    # target is a file, let's take the parent directory
    target_to_open_in_nautilus=`$DIRNAME "$target"`

fi


### GO : let's open

$NAUTILUS --no-desktop "$target_to_open_in_nautilus"

exit 0


### EOF
1
задан 10 August 2013 в 04:32

2 ответа

Возможно, вы перенесли вашу папку .gnupg с другого компьютера или изменили другой способ с разрешениями на файлы.

GnuPG обеспечивает частное владение папкой и некоторыми файлами по соображениям безопасности.

Эти две строки фиксируют разрешения. Первый гарантирует, что папка ~/.gnupg (и все в ней) на самом деле принадлежит вам. Чтобы, возможно, догнать владение, он требует привилегий root, поэтому sudo. Вторая строка гарантирует, что никто, кроме вас, не сможет прочитать его содержимое (удалите права на чтение, запись и выполнение для группы и других пользователей). Ваше имя пользователя будет вставлено автоматически, поэтому вы можете скопировать строки непосредственно на ваш терминал:

sudo chown -R ${USER}:${USER} ~/.gnupg
chmod -R go-rwx ~/.gnupg
11
ответ дан 24 May 2018 в 19:11

Я столкнулся с той же проблемой. Оказалось, что я запускал команду gpg, используя sudo. Когда я снова попытался без sudo, он работал нормально и никаких ошибок не было. Итак, это может быть и для вас.

3
ответ дан 24 May 2018 в 19:11

Другие вопросы по тегам:

Похожие вопросы: