2024. május 4., szombat

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

Hosting környezet Debian 6 alatt

Ingyenes webhosting panel, ami képes virtualizálásra is? Igen! ISPConfig 3 és OpenVZ telepítési útmutató.

[ ÚJ TESZT ]

A PureFTPd nyugdíjazása

Nem tudom ki hogy van vele, de nekem a PureFTPd-nél sokkal szimpatikusabb a ProFTPd. Az ISPConfig kettes verziójában még ez volt az alapértelmezett FTP szerver, ráadásul a paramétereinek módosítása is sokkal egyszerűbb. Lehet ez csak az én furcsaságom, de úgy döntöttem, hogy nyugdíjaztatom a PureFTPd-t és visszaváltok ProFTPd-re. Természetesen ez is megoldható egy kis ügyeskedéssel, ráadásul semmi hátrányt nem jelent a dolog, mert a folyamat végeztével minden ugyanúgy fog működni, mint azelőtt. (Na jó, egy hátulütője talán mégis van a dolognak. Mivel egy ISPConfig fájlt is érint a folyamat, ezért egy esetleges frissítés esetén elveszhet a módosításunk, erre azért figyeljünk).

Töröljük a PureFTPd-t:

apt-get remove pure-ftpd-common pure-ftpd-mysql

Telepítsük a ProFTPd-t:

apt-get install proftpd proftpd-mod-mysql

Ha rákérdez, akkor a "standalone" módot válasszuk.

Hozzunk létre neki egy csoportot és felhasználót:

groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser

Módosítsuk kicsit az ISPConfig adatbázisát:

mysql -u root -p
Use dbispconfig

Az első parancs kiadása után kérni fogja a MySQL root jelszót, adjuk meg neki.

Hajtsuk végre a következő módosításokat a táblán:

ALTER TABLE `ftp_user` ADD `shell` VARCHAR( 18 ) NOT NULL DEFAULT
'/sbin/nologin',
ADD `count` INT( 11 ) NOT NULL DEFAULT '0',
ADD `accessed` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
ADD `modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';
CREATE TABLE ftp_group (
groupname varchar(16) NOT NULL default '',
gid smallint(6) NOT NULL default '5500',
members varchar(16) NOT NULL default '',
KEY groupname (groupname)
) TYPE=MyISAM COMMENT='ProFTP group table';
INSERT INTO `ftp_group` (`groupname`, `gid`, `members`) VALUES
('ftpgroup', 2001, 'ftpuser');

Nyissuk meg az ISPConfig konfigurációs fájlját:

nano /usr/local/ispconfig/interface/lib/config.inc.php

Keressük ki az ISPConfig adatbázisának jelszavát és írjuk fel valahova (Keressük a "db_password" mögött).

Módosítsuk a ProFTPd konfigurációját és engedélyezzük az SQL modult:

nano /etc/proftpd/proftpd.conf

Szedjük ki a kettőskeresztet az include elől, hogy ezt kapjuk:

Include /etc/proftpd/sql.conf

Ctrl + o majd Ctrl +x.

Nyissuk meg a ProFTPd SQL konfigurációs fájlját:

nano /etc/proftpd/sql.conf

Másoljuk bele a következőket:

#
# Proftpd sample configuration for SQL-based authentication.
#
# (This is not to be used if you prefer a PAM-based SQL authentication)
#

<IfModule mod_sql.c>
DefaultRoot ~

SQLBackend mysql

# The passwords in MySQL are encrypted using CRYPT

SQLAuthTypes Plaintext Crypt

SQLAuthenticate users groups

# used to connect to the database
# databasename@host database_user user_password
SQLConnectInfo dbispconfig@localhost ispconfig _IRDIDEAJELSZOT_

# Here we tell ProFTPd the names of the database columns in the "usertable"
# we want it to interact with. Match the names with those in the db
SQLUserInfo ftp_user username password uid gid dir shell

# Here we tell ProFTPd the names of the database columns in the "grouptable"

# we want it to interact with. Again the names match with those in the db
SQLGroupInfo ftp_group groupname gid members

# set min UID and GID - otherwise these are 999 each
SQLMinID 500

# create a user's home directory on demand if it doesn't exist
CreateHome off

# Update count every time user logs in
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser

# Update modified everytime user uploads or deletes a file
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

RootLogin off

RequireValidShell off

</IfModule>

Fontos: A fenti szöveg bemásolása után keresd meg az _IRDIDEAJELSZOT_ részt, töröld ki és másold be az imént leírt ISPConfig MySQL jelszavát.

Ezután Ctrl + o majd Ctrl + x.

Engedélyezzünk még két modult:

nano /etc/proftpd/modules.conf

Ismét szedjük ki a kettős keresztet a loadmodule elől két helyen is:

LoadModule mod_sql.c
LoadModule mod_sql_mysql.c

Ctrl + o majd Ctrl + x.

Indítsuk újra a ProFTPd-t:

/etc/init.d/proftpd restart

Még egy apró módosítás az ISPConfig kódjában és kész is vagyunk:

nano /usr/local/ispconfig/interface/web/sites/ftp_user_edit.php

Keressük meg a következőt:

$uid = $web["system_user"];
$gid = $web["system_group"];

És cseréljük le erre:

$userinfo = posix_getpwnam($web["system_user"]);
$uid = $userinfo['uid'];
$gid = $userinfo['gid'];

Kész is vagyunk!

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.