четверг, 25 января 2007 г.

Запись на ntfs с помощью ntfs-3g

Сделал себе запись на ntfs с помощью ntfs-3g драйвера.
Шаг 1. Установка.
Так как это софт еще "сырой", то для того чтобы использовать его на стабильной системе его нужно размаскировать:
echo "sys-fs/ntfs3g" >> /etc/portage/package.keywords
echo "sys-fs/fuse" >> /etc/portage/package.keywords

sys-fs/fuse мы размаскировали, как зависимость к ntfs3g.
Теперь собственно устанавливаем:
emerge sys-fs/ntfs3g

После установки выполняем:
modules-update

Шаг 2. Использование
Полный доступ для всех пользователей:
ntfs-3g /dev/sda1 /mnt/windows

Тоже самое, только с поддержкой конкретной локали:
ntfs-3g /dev/sda1 /mnt/windows -o locale=ru_RU.utf8

Монтирование при загрузке
echo "/dev/sda1 /mnt/windows ntfs-3g locale=ru_RU.utf8 0 0" >> /etc/fstab

Русский распознается и без locale=ru_RU.utf8 в принципе :)

В общем, работает запись отлично :)

пятница, 19 января 2007 г.

vsftpd

Наконец-то я выбрал таки ftp-сервер. И выбор мой как вы поняли остановился на vsftpd, правда не на официальном, а на vsftpd от http://vsftpd.devnet.ru/rus/, т.к. он имеет дополнительные возможности.
Теперь опишу причины, по которым я выбрал именно vsftpd:
1. Простой и удобный файл конфигурации с отличной документацией в man vsftpd.conf.
2. Виртуальные пользователи. Отлично работает, хотя мне это пока не нужно, но кто знает.
3. Мощнейшее управление пользователями.
4. Интеграция с SSL. (Еще предстоит настроить)
5. Поддержка перекодировок. Можно прописывать для каждого пользователя отдельно.
6. Возможность задавать правила доступа для анонимных пользователей.

Шаг 1. Установка. (Gentoo Linux)
Скачиваем архив с ebuild'ом vsftpd-2.0.5e.
Распаковываем содержимое в свой overlay, у меня это /usr/overlay/portage. Далее скачиваем сам vsftpd и кладём в /usr/portage/distfiles/.
После того как все это сделано, набираем emerge vsftpd.
Шаг 2. Настройка.
Сначала нужно определиться что нам нужно от сервера. Лично мне нужно было, пускать анонимусов с правом записи в /home/ftp/incomming и чтением всего остального. Далее пускать только определенных локальных пользователей в определенные директории. Для анонимусов, т.к. они все у меня пользуются виндовсом, сделать перекодировку utf8(сервер)<->cp1251(клиент), для остальных пользователей перекодировку не делать.
Конфигурационный файл сервера находится в /etc/vsftpd/vsftpd.conf.
listen=YES #запускается без использования xinetd.
listen_address=172.16.23.125 #привязка к ip и порту.
listen_port=30005
anonymous_enable=YES #разрешаем вход анонимусам.
local_enable=YES #разрешаем вход локальным пользователям.
write_enable=YES #разрешаем выполнение команд STOR, DELE, RNFR, RNTO, MKD, RMD, APPE and SITE.
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES #даем анонимусам право записи и т.п.
dirmessage_enable=YES #показывать сообщение при первом входе в каталог.
connect_from_port_20=YES
chown_uploads=YES #изменять владельца загуржаемых файлов
chown_username=ftpserg #собственно указывается новый владелец
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
data_connection_timeout=120
nopriv_user=nobody
ascii_upload_enable=NO
ascii_download_enable=NO
ftpd_banner=Welcome to CrazyNetwork FTP server.
convert_charset_enable=YES #включаем перекодировку
local_charset=UTF8 #локаль сервера
remote_charset=WIN1251 #локаль клиента
user_config_dir=/etc/vsftpd/vusers #указываем директорию с конфигурациями наших пользователей
chroot_local_user=YES #чрутим локальных пользователей в их домашний каталог
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
userlist_file=/etc/vsftpd/user_list #список пользователей которым позволено подключаться к серверу
userlist_enable=YES # сами
userlist_deny=NO # правила

В /etc/vsftpd/user_list прописываем имена пользователей, которым будет разрешено подключаться к серверу, каждое имя с новой строки, анонимуса тоже следует вписать :)
Сейчас у нас сервер настроен на допуск пользователей из списка с перекодировкой utf8<->cp1251. Для пользователя ftpserg отключим перекодировку. Для этого создаём файл: /etc/vsftpd/vusers/ftpserg и прописываем туда строку:
convert_charset_enable=NO

Если этого пользователя надо чрутнуть не в /home/ftp, а наример в /var/www/mysite.com/, то в этот же файл пишем следующее:
local_root=/var/www/mysite.com/

Да, еще нужно правильно выставить правда на содержимое вашего ftp-сервера. Чтобы анонимусы могли писать в incomming на это папку следует поставить права 777 или 773, кому как нравится :)
Шаг 3. Запуск.
/etc/init.d/vsftpd start

И все, радуемся жизни :)

P.S. Про SSL еще напишу.