решение1
Похоже, вы пытаетесь перенести 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.
Помните, что разрешения на файлы являются функцией безопасности. Всякий раз, когда вы позволяете кому-либо еще читать, записывать и выполнять файлы, вы увеличиваете риск подделки, изменения или удаления файлов. Как правило, вы должны предоставлять разрешения на чтение и запись только тем, кому они действительно нужны.