Я пытаюсь scp (Secure Copy) файл с удаленного сервера на локальный компьютер. Команда, которую я использую, это:

scp user@server:/path/to/source/file.gz /path/to/destination

Но ошибка, которую я получаю, заключается в следующем:

scp: /path/to/source/file.gz: No such file or directory

«Пользователь» в команде scp - это мое имя пользователя на сервере. Синтаксис команды выглядит хорошо для меня. ssh работает нормально, и я могу cd к файлу, и это не похоже на проблему контроля доступа?

РЕДАКТИРОВАТЬ: Спасибо, Джон. Я заметил проблему.

ls вернул это:

-r--r--r-- 1 nobody users 168967171 Mar 10  2009 /path/to/source/file.gz

Таким образом, файл находился в файловой системе только для чтения, и пользователь может читать его, но не scp . Я просто скопировал файл в другую директорию, chown его и работал нормально. Было бы хорошо, если бы кто-то мог объяснить, почему это так.

1 ответ1

1

Права доступа r (только) не указывают на файловую систему только для чтения. Они указывают, что файл доступен только для чтения.

Третий r указывает, что любой может прочитать файл, поэтому проблем быть не должно.

Вопрос в том, каковы разрешения для родительского каталога этого файла? Однако, если они не правы, вы должны были получить ошибку «Отказано в разрешении».

Существуют ли другие условия, которые могут повлиять на доступность этого файла, такие как монтирование NFS и т.д.?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .