Відмінності між версіями «Install FTP Server»
Перейти до навігації
Перейти до пошуку
| Рядок 45: | Рядок 45: | ||
Редагуємо /etc/pure-ftpd/pureftpd-mysql.conf | Редагуємо /etc/pure-ftpd/pureftpd-mysql.conf | ||
| − | <pre>MYSQLSocket | + | <pre> |
| − | + | #MYSQLServer 127.0.0.1 | |
| − | + | # MYSQLPort 3306 | |
| − | + | MYSQLSocket /var/lib/mysql/mysql.sock | |
| − | MYSQLPassword | + | |
| + | MYSQLUser andrew | ||
| + | |||
| + | MYSQLPassword fks,f,f | ||
| + | |||
MYSQLDatabase pureftpd | MYSQLDatabase pureftpd | ||
| − | + | ||
MYSQLCrypt md5 | MYSQLCrypt md5 | ||
| − | MYSQLGetPW SELECT Password FROM | + | |
| − | MYSQLGetUID SELECT Uid FROM | + | |
| − | MYSQLGetGID SELECT Gid FROM | + | MYSQLGetPW SELECT Password FROM users WHERE User="\L" |
| − | MYSQLGetDir SELECT Dir FROM | + | MYSQLGetUID SELECT Uid FROM users WHERE User="\L" |
| − | + | #MYSQLDefaultUID 1000 | |
| − | + | MYSQLGetGID SELECT Gid FROM users WHERE User="\L" | |
| − | + | #MYSQLDefaultGID 1000 | |
| − | + | MYSQLGetDir SELECT Dir FROM users WHERE User="\L" | |
| + | MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="\L" | ||
| + | |||
| + | # Optional : bandwidth throttling. | ||
| + | # Values are in KB/s . | ||
| + | MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" | ||
| + | MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L" | ||
| + | |||
| + | # MySQLForceTildeExpansion 1 | ||
| + | # MySQLTransactions On | ||
</pre> | </pre> | ||
Запускаємо | Запускаємо | ||
Версія за 14:46, 10 листопада 2009
Ставимо додаткові репозиторії читати тут
yum install pure-ftpd
Створюємо користувача та групу (uid для прикладу 2001)
groupadd -g 2001 ftpgroup useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
Дані про користувачі будемо тримати в базі MySQL (логін/пароль pureftpd/ftpdpass )
mysql -u root -p
CREATE DATABASE pureftpd; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'ftpdpass'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass'; FLUSH PRIVILEGES;
USE pureftpd;
CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;
quit;
Редагуємо /etc/pure-ftpd/pure-ftpd.conf Замінюємо у файлі на
ChrootEveryone yes MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf CreateHomeDir yes
Редагуємо /etc/pure-ftpd/pureftpd-mysql.conf
#MYSQLServer 127.0.0.1 # MYSQLPort 3306 MYSQLSocket /var/lib/mysql/mysql.sock MYSQLUser andrew MYSQLPassword fks,f,f MYSQLDatabase pureftpd MYSQLCrypt md5 MYSQLGetPW SELECT Password FROM users WHERE User="\L" MYSQLGetUID SELECT Uid FROM users WHERE User="\L" #MYSQLDefaultUID 1000 MYSQLGetGID SELECT Gid FROM users WHERE User="\L" #MYSQLDefaultGID 1000 MYSQLGetDir SELECT Dir FROM users WHERE User="\L" MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="\L" # Optional : bandwidth throttling. # Values are in KB/s . MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L" # MySQLForceTildeExpansion 1 # MySQLTransactions On
Запускаємо
chkconfig --levels 235 pure-ftpd on /etc/init.d/pure-ftpd start
Добпвляємо користувача
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`)
VALUES (''''exampleuser'''', '1', MD5(''''secret''''), '2001', '2001', '/home/www.example.com', '100', '100', '', '*', '50', '0');''
Якщо потрібний анонімний FTP (/var/ftp) то у файлі /etc/pure-ftpd/pure-ftpd.conf
NoAnonymous no AntiWarez no AnonymousBandwidth 8 AnonymousCantUpload no