Відмінності між версіями «Install FTP Server»

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку
Рядок 68: Рядок 68:
  
 
Добпвляємо користувача  
 
Добпвляємо користувача  
−
 
+
<pre>
−
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`)  
+
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');''
+
VALUES (''''exampleuser'''', '1', MD5(''''secret''''), '2001', '2001', '/home/www.example.com', '100', '100', '', '*', '50', '0');''
−
 
+
</pre>
 
Якщо потрібний анонімний FTP (/var/ftp) то у файлі /etc/pure-ftpd/pure-ftpd.conf  
 
Якщо потрібний анонімний FTP (/var/ftp) то у файлі /etc/pure-ftpd/pure-ftpd.conf  
  

Версія за 12:22, 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

MYSQLSocket      /var/lib/mysql/mysql.sock
#MYSQLServer     localhost
#MYSQLPort       3306
MYSQLUser       pureftpd
MYSQLPassword   ftpdpass
MYSQLDatabase   pureftpd
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
MYSQLCrypt      md5
MYSQLGetPW      SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID     SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID     SELECT Gid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir     SELECT Dir FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTASZ   SELECT QuotaSize FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS   SELECT QuotaFiles FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

Запускаємо

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