Недавно я построил блокчейн-систему о Hyperledger. Я обнаружил ошибку «Отказано в доступе» во время передачи MSPservice другому узлу. Пожалуйста, обратитесь ниже.
Похоже, вы пытаетесь scp
файл с одной машины (или виртуальной машины) на другую. Когда вы вводите команду scp
, вы аутентифицируетесь в удаленной системе, используя пользователя ssgyee
, так как именно этого пользователя вы указываете в команде. Это не соответствует пользователю fabric
, который, вероятно, является владельцем каталога /home/fabric
.
В качестве очень быстрого теста вы можете попробовать scp
передать файл в удаленный каталог /tmp
или каталог в /home/ssgyee
. У вас должно быть разрешение на запись в эти каталоги, и scp
должен работать в этом тестовом примере.
В удаленной системе взгляните на разрешения целевого или целевого каталога:
ls -lsha /home/
Я подозреваю, что это покажет fabric:fabric
владеющего /home/fabric
, и это вменяемое и безопасный по умолчанию. У каждого пользователя есть каталог в пределах /home
, которым он управляет. Если вы хотите, чтобы была возможность записи в каталог /home/fabric
, вам нужно будет аутентифицироваться как fabric
, или добавить ssgyee
в группу fabric
, используя groupadd
, или отредактировав /etc/group
. Помимо нахождения в группе, для /home/fabric
(или любого другого каталога внутри) потребуются разрешения на чтение, запись и выполнение группы.
Файлы принадлежат пользователям и группам. Файлы имеют определенные разрешения для каждого пользователя, группы, а затем «всех остальных». Пользователи и группы Linux, а также владение и права доступа к файлу очень важны для понимания при работе с Linux.
Помните, что права доступа к файлам являются функцией безопасности. Всякий раз, когда вы разрешаете кому-либо читать, записывать и выполнять файлы, вы увеличиваете риск подделки, изменения или удаления файлов. Как правило, вы должны предоставлять разрешения на чтение и запись только тем, кто действительно в них нуждается.
BLOCKQUOTE>