Настройка PROFTPD
/etc/init.d/proftpd - старт демона
/etc/init.d/proftpd restart - рестарт демона
Создадим мускульную базу ftp (UTF8_general_ci)
В ней две таблицы:
###############################################
CREATE TABLE IF NOT EXISTS `ftp_groups` (
`id` int(11) NOT NULL auto_increment,
`groupname` varchar(255) NOT NULL,
`gid` int(11) NOT NULL default '0',
`members` varchar(255) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `ftp_users` (
`id` int(11) NOT NULL auto_increment,
`userid` varchar(50) NOT NULL,
`passwd` varchar(100) NOT NULL,
`uid` int(11) NOT NULL default '0',
`gid` int(11) NOT NULL default '0',
`homedir` varchar(255) NOT NULL,
`shell` varchar(255) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
UNIQUE KEY `userid` (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
В последнюю внесем тетсовуб запись
INSERT INTO `ftp_users` (`id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`) VALUES
(1, 'user_login', 'user_password', 5010, 5010, '/home/user_login', '/bin/nologin')
##########################################################
Далее настраиваем конфиг:
ServerName .FTP Server World Programs.
DefaultServer on
Port 21
Umask 002
SQLConnectInfo ftp@localhost:3306 root rootpassword
SQLAuthTypes PlainText
SQLUserInfo ftp_users userid passwd uid gid homedir shell
DefaultRoot ~
RequireValidShell off
SQLGroupInfo ftp_groups groupname gid members
SQLAuthenticate users groups
SQLLogFile /var/log/
TimeoutLogin 120
TimeoutIdle 600
TimeoutNoTransfer 900
TimeoutStalled 3600
User proftpd
Group proftpd
MaxInstances 50
MaxClientsPerHost 5
AllowRetrieveRestart on
AllowStoreRestart on
AllowOverwrite on
AllowOverride off
RootLogin off
IdentLookups off
UseReverseDNS off
#DenyFilter .*
TimesGMT off
DefaultRoot ~
RLimitCPU 600 600
RLimitMemory 64M 64M
RLimitOpenFiles 1024 1024
TransferLog /var/log/
ExtendedLog /var/log/
LogFormat default .%h %l %u %t .%r. %s %b.
LogFormat auth .%v [%P] %h %t .%r. %s.
LogFormat write .%h %l %u %t .%r. %s %b.
ListOptions -a
############################################
Для организации разных пользователей к арзым папкам, можно использовать слудкющую примерную конструкцию:
DefaultRoot /usr/pub
<Directory /usr/pub/folder1>
<Limit ALL>
Order deny,allow
AllowUser user1,user2,user3
</Limit>
</Directory>
<Directory /usr/pub/folder2>
<Limit ALL>
Order deny,allow
AllowUser user2
</Limit>
</Directory>
############################################
|