Возникла надобность обменяться файлами с друзьями. Решил, что лучше всего для выполнения этой задачи подойдет FTP сервер. Сказано - сделано. Поехали.
Оговорка: сервер не находится за NAT, порт смотрит прямо в инет.
1. Устанавливаем proftpd:
apt-get install proftpd
В процессе установки выбираем standalone.
2. Добавим нашего ftp юзера, одновременно запрещая ему доступ к shell:
adduser guest --shell /bin/false
3. Дадим полные права на домашний каталог (с правами будем разбираться в конфиге):
chmod 777 -R /home/guest
4. Откроем proftpd.conf и начнем настройку proftpd:
nano /etc/proftpd/proftpd.conf
тут я опишу что у меня отличается от дефолтного proftpd.conf
DefaultRoot /home/guest # "запираем" пользователя guest в своем каталоге
Port 21 #стандартный FTP порт, его надо открыть или изменить на тот который нравится, в этом случае на стороне клиента придется его указать.
RequireValidShell off # запрещаем shell
PassivePorts 49555 49556 #открываем произвольные порты, нужно для пассивного режима, если FTP клиент в активном режиме, то можно этого не делать
запрещаем юзеру удалять и записывать в домашний католог и вложенные в него (тут можно варьировать, изменяя пути к каталогам и лимиты):
<Directory /home/guest/*>
<Limit DELE WRITE>
DenyAll
</Limit>
</Directory>
Для того, чтобы в логах proftpd отображалось правильное время добавим строки:
TimesGMT off
SetEnv TZ :/etc/localtime
Сохраняем, выходим.
5. Корректно выставляем время:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
6. Проверяем:
ls -l /etc/localtime
7. Перезапускаем proftpd
/etc/init.d/proftpd restart
Если нужные порты открыты, то все должно заработать.
Оговорка: сервер не находится за NAT, порт смотрит прямо в инет.
1. Устанавливаем proftpd:
apt-get install proftpd
В процессе установки выбираем standalone.
2. Добавим нашего ftp юзера, одновременно запрещая ему доступ к shell:
adduser guest --shell /bin/false
3. Дадим полные права на домашний каталог (с правами будем разбираться в конфиге):
chmod 777 -R /home/guest
4. Откроем proftpd.conf и начнем настройку proftpd:
nano /etc/proftpd/proftpd.conf
тут я опишу что у меня отличается от дефолтного proftpd.conf
DefaultRoot /home/guest # "запираем" пользователя guest в своем каталоге
Port 21 #стандартный FTP порт, его надо открыть или изменить на тот который нравится, в этом случае на стороне клиента придется его указать.
RequireValidShell off # запрещаем shell
PassivePorts 49555 49556 #открываем произвольные порты, нужно для пассивного режима, если FTP клиент в активном режиме, то можно этого не делать
запрещаем юзеру удалять и записывать в домашний католог и вложенные в него (тут можно варьировать, изменяя пути к каталогам и лимиты):
<Directory /home/guest/*>
<Limit DELE WRITE>
DenyAll
</Limit>
</Directory>
Для того, чтобы в логах proftpd отображалось правильное время добавим строки:
TimesGMT off
SetEnv TZ :/etc/localtime
Сохраняем, выходим.
5. Корректно выставляем время:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
6. Проверяем:
ls -l /etc/localtime
7. Перезапускаем proftpd
/etc/init.d/proftpd restart
Если нужные порты открыты, то все должно заработать.
Комментариев нет:
Отправить комментарий