500 OOPS: vsftpd: отказ от запуска с возможностью записи root внутри chroot () Сохранить пользователя в тюрьме

Если я ошибаюсь, вы можете сделать это, отредактировав файл .sh в /etc/psychonauts и /etc/amnesia соответственно. Все, что вам нужно изменить, это добавить

optirun bash

в начале файла непосредственно после строки #!/bin/bash.

1
задан 13 April 2017 в 15:25

8 ответов

Реальное решение этой проблемы: домашняя папка пользователя не должна быть доступна для записи только для чтения.

Итак, если пользовательский сайт находится в папке cat/example.com/http/, папка cat должна иметь chmod 555, и все будет ОК.

15
ответ дан 25 May 2018 в 02:36
  • 1
    Это бессмысленно. Каталог пользователя не должен записываться ??? – Kevin Bowen 6 July 2013 в 03:53
  • 2
    Как именно пользователь должен UPLOAD файлов, если они не могут писать ?! – Cerin 6 August 2013 в 01:03
  • 3
    Это хорошо работает для анонимного ftp без прав загрузки, спасибо! – palacsint 29 March 2014 в 17:45
  • 4
    правильно! сейчас все в порядке – user1406691 28 May 2014 в 23:18
  • 5
    Это прекрасно работает! Просто создайте дом для пользователя с chmod 555, а затем внутри этого создайте дом для сайта (или веб-сайтов) с помощью chmod 755 или того, который вам нужен: все будет работать, и у пользователя будут права на запись. – lucaferrario 10 November 2014 в 13:59

Для VSFTPD 3,

Перейдите к: /etc/vsftpd.conf и добавьте это:
allow_writeable_chroot=YES

И он должен работать.

12
ответ дан 25 May 2018 в 02:36
  • 1
    Вопроситель фактически утверждает, что он уже пробовал это, и он не сработал, так что это не ответ на его вопрос. – Requist 15 December 2014 в 22:01
  • 2
    Где я могу прочитать о последствиях этого выбора для безопасности? – flickerfly 20 June 2015 в 00:09
  • 3
    работал на меня (об этом также упоминалось в комментарии принятого ответа) – Sverre 11 February 2016 в 16:13

Согласно предыдущему ответу «РЕАЛЬНОЕ решение этой проблемы: домашняя папка пользователя не должна быть доступна для записи только для чтения».

Для начала нам нужно построить топологию каталога пользователя:

/home (ro) |-someuser (rw,700) |-ftp_upload (ro,555) - ch_rooting here, required ro by vsftpd :( |-temp (rw,755) |-in_box (rw,755) |-out_box (rw,755) ]

vsftpd.conf cut:

#enable chrooting chroot_local_user=YES #chroot all users except listened inside chroot_list chroot_list_enable=YES #exception list, ideally should be blank ;) chroot_list_file=/etc/vsftpd/chroot_list #map ftp root dir to specifiec dir local_root=/home/someuser/ftp

Эта конфигурация отлично работает с однопользовательской конфигурацией, поскольку для многопользовательского пользователя следует дополнительно использовать директиву «user_config_dir».

* * UPDATE 20/09

------ **

Вот сложное обходное решение, а не лучшая идея для использования, но .... Если вам нужна перезаписываемая корневая папка ftp , просто вставьте команды изменения разрешений в команды перед запуском и после старта.

1) pre-start - изменение разрешений только на чтение, для чего требуется сервер (:

2) start server

3) post-start - изменить разрешение на чтение-запись или что вам нужно.

7
ответ дан 25 May 2018 в 02:36
  • 1
    Я пробовал много вариантов, но не мог заставить его работать на сервере WP. Это работает для вас в конфигурации WP? – Chris Hough 9 September 2013 в 23:42
  • 2
    посмотрите раздел обновления, mauby этот вариант может помочь u, это не совсем безопасно, но если нет других возможностей ... – Reishin 20 September 2013 в 21:10

Мне нужно было добавить следующее в файл /etc/vsftpd.conf:

seccomp_sandbox=NO

И не нужно настраивать репо !!

И раскомментировать line:

write_enable=YES
0
ответ дан 25 May 2018 в 02:36

Простое исправление заключается в том, чтобы сделать сообщение об ошибке: сделайте root незаписываемым, а затем, если вам нужно включить загрузку, создайте подкаталог, который имеет разрешение на запись. Не требуется никаких изменений конфигурации.

0
ответ дан 25 May 2018 в 02:36

После 3 часов работы в Интернете я получил Ubuntu 14.04.2 LTS VSFTPd 3. Домашняя папка будет видна / home / vimal после доступа к клиенту. Я вошел в систему с vimal с привилегиями root.

sudo chown vimal:vimal /home/vimal/ftpShare/

некоторые полезные команды:

sudo nano /etc/vsftpd.conf
sudo service vsftpd restart
sudo apt-get purge vsftpd
netstat -a | grep ftp
tcp        0        0        *:ftp         *:*        LISTEN
ftp://12.345.23.xxx/  for browser login

Выше означает, что демон ftp работает

I имеют следующую конфигурацию:

seccomp_sandbox=no
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=NO
secure_chroot_dir=/var/run/vsftpd/empty
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
allow_writeable_chroot=YES

После работы с FTP вы можете настроить его на конкретные нужды, некоторые из которых имеют значения по умолчанию, но я точно не помню.

некоторые полезные команды:

1. 500 OOPS: prctl PR_SET_SECCOMP не удалось

Решение.

seccomp_sandbox=no    

[добавить его в самую первую строку vsftpd.conf после окончания начального комментария]

1. 500 OOPS: prctl PR_SET_SECCOMP не удалось

allow_writeable_chroot=YES

Я добавил его в последнюю строку.

0
ответ дан 25 May 2018 в 02:36

Это в значительной степени то, что упомянул тостбой70. Сделайте ftp-root dir chown'd на ftp.ftp и не записываемым (/etc/vsftpd.conf): anon_root = / srv / ftp

Затем создайте записываемый дочерний каталог: / srv / ftp / загрузить

0
ответ дан 25 May 2018 в 02:36

Я решил проблему vsftpd, отказавшись запускать с корнем для записи внутри chroot () ubuntu на моем сервере следующим образом:

Я просто добавил ниже строку в файле vsftpd.conf ниже.

[ f1]
0
ответ дан 25 May 2018 в 02:36

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

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