Glftpd
Instalacja serwera FTP na przykladzie GlFTPd
wchodzimy na strone:
sciagamy i rozpakowujemy paczke
$ cd glftpd-LNX_2.00
$ su
podajemy haslo
# sh installgl.sh
na poszczegolne pytania mozemy od np. tak:
Use tcpd? [Y]es [N]o: y
Use a jailed environment? [Y]es [N]o: y
Please enter the private directory to install glftpd inside [/jail]: /jail
Use a private group? [Y]es [No]: y
What would you like your private group to be called? : glftpd
Who should have access to glftpd? (separate with ,): yaro
Please enter the directory inside /jail to install glftpd to : /glftpd
Press <enter> for the default (glftpd)> glftpd
Failed to compile: /jail/glftpd/bin/sources/glupdate.c
tym sie nie trzeba przejmowac (chyba? :P )
Enter the port you would like glftpd to listen on [21]: 21
This is for glftpd's 'reset' binary (see docs for more info) [Y/N]: y
Please specify location, inside /jail/glftpd,
to install the cert (ftpd-dsa.pem) [/etc]: /etc
Please specify a generic name for this certificate.
This can be any name but should say something about the ftp server
like the name for it perhaps (press enter for glftpd): SirYaroFTP
obcialem wiekszosc komunikatow ale najwazniejsze jest podane
teraz bedzie generowal klucz wiec to troche potrwa... (1-3 minuty)
serwer sam wstanie i bedzie dzialal, sprawdzmy to:
# nmap localhost|grep 21
Starting nmap 3.75 ( http://www.insecure.org/nmap/ ) at 2005-04-21 14:21 CEST
21/tcp open ftp
przeedytujmy (jesli chcemy) konfig:
# mcedit /jail/glftpd.conf
shutdown 0
okresla czy serwer jest wlaczony czy nie
0 -tak
1-tylko dla admina
!*-wylaczony
linia zakomentowana - serwer wlaczony dla wszystkich
sitename_long MY[:space:]SITE[:space:]NAME
dluga nazwa serwera spacje zastepujemy [:space:]
sitename_short MSN
krotka nazwa serwera
email root@127.0.0.1
pod jakim mejlem mozna dorwac admina
rootpath /jail/glftpd
gdzie lezy serwer (nie trzeba zmieniac)
PONIZSZE zostawmy niezmienione:
-----------------------------------------
# Path relative to the ROOTPATH.
datapath /ftp-data
welcome_msg /ftp-data/misc/welcome.msg *
goodbye_msg /ftp-data/misc/goodbye.msg *
newsfile /ftp-data/misc/newsfile *
banner /ftp-data/misc/banner
# TLS enforcements.
userrejectsecure !*
userrejectinsecure !*
denydiruncrypted !*
denydatauncrypted !*
-----------------------------------------
color_mode 0
czy wyswietlac w kosloli listingi z uzyciem kolorow
wylaczamy - tylko problemy
postawmy znak # przedlinia
site_cmd LOCATE EXEC /bin/locate.sh
free_space 20
minimalnie ile miesjca musi byc aby zezwolono na upload
max_users 15 5
ilu userow moze jednoczesnie byc na serwie
total_users 300
ilu kont moze byc max na serwerze
# dupecheck how many days? ignore file case like Windows?
dupe_check 7 no
sprawdzanie czy plik juz istnieje na serwerze
przy dobrych laczach przydatne i to bardzo przy marnych robi problemy i to duze
wiec wylaczam je tak:
dupe_check 0 no
nodupecheck *
dl_incomplete 0
zakazujemy sciagania nie skonczonych plikow
min_homedir /site
powyzej tego katalogu nie mozna przejsc
teraz pare przykladow dodatkowej konfiguracji:
upload /site/katalog/* *
kazdy moze uploadowac do ww katalogu
upload /site/katalog/Encore/* -seem
do ww katalogu moze uploadowac tylko user seem
upload * -yaro -admin
wszedzie moze uploadowac tylko yaro i admin
download * *
sciagac moze kazdy z kazdego miejsca
rename * 1 =STAFF
globalnie zmieniac nazwy moze tylko user z ustawiona flaga 1 i grupa STAFF
renameown * *
zmieniac nazwy wlasnych plikow moze kazdy i wszedzie
delete * 1
globalnie kasowac nazwy moze tylko user z ustawiona flaga 1
privpath /site/Upload/by.Blaster -yaro 1 -blaster
ww katalog bedzie widoczny tylko dla usera yaro, blaster i usera z ustawiona flaga 1
to chyba wszystkie takie dodstawowe opcje...
teraz logujemy sie na serwer (login glftpd, haslo glftpd)
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 MY SITE NAME (glFTPd 2.00 Linux+TLS) ready.
Name (127.0.0.1:root): glftpd
331 Password required for glftpd.
Password:
230- _____
230- `-----( Type 'site onel MESSAGE' to enter your message )-----'
230 User glftpd logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
informacje o userze glftpd
ftp> site user glftpd
200- User Comment: glftpd
200- +=======================================================================+
200- | Username: glftpd Created: 0 |
200- | Added by: Expires: Never |
200- | Time On Today: 00:00 Last seen: Thu Apr 21 14:44:15 2005|
200- | Flags: 1 Idle time: Disabled |
200- | Ratio: 1:3 Credits: 4.9 MB |
200- | Total Logins: 2 Current Logins: 1 |
200- | Max Logins: 2 From same IP: Unlimited |
200- | Max Sim Uploads: Unlimited Max Sim Downloads: Unlimited |
200- | Max Upload Speed: 0.0 K/s Max Download Speed: 0.0 K/s |
200- | Times Nuked: 0 Bytes Nuked: 0 MB |
200- | Weekly Allotment: 0 MB Messages Waiting: N |
200- | Time Limit: 0 minutes. (0 = Unlimited) |
200- | Tagline: Glftpd default user |
200- | Groups: |
200- | Priv Groups: |
200- +-----------------------------------------------------------------------+
200- | IP0: *@127.0.0.1 IP1: |
200- | IP2: IP3: |
200- | IP4: IP5: |
200- | IP6: IP7: |
200- | IP8: IP9: |
200- +=======================================================================+
200 Command Successful.
ftp>
na dole jest podane z jakiego ip mozna sie logowac na to konto
aby zezwolic z kazdego nalezy wprowadzic jako ip *@*
widac tez tutaj ta wczesniej wspominana flage 1
dla ciekawych opis poszczegolnych flag:
Flagname Flag Description
-------------------------------------------------------------
SITEOP 1 User is siteop.
GADMIN 2 User is Groupadmin of one of his/her groups
(doesn't work for private groups).
GLOCK 3 User cannot change group.
EXEMPT 4 Allows to log in when site is full. Also allows
user to do "site idle 0", which is the same as
having the idler flag. Also exempts the user
from the sim_xfers limit in config file.
COLOR 5 Enable/Disable the use of color (toggle with "site color").
DELETED 6 User is deleted.
USEREDIT 7 "Co-Siteop"
ANON 8 User is anonymous (per-session like login).
wywolujemy informacje o istniejacych uzytkownikach:
tworzymy uzytkownika:
ftp> site adduser
200- .-------------------------------------------------------.
200- | USAGE: SITE ADDUSER <username> <password> <IP#1 - 5> |
200- | |
200- | <username> The username to add. |
200- | <password> The password to set for this user. |
200- | <IP#1 - 5> Optional: Up to 5 ips may be specified here. |
200- | |
200- | After you add a user, use "SITE ADDIP" to add IP's to |
200- | the new account. |
200- `-------------------------------------------------------'
200 Command Successful.
ftp> site adduser test test *@*
200- User created, now adding IPs...
200- IP '*@*' successfully added to test.
200-
200 User (test) successfully added.
ftp>
zmieniamy mu ustawienia (moze sciagac tylko 1 rzecz na raz i jest operatorem FTP)
ftp> site change
200- -----------------------------------------------------------
200- SITE CHANGE <username> <field> <value>
200- SITE CHANGE { <user1> <user2> } <field> <value>
200- SITE CHANGE =<group> <field> <value>
200- SITE CHANGE * <field> <value>
200- -----------------------------------------------------------
200-
200- Fields: ratio
200- sratio
200- wkly_allotment [#,]#
200- max_dlspeed
200- max_ulspeed
200- max_sim_down
200- max_sim_up
200- timeframe # #
200- credits
200- flags
200- homedir
200- idle_time
200- startup_dir
200- num_logins # [#]
200- time_limit
200- tagline
200- comment
200- expires [yyyy-mm-dd]
200- -----------------------------------------------------------
200 Command Successful.
ftp> site change test max_sim_down 1
200 Command Successful.
ftp> site change test flags +1
200 Command Successful.
ftp>
wyswietlmy te informacje:
ftp> site user test
200- User Comment: Added by glftpd
200- +=======================================================================+
200- | Username: test Created: 04-21-05 |
200- | Added by: glftpd Expires: Never |
200- | Time On Today: 00:00 Last seen: Thu Apr 21 14:52:41 2005|
200- | Flags: 13 Idle time: Disabled |
200- | Ratio: 1:3 Credits: 14.6 MB |
200- | Total Logins: 0 Current Logins: 0 |
200- | Max Logins: 2 From same IP: Unlimited |
200- | Max Sim Uploads: Unlimited Max Sim Downloads: 1 |
200- | Max Upload Speed: 0.0 K/s Max Download Speed: 0.0 K/s |
200- | Times Nuked: 0 Bytes Nuked: 0 MB |
200- | Weekly Allotment: 0 MB Messages Waiting: N |
200- | Time Limit: 0 minutes. (0 = Unlimited) |
200- | Tagline: No Tagline Set |
200- | Groups: |
200- | Priv Groups: |
200- +-----------------------------------------------------------------------+
200- | IP0: *@* IP1: |
200- | IP2: IP3: |
200- | IP4: IP5: |
200- | IP6: IP7: |
200- | IP8: IP9: |
200- +=======================================================================+
200 Command Successful.
ftp>
widac teraz ze ma flagi 1 i 3 oraz ze jest juz mozliwosc sciagania tylko w 1 sesji
jak beda jakies dodatkowe pytania to na nie odpowiem jednak zasadniczo wszystko jest w pliku
/jail/glftpd/docs/glftpd.docs
obszerny jak cholera praktycznie wszystko w nim jest
praktycznie wszystko w /jail/glftpd/site moze miec prawa 777 poniewaz serwer sam sie zajmuje kontrola uprawnien
w innym wypadku musimy zadbac aby serwer mial prawa do pisania po swoich katalogach
jesli chcemy udostepnic jakis katalog lezacy po za /jail/glftpd/site musimy to zrobic juz na poziomie systemu
mount --bind /katalog/zrodlowy/ /jail/glftpd/site/katalog/docelowy/
i dopisac to np do /etc/rc.local
serwer ma wiecej mozliwosci niz bedziemy kiedykolwiek potrzebowac....
wszystkie dostepne polecenia otrzymamy po wydaniu na serwerze polecenia
ftp> SITE HELP