Veze, linkovi
Kompjuter biblioteka
Korpa

Preporučujemo

Kali Linux - Testiranje neprobojnosti veba - treće izdanje

Kali Linux - Testiranje neprobojnosti veba - treće izdanje

Popust cena: 1700 rsd

Administriranje Linux sistema - kuvar

Administriranje Linux sistema - kuvar

Popust cena: 2500 rsd

KAKO DA date FTP pristup nesistemskim korisnicima - prvi deo

Pomoću ProFTPD-a i njegovog SQL modula za MySQL, vi možete da date FTP pristup nesistemskim korisnicima.

Ako to uradite, moći ćete da date pristup Virtual User-u koji će biti jedini kome će biti dozvoljeno da koristi FTP servis.

Ovaj članak će vam pokazati kako da kreirate i ispunite user i group tabele kao i kako da konfigurišete proftpd kako bi mogao da koristi MySQL backend.

Da biste to postigli, vi treba da:

  1. kreirate lokalnog korisnika i grupu preko kojih će se logovanje ljudi obavljati.

  2. kreirate bazu podataka za proftpd kao i da date dozvole korisniku proftp baze podataka.

  3. ispunite bazu podataka.

  4. i konačno, konfigurišete proftpd.

1. Zahtevi

Pošto ćemo pokrenuti proftpd server i prijavljivati se koristeći mysql bazu podataka, mi treba da instaliramo obe kompnente plus mysql modul za proftpd:

# apt-get install proftpd proftpd-mysql mysql-server

Na Ubuntu i Debian-u, standardna root lozinka za MySQL je empty. Možda ćete želeti da je promenite tako što ćete ukucatu:

# mysqladmin -u root lozinka 'ovojemojalozinka'

2. Lokalni korisnik i grupa

U našem primeru, uid ftp korisnika i gid grupe će biti 3001 (ova vrednost će kasnije biti upotrebljena). Lokalni korisnik kojeg ćemo mi da kreiramo će imati /dev/null za home i shell /bin/false.

Da biste kreirali grupu i tip korisnika:

# groupadd -G 3001 ftpgroup
# useradd -s /bin/false -d /bin/null -c "proftpd user" --uid 3001 -g ftpgroup ftpuser

3. MySQL baza podataka

Sada je vreme da kreiramo bazu podataka, damo dozvole korisniku i konačno kreiramo tabele.
Baza podataka će se zvati proftpddb a korisnik proftpuser će moći da se konektuje sa localhost-a koristeći lozinku proftpdpassword.

3.1 Kreirajte bazu podataka

Ulogujte se u mysql kao root:

# mysql -u root -p

I kreirajte bazu podataka proftpddb:

mysql> CREATE DATABASE proftpddb;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT USAGE ON *.* TO proftpduser@localhost IDENTIFIED BY 'proftpdpassword';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON proftpddb.* TO 'proftpduser'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> quit

Nakon što smo kreirali bazu podataka i dali pristup specifičnom korisniku mi treba da kreiramo tabele koje će hostovati naše grupe i korisnike.

3.2. Kreiranje tabela baze podataka:

Postoje različiti načini za kreiranje tabela. Ili interaktivno kroz mysql komandnu liniju ili pomoću sql dump fajla.
U ovom slučaju mi ćemo kreirati dump fajl i ubaciti ga direktno iz shell komandne linije.

Kopirajte sledeći tekst u fajl koji se zove proftpd-mysql.sql:

CREATE TABLE ftpgroup (
groupname varchar(16) NOT NULL default '',
gid smallint(6) NOT NULL default '3000',
members varchar(16) NOT NULL default '',
KEY groupname (groupname)
) TYPE=MyISAM COMMENT='ProFTPd group table';

CREATE TABLE ftpuser (
id int(10) unsigned NOT NULL auto_increment,
userid varchar(32) NOT NULL default '',
passwd varchar(80) NOT NULL default '',
uid smallint(6) NOT NULL default '3000',
gid smallint(6) NOT NULL default '3000',
homedir varchar(255) NOT NULL default '',
shell varchar(16) NOT NULL default '/sbin/nologin',
count int(11) NOT NULL default '0',
accessed datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (id),
UNIQUE KEY userid (userid)
) TYPE=MyISAM COMMENT='ProFTPd user table';

Snimite ga i ukucajte:
# mysql -u root -p proftpddb < proftpd-mysql.sql
Imajte na umu da ovo morate da uradite kao root pošto proftpduser nema dozvole za kreiranje tabela u proftpddb bazi podataka.
Konačno, mi ćemo da kreiramo našeg prvog virtualnog ftp korisnika i grupu.

3.3. Prvi korisnik i grupa

Da bismo kreirali našeg prvog korisnika i lozinku, mi ćemo da se konektujemo koristeći pristup korisnika baze podataka koji smo upravo kreirali:

# mysql -u proftpduser -p proftpddb

a onda ćemo da kreiramo vašu prvu grupu:

mysql> INSERT INTO `ftpgroup` (`imegrupe`, `gid`, `members`) VALUES ('ftpgroup', 3001, 'ftpuser');

i vašeg firstuser-a koji će da pripada ovoj grupi:

mysql> INSERT INTO `ftpuser` (`id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`, `accessed`, `modified`) VALUES (1, 'firstuser', PASSWORD('lozinkakorisnika'), 3001, 3001, '/var/proftp/firstuser', '/sbin/nologin', 0, '', '');

Da bi vaš korisnik mogao da kopira i briše fajlove u svom home direktorijumu, vi treba da kreirate /var/proftp i date proftpuser/proftpgroup pristup pisanju u njega:

# mkdir /var/proftp
# chown ftpuser:ftpgroup /var/proftp
# chmod 775 /var/proftp

Sada još treba da konfigurišemo proFTPd da koristi našu novokreiranu bazu podataka kao backend. O tome čitajte u drugom delu ovog članka.

 

         
Twitter Facebook Linkedin Pinterest Email
         

Budite prvi koji će ostaviti komentar.

Ostavite komentar Ostavite komentar

 

 

 

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272
 
     
z