Toto je starší verze dokumentu!
FTP Server
Jak nainstalovat a nakonfigurovat ftp server, vybral jsem si ProFTPD.
Instalace
Nejprve si vytvoříme strukturu do postgresql. Vytvoříme se uživatele v databázi.
CREATE USER ftpuser; REVOKE CREATE ON SCHEMA public FROM PUBLIC; REVOKE USAGE ON SCHEMA public FROM PUBLIC; GRANT CREATE ON SCHEMA public TO postgres; GRANT USAGE ON SCHEMA public TO postgres; CREATE DATABASE ftpserver WITH OWNER ftpuser;a změníme si pro uživatele ftpuser heslo
\password ftpuserdále vytvoříme strukturu
CREATE SEQUENCE seq_ftpuser_id START 1;
CREATE TYPE QuotaType AS ENUM ('user','group','class','all');
CREATE TYPE PerSession AS ENUM ('true','false');
CREATE TYPE LimitType AS ENUM ('soft','hard');
CREATE TABLE ftpgroup (
groupname varchar(16) NOT NULL,
gid smallint NOT NULL default 5500,
members varchar(16) NOT NULL default ''
);
CREATE TABLE ftpquotalimits (
name varchar(30) default NULL,
quota_type QuotaType NOT NULL default 'user',
per_session PerSession NOT NULL default 'false',
limit_type LimitType NOT NULL default 'soft',
bytes_in_avail bigint NOT NULL default 0,
bytes_out_avail bigint NOT NULL default 0,
bytes_xfer_avail bigint NOT NULL default 0,
files_in_avail integer NOT NULL default 0,
files_out_avail integer NOT NULL default 0,
files_xfer_avail integer NOT NULL default 0
);
CREATE TABLE ftpquotatallies (
name varchar(30) NOT NULL,
quota_type QuotaType NOT NULL default 'user',
bytes_in_used bigint NOT NULL default 0,
bytes_out_used bigint NOT NULL default 0,
bytes_xfer_used bigint NOT NULL default 0,
files_in_used int NOT NULL default 0,
files_out_used int NOT NULL default 0,
files_xfer_used int NOT NULL default 0
);
CREATE TABLE ftpuser (
id integer NOT NULL DEFAULT nextval('seq_ftpuser_id'),
userid varchar(32) NOT NULL,
passwd varchar(32) NOT NULL,
uid smallint NOT NULL default 2001,
gid smallint NOT NULL default 2001,
homedir varchar(255) NOT NULL,
shell varchar(16) NOT NULL default '/sbin/nologin',
count integer NOT NULL default 0,
accessed TIMESTAMP NOT NULL default current_timestamp,
modified TIMESTAMP NOT NULL default current_timestamp,
PRIMARY KEY (id),
UNIQUE (userid)
);nainstalujeme si ProFTPDapt-get install proftpd-mod-pgsqlvytvoříme si uživatele a skupinu pro fungování ftp
groupadd -g 2001 ftpgroup useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpusernakonfigurejeme si ftp server, začneme souborem /etc/proftpd/modules.conf, povolíme/zakážeme následující moduly