Portál AbcLinuxu, 14. května 2025 02:47

Dotaz: chroot vsftpd uzivatelu

29.1.2007 16:42 lg
chroot vsftpd uzivatelu
Přečteno: 1029×
Odpovědět | Admin
Ahoj, mam problem s chrootem uzivatelu na ftp. Pouzivam vsftpd 2.0.3-1 a debian sarge. Kdyz v /etc/vsftpd.conf pouziju chroot_local_user=YES tak jsou vsichni uzivatele chrootnuti ve svem domovskem adresari. Potreboval bych nektere uzivatele chrootnout do sveho domovskeho adresare a nektere do jineho adresare nez domovskeho. Napriklad takto:
uzivatel | home_dir  |   chroot
a          /home/a/      /home/a/
b          /home/b/      /home/b/   
c          /home/c/      /home/chroot/    
d          /home/d/      /home/chroot/  
V /etc/vsftpd.conf se pise neco o chroot_list_enable=YES a chroot_list_file=/etc/vsftpd.chroot_list. Nikde jsem ale nenasel co do tohoto souboru zapsat. Predem dekuji za jakoukoli radu.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.1.2007 16:59 eM.
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
Odpovědět | | Sbalit | Link | Blokovat | Admin
aneb jak pisou v manualu:
The option is the name of a file containing a list of local users which will be placed in a chroot() jail in their home directory. This option is only relevant if the option chroot_list_enable is enabled. If the option chroot_local_user is enabled, then the list file becomes a list of users to NOT place in a chroot() jail.
takze v tom fajlu bude jen seznam lokalnich uzivatelu, kterym se maji dat do chrootu. chrootuji se do adresare, ktery maji jako domovsky.

ja to mam tedy udelane trosku jinak, protoze obsluhuji vice nez 10 useru, kteri seprihlasiji pres ftp, tak jsem veskere tyto usery oznacil jako virtualni a ulozil do MySQL.

potom pouzivam direktivu:

user_config_dir
(viz manual: user_config_dir
    This powerful option allows the override of any config option specified in the manual page, on a per-user basis. Usage is simple, and is best illustrated with an example. If you set user_config_dir to be /etc/vsftpd_user_conf and then log on as the user "chris", then vsftpd will apply the settings in the file /etc/vsftpd_user_conf/chris for the duration of the session. The format of this file is as detailed in this manual page! PLEASE NOTE that not all settings are effective on a per-user basis. For example, many settings only prior to the user's session being started. Examples of settings which will not affect any behviour on a per-user basis include listen_address, banner_file, max_per_ip, max_clients, xferlog_file, etc.]
to bude asi mozna to co hledate, protoze pak pro kazdeho uzivatele muzete nastavit specialni adresar, kam se chrootnout. syntaxe toho fajlu bude nasledujici:
local_root=/var/www-user/NEJAKY_ADRESAR_TREBA_S_WEBEM
write_enable=YES
ale jestli tato direktiva funguje i pro praci s lokalnima userama, nevim.
29.1.2007 17:26 lg
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
Moh byste mi prosim rict jak jste dal ty utivatele do MySQL? Ja nasel akorat neco z db_load a to mi na debianu nefunguje.
29.1.2007 17:55 eM
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
no, popravde receno, lze to, ale je to porod jako blazen. aneb jak pisou ve FAQ: http://www.vsftpdrocks.org/faq/
Q) Help! Does vsftpd support virtual users?
A) Yes, via PAM integration. Set "guest_enable=YES" in /etc/vsftpd.conf. This
has the effect of mapping every non-anonymous successful login to the local
username specified in "guest_username". Then, use PAM and (e.g.) its pam_userdb
module to provide authentication against an external (i.e. non-/etc/passwd)
repository of users.
Note - currently there is a restriction that with guest_enable enabled, local
users also get mapped to guest_username.
There is an example of virtual users setup in the "EXAMPLE" directory.
no a vzhledem k tomu, ze pisou o PAM, tak jsem to zrealizoval pres pam_mysql. Popravde receno, ztravil jsem nad tim docela dost casu, nez jsem prisel na to, ze verze, ktera je v debianim repozitari (mam Sarge) je nefunkcni a ze je nutno pouzit nejnovejsi verzi. Tj. musite si ji prelozit.

http://pam-mysql.sourceforge.net/

ja mam nasazenou verzi pam_mysql-0.7pre3. Novejsi jsem uz nezkousel, protoze tato mi chodi.

a pote jeste zkonfigurujete /etc/pam.d/ftp takto:
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required pam_mysql.so user=vftp passwd=TAJNY_HESLO host=localhost db=vftp table=vftpd_users usercolumn=username passwdcolumn=password crypt=0 verbose=0 where=status="0"

account required pam_mysql.so user=vftp passwd=TAJNY_HESLO host=localhost db=vftp table=vftpd_users usercolumn=username passwdcolumn=password crypt=0 verbose=0 where=status="0"

session required pam_mysql.so user=vftp passwd=TAJNY_HESLO host=localhost db=vftp table=vftpd_users usercolumn=username passwdcolumn=password crypt=0 verbose=0 where=status="0"

a konfigurak vsftpd mam takovy:
# standalone mode
listen=YES
listen_port=21
max_clients=100
max_per_ip=5
ftp_username=vftp

# access rights
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_world_readable_only=NO

# security
local_umask=022
chown_uploads=NO
connect_from_port_20=YES
hide_ids=YES
chown_username=vftp
chroot_local_user=YES

# ficury
ftpd_banner="SUPER_TAJNY_SERVER"
xferlog_enable=YES
dual_log_enable=YES
xferlog_std_format=NO
ls_recurse_enable=NO
ascii_upload_enable=NO
ascii_download_enable=NO
async_abor_enable=NO

# performance
one_process_model=NO
idle_session_timeout=120
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
# max. prenosova rychlost v B/s pro lokal usery, 0=nelimitovano
local_max_rate=200000
anon_max_rate=200000
#local_max_rate=0
#anon_max_rate=0

# virtualni useri
guest_enable=YES
guest_username=vftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=ftp
no a na zaver k tomu dodam, ze tabulka v mysql obsahuje dva sloupce "username" a "password", ale na to jiste prijdete sam ;0)

a jako bonus vam k tomu dodam, ze parametr
crypt=
muze krome 0 obsahovat i jina cisla, napriklad 1,2,3 a 4, ktere rikaji zdali je ulozen pouze hash hesla (md5, sha1, viz README u pam_mysql), ale me to chodi jen pouze s paramtrem 0, coz je plaintext. takze mam usery a jejich hesla v db v plaintextu, ale coz sem usoudil, ze vzhledem k tomu, ze hesla k ftp stejne litaj netem v plaintextu a mysql je pristupne pouze z localhostu, tak ze to az tak nevadi.
4.2.2007 20:55 svaca | skóre: 38
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
Tak jsem to zkousel a nechodi mi to .... Nejsem si jisti, ze je vsftpd zkompilovano s podporou pam, jak to overim ???
Never give up ! Stay ATARI !
5.2.2007 09:54 eM.
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
jo to tedka nevim, ale myslim si ze to bude defaultne, protoze jsem pouzil vsftpd z repozitare debiana.
4.2.2007 20:59 georgo23 | skóre: 26 | blog: instalace_vmwaru | Karviná
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus proftpd-mysql , rozchodil jsem to behem hodiny. Vse slo hladce a chodi to presne tak jak ma.. :-). Vcetne virtual useru se spravou pres db.
jen se učím jak se to naučit .... ...
4.2.2007 21:08 svaca | skóre: 38
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
proftpd mam taky mrknu na to....
Never give up ! Stay ATARI !
4.2.2007 21:39 svaca | skóre: 38
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
ale zkomppilovat proftpd s mysql je horor ...
Never give up ! Stay ATARI !
4.2.2007 21:46 georgo23 | skóre: 26 | blog: instalace_vmwaru | Karviná
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
Zde je to bezproblemove popsane. Konkretne tyto radky :

  ./configure \
    --with-modules=mod_sql:mod_sql_mysql \
    --with-includes=/usr/local/mysql/include/mysql \
    --with-libraries=/usr/local/mysql/lib/mysql

zbytek doplnit dle potreby.
jen se učím jak se to naučit .... ...
4.2.2007 21:48 svaca | skóre: 38
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
jj prave jsem nasel. Diky .... Uz to kompiluje
Never give up ! Stay ATARI !
4.2.2007 22:26 svaca | skóre: 38
Rozbalit Rozbalit vše Re: chroot vsftpd uzivatelu
tak to funguje a je to super .... :-)))
Never give up ! Stay ATARI !

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.