Предлагаю свой пример настройки ftp-сервера vsftpd.
1) Устанвка vsftpd:
sudo apt-get install vsftpd
После установки появится папка ftp в папке /home/
2) Отредактируем конфигурационный файл:
sudo gedit /etc/vsftpd.conf
Пример моего конфига:
#возможность работы в автономном режиме
listen=YES
#позволяем анонимных пользователей, учетки anonymous и ftp являются синонимами
anonymous_enable=YES
#разрешаем локальных пользователей (локальные пользователи - это те, которые
#зарегестрированы в системе, то есть на них есть учетные записи)
local_enable=YES
#права
local_umask=077
#запрещаем анонимным пользователям upload
anon_upload_enable=NO
#запрещаем анонимным пользователям создавать директории
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
#разрешаем соединение по 20 порту
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
И два небольших скрипта для монтирования папок Nautilus:
Набираем в терминале:
mkdir .gnome2/nautilus-scripts/ftp
gedit .gnome2/nautilus-scripts/ftp
3) Скрипт на монтирование папок:
#!/bin/bash
#mount_folder_ftp
#Только названия одним словом (без пробелов)!!!
gksudo -k /bin/echo "got r00t?"
BASENAME=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
sudo mkdir "/home/ftp/$BASENAME"
sudo mount -o bind $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS "/home/ftp/$BASENAME"
done
Сохраняем файл с названием Mount_folder
gedit .gnome2/nautilus-scripts/ftp
4) Скрипт на размонтирование папок:
#!/bin/bash
#umount_folder_ftp
#Только названия одним словом (без пробелов)!!!
gksudo -k /bin/echo "got r00t?"
BASENAME=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
sudo umount $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
sudo rm -r "/home/ftp/$BASENAME"
done
Сохраняем файл с названием Umount_folder
5) И что б это всё заработало нужно дать следующее права файлам:
В директории где были созданы эти файлы (.gnome2/nautilus-scripts/ftp) выполнить:
chmod +x Mount_folder
chmod +x Umount_folder
Теперь кликая на папку правой кнопкой в секции сценарии /ftp:
Mount_folder - монтирование папки в /home/ftp/$BASENAME //$BASENAME - имя папки
Umount_folder - размонтирование указанной папки!
Это пример настройки указанного фтп сервера на раздачу. Для настройки на приём следует править файл /etc/vsftpd.conf.
Монтируются и размонтируются папки с цельными именами (без пробелов).
Если папки были примонтированы, то после перезагрузки они отмонтируются, так как они не прописываются в /etc/fstab.
Папки примонтированные в директорию /home/ftp после перезагрузки не удаляются.
<-------------------------------------------------18.07.09------------------------------------------------->
Несколько модифицировал скрипт для монтирования папок на фтп.
Изменения:
1) Монтируются папки с именами содержащие пробелы
2) Графическая оболочка
3) Всё помещено в один скрипт-файл.
Применение!
Сохранить под любым именем, например "FTP.sh"
Выдать права chmod +x Имя_скрипта, например "chmod +x FTP.sh"
Поместить в .gnome2/nautilus-scripts/
Вот собственно скрипт:
#!/bin/bash
#Монтирование/демонтирование папок на FTP
Item=$(zenity --title "FTP 1.5" --list --text "Выберите один из пунктов" \
--radiolist --column "#" --column "Операция" True "Монтировать папку" False "Демонтировать папку")
if [ "$Item" == "Монтировать папку" ]; then
gksudo -k /bin/echo "Got root?"
BASENAME=`basename "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"`
sudo mkdir /home/ftp/"$BASENAME"
sudo mount -o bind "$BASENAME" /home/ftp/"$BASENAME"
exit 1
fi
if [ "$Item" == "Демонтировать папку" ]; then
gksudo -k /bin/echo "Got root?"
BASENAME=`basename "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"`
sudo umount "$BASENAME"
sudo rm -r /home/ftp/"$BASENAME"
exit 1
fi
пятница, 5 февраля 2010 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий