Существует две вероятных причины, что это могло произойти - Вы не имеете записи и выполняете полномочия на продвижении каталогов к каталогу, который Вы пытаетесь загрузить на, или vsftpd
настроен, чтобы не позволить Вам загружать.
В бывшем случае использовать chmod
и chown
как соответствующий, чтобы удостовериться, что у Вашего пользователя есть эти полномочия на каждом промежуточном каталоге. Запись укусила, позволяет нужному пользователю создавать, переименовывать, или удалять файлы в рамках каталога и изменять атрибуты каталога, пока чтение укусило, позволяет нужному пользователю перечислять файлы в рамках каталога. Так как промежуточные каталоги в пути также влияют на это, полномочия должны быть установлены, соответственно ведя до окончательного места назначения, на которое Вы намереваетесь загрузить.
В последнем случае посмотрите на Ваш vsftpd.conf
. write_enable
должно быть верным, чтобы позволить писать (и это - ложь по умолчанию). Существует хорошая документация относительно этого конфигурационного файла в man 5 vsftpd.conf
.
lib
папки - то, что содержит фактические двоичные библиотеки для компилятора, чтобы связаться с или включать в исполняемый файл, если он статически связан.
Где Вы имеете -lname
можно просто использовать фактическое местоположение .a
/.so
файлы.
Это только работает если .so
файл остается там. Это - то, если Вы динамично связываетесь с .so
файл. Если Вы добавляете -static
опция, чем он вытянет в двоичных данных из.a файла в Ваш исполняемый файл, когда это скомпилирует его. Затем не имеет значения, если Вы удаляете .a
/.so
файлы.
Вот хорошая ссылка для того, что динамические библиотеки и статические библиотеки и как создать их с gcc
. Чтение это поможет Вам много.