Portál AbcLinuxu, 5. května 2025 19:50
Řešení dotazu:
#povolit lokalni uzivatele
local_enable=YES
#povolit anonymni uzivatele
anonymous_enable=YES
#zadrzet lokalni uzivatele v pridelenem homu (nesmi vys)
chroot_local_user=YES
#zavest seznam uzivatelu kterych se predchozi pravidlo netyka
chroot_list_enable=NO
#a tady je cesta na ten seznam (plaintext jmena na radcich)
chroot_list_file=/etc/vsftpd.chroot_list
#home pro anonymni uzivatele
anon_root=/other/data
#povolit virtualni uzivatele
guest_enable=YES
#v systemu pro ne zavedeme jednoho uzivatele
guest_username=virtual
#a pro autentifikaci budeme pouzivat tuto sadu pravidel
pam_service_name=vsftpd
# adduser --home /home/ftp --system --group virtual
# adduser virtual virtual
a pro jistotu jeste zkontrolujte /etc/passwd a /etc/group, ze je vse tak jak ma (shell musi byt nastaven /bin/false).
3.) nakonfigurujeme PAM autentifikaci & autorizaci
#zakazat pristup lidem v seznamu /etc/ftpusers
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
#lokalnim uzivatelum staci znat sve jmeno/heslo do unixu
auth sufficient pam_unix.so
#cizi virtualni uzivatele musi projit kontrolou proti
/etc/vsftpd_login
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
uzivatel1
heslo1
uzivatel2
heslo2
...
Pak vytvorime prislusnou databazi:
# db3_load -T -t hash -f /root/vsftpd.logins /etc/vsftpd_login.db
Tomas
V debianu 5 se databáze vytvoří příkazem:
db4.6_load -T -t hash -f vroot/vsftpd.logins /etc/vsftpd_login.db
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.