Portál AbcLinuxu, 3. prosince 2025 18:39
Postupoval jsem při instalaci a nastavování podle tohoto návodu: ZDE. Všechny mi funguje. Když se připojím přes klienta tak se mi vytvoří složka, přesně jak píší. Ale do složky se přes klienta nelze dostat. FileZilla píše, že Nelze získat výpis složky. Přes průzkumníka windows mi to vyplivne Při otevírání této složky na serveru FTP došlo k chybě. Přesvědčte se, zda máte oprávnění přistupovat do této složky.

Posílám log z /var/log/proftpd/proftpd.log co to píše
Nov 16 18:36:52 server1 proftpd[4491] server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]): FTP session opened.
Nov 16 18:36:52 server1 proftpd[4491] server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]): USER jirka: Login successful.
Nov 16 18:36:52 server1 proftpd[4491] server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]): Preparing to chroot to directory '/home/jirka.cz'
### Logujeme TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log # Zaznamenavat vsechny sql dotazy (jen v pripade ladeni, jinak nedoporucuji zapinat): #SQLLogFile /var/log/proftpd/sqllog.log LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" LogFormat write "%h %l %u %t \"%r\" %s %b" ### Zaznamenavat pristupy k souborum a adresarum ExtendedLog /var/log/proftpd/proftpd.access_log WRITE,READ write ### Zapsat vsechna prihlaseni ExtendedLog /var/log/proftpd/proftpd.auth_log AUTH auth ### Paranoidni uroven zaznamu # ExtendedLog /var/log/proftpd/proftpd.paranoid_log ALL defaultZatím to vypadá, že komunikace s mysql a vysosnutí uživatelů je ok, uvidíme, co bude v podrobnějších logách

drwsrwsrwx 2 ftpuser proftpd 4096 15. lis 22.47 jirka.cz
(myslím uživatele a skupiny a nikdy nic
)
Nov 16 20:18:47 server1 proftpd[22782] server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]): FTP session opened.
Nov 16 20:18:47 server1 proftpd[22782] server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]): USER jirka: Login successful.
Nov 16 20:18:47 server1 proftpd[22782] server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]): Preparing to chroot to directory '/home/jirka.cz'
Server 1 halva.org [4390] ::ffff:10.0.0.5 [16/lis/2009:21:36:53 +0100] "USER jir
ka" 331
Server 1 halva.org [4390] ::ffff:10.0.0.5 [16/lis/2009:21:36:53 +0100] "PASS (hi
dden)" 230
Server 1 halva.org [5302] ::ffff:10.0.0.5 [16/lis/2009:21:41:49 +0100] "USER jir
ka" 331
Server 1 halva.org [5302] ::ffff:10.0.0.5 [16/lis/2009:20:41:49 +0000] "PASS (hi
dden)" 230
Server 1 halva.org [5587] ::ffff:10.0.0.5 [16/lis/2009:21:43:08 +0100] "USER jir
ka" 331
Server 1 halva.org [5587] ::ffff:10.0.0.5 [16/lis/2009:21:43:08 +0100] "PASS (hi
dden)" 230
server1:~# server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]) - Transfer abo rted after 0 bytes in 0.00 seconds
server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]) - Data transfer stall tim eout: 600 seconds
server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]) - ProFTPD terminating (si gnal 2)
server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]) - ProFTPD terminating (si gnal 11)
server1.example.net (::ffff:10.0.0.5[::ffff:10.0.0.5]) - FTP session closed.
# Zaznamenavat vsechny sql dotazy (jen v pripade ladeni, jinak nedoporucuji zapinat) SQLLogFile /var/log/proftpd/sqllog.log ### Paranoidni uroven zaznamu ExtendedLog /var/log/proftpd/proftpd.paranoid_log ALL defaultDo toho prvního logu se budou zaznamenávat všechny dotazy na mysql server (bude toho opravdu parta), v druhém případě to bude také obsáhlejší.
server1:~# more /var/log/proftpd/proftpd.paranoid_log
::ffff:10.0.0.5 UNKNOWN nobody [16/lis/2009:22:54:16 +0100] "USER jirka" 331 -
::ffff:10.0.0.5 UNKNOWN jirka [16/lis/2009:22:54:16 +0100] "PASS (hidden)" 230 -
::ffff:10.0.0.5 UNKNOWN jirka [16/lis/2009:22:54:16 +0100] "OPTS UTF8 ON" - -
::ffff:10.0.0.5 UNKNOWN jirka [16/lis/2009:22:54:16 +0100] "PWD" 257 -
::ffff:10.0.0.5 UNKNOWN jirka [16/lis/2009:22:54:16 +0100] "TYPE I" 200 -
::ffff:10.0.0.5 UNKNOWN jirka [16/lis/2009:22:54:16 +0100] "PASV" 227 -
server1:~# nano /var/log/proftpd/sqllog.log
GNU nanoa ^O ZapiĹĄ File: /var/log/proftpd/sqllog.log
lis 16 22:47:54 mod_sql/4.2.2[17252]: defaulting to 'mysql' backend
lis 16 22:47:54 mod_sql/4.2.2[17252]: backend module 'mod_sql_mysql/4.0.8'
lis 16 22:47:54 mod_sql/4.2.2[17252]: backend api 'mod_sql_api_v1'
lis 16 22:47:54 mod_sql/4.2.2[17252]: >>> sql_sess_init
lis 16 22:47:54 mod_sql/4.2.2[17252]: entering mysql cmd_defineconnection
lis 16 22:47:54 mod_sql/4.2.2[17252]: name: 'default'
lis 16 22:47:54 mod_sql/4.2.2[17252]: user: 'proftpd'
lis 16 22:47:54 mod_sql/4.2.2[17252]: host: 'localhost'
lis 16 22:47:54 mod_sql/4.2.2[17252]: db: 'ftp'
lis 16 22:47:54 mod_sql/4.2.2[17252]: port: '3306'
lis 16 22:47:54 mod_sql/4.2.2[17252]: ttl: '0'
lis 16 22:47:54 mod_sql/4.2.2[17252]: exiting mysql cmd_defineconnection
lis 16 22:47:54 mod_sql/4.2.2[17252]: entering mysql cmd_open
lis 16 22:47:54 mod_sql/4.2.2[17252]: MySQL connection character set now 'latin1' (from 'ANSI_X3.4-1968')
lis 16 22:47:54 mod_sql/4.2.2[17252]: connection 'default' opened
lis 16 22:47:54 mod_sql/4.2.2[17252]: connection 'default' count is now 1
lis 16 22:47:54 mod_sql/4.2.2[17252]: exiting mysql cmd_open
lis 16 22:47:54 mod_sql/4.2.2[17252]: backend successfully connected.
lis 16 22:47:54 mod_sql/4.2.2[17252]: mod_sql engine : on
lis 16 22:47:54 mod_sql/4.2.2[17252]: negative_cache : off
lis 16 22:47:54 mod_sql/4.2.2[17252]: authenticate : users groups
lis 16 22:47:54 mod_sql/4.2.2[17252]: usertable : ftpuser
lis 16 22:47:54 mod_sql/4.2.2[17252]: userid field : userid
lis 16 22:47:54 mod_sql/4.2.2[17252]: password field : passwd
lis 16 22:47:54 mod_sql/4.2.2[17252]: uid field : uid
lis 16 22:47:54 mod_sql/4.2.2[17252]: gid field : gid
lis 16 22:47:54 mod_sql/4.2.2[17252]: homedir field : homedir
lis 16 22:47:54 mod_sql/4.2.2[17252]: shell field : shell
lis 16 22:47:54 mod_sql/4.2.2[17252]: homedirondemand : false
lis 16 22:47:54 mod_sql/4.2.2[17252]: group table : ftpgroup
lis 16 22:47:54 mod_sql/4.2.2[17252]: groupname field : groupname
lis 16 22:47:54 mod_sql/4.2.2[17252]: grp gid field : gid
lis 16 22:47:54 mod_sql/4.2.2[17252]: grp members field : members
lis 16 22:47:54 mod_sql/4.2.2[17252]: SQLMinUserUID : 500
lis 16 22:47:54 mod_sql/4.2.2[17252]: SQLMinUserGID : 500
lis 16 22:47:54 mod_sql/4.2.2[17252]: SQLDefaultUID : 65533
lis 16 22:47:54 mod_sql/4.2.2[17252]: SQLDefaultGID : 65533
lis 16 22:47:54 mod_sql/4.2.2[17252]: <<< sql_sess_init
lis 16 22:47:54 mod_sql/4.2.2[17252]: >>> cmd_getgroups
lis 16 22:47:54 mod_sql/4.2.2[17252]: entering mysql cmd_escapestring
lis 16 22:47:54 mod_sql/4.2.2[17252]: entering mysql cmd_open
lis 16 22:47:54 mod_sql/4.2.2[17252]: connection 'default' count is now 2
lis 16 22:47:54 mod_sql/4.2.2[17252]: exiting mysql cmd_open
lis 16 22:47:54 mod_sql/4.2.2[17252]: exiting mysql cmd_escapestring
lis 16 22:47:54 mod_sql/4.2.2[17252]: cache miss for user 'jirka'
lis 16 22:47:54 mod_sql/4.2.2[17252]: : entering mysql cmd_select
lis 16 22:47:54 mod_sql/4.2.2[17252]: entering mysql cmd_open
lis 16 22:47:54 mod_sql/4.2.2[17252]: connection 'default' count is now 3
lis 16 22:47:54 mod_sql/4.2.2[17252]: exiting mysql cmd_open
lis 16 22:47:54 mod_sql/4.2.2[17252]: query "SELECT userid, passwd, uid, gid, homedir, shell FROM ftpuser WHERE (userid='jirka') LIMIT 1"
lis 16 22:47:54 mod_sql/4.2.2[17252]: entering mysql cmd_close
lis 16 22:47:54 mod_sql/4.2.2[17252]: connection 'default' count is now 2
lis 16 22:47:54 mod_sql/4.2.2[17252]: exiting mysql cmd_close
lis 16 22:47:54 mod_sql/4.2.2[17252]: exiting mysql cmd_select
lis 16 22:47:54 mod_sql/4.2.2[17252]: cache miss for user 'jirka'
SELECT userid, uid, gid, homedir, shell FROM ftpuser WHERE userid='jirka'; SELECT * FROM ftpgroup;A pak už jedině zveřejnit konfigurační soubory (bez zveřejněných hesel) ... :-/. Ale třeba máš jen něco špatně nastaveno v tabulkách :-/ (takže uvidíme, až sem pošleš výsledky těch selectů :) ). Logy se mi zatím zdají být ok (snad nejsem slepej). Ale stejně se mi to zdá jako slabý výpis :-/. Hmm, uvidíme :).
mysql> SELECT userid, uid, gid, homedir, shell FROM ftpuser WHERE userid='jirka';
+--------+------+------+----------------+---------------+
| userid | uid | gid | homedir | shell |
+--------+------+------+----------------+---------------+
| jirka | 2001 | 2001 | /home/jirka.cz | /sbin/nologin |
+--------+------+------+----------------+---------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM ftpgroup;
+-----------+------+---------+
| groupname | gid | members |
+-----------+------+---------+
| ftpgroup | 2001 | ftpuser |
+-----------+------+---------+
1 row in set (0.01 sec)
DefaultRoot ~Popř. ještě zkus vypnout IPV6 (ač to by problémy dělat nemělo):
UseIPv6 offZdar Max
V příloze posílám konfigurační soubory, všechny kde jsem něco měnil. Hesla jsem snad smazal všude.
SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out
_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM f
tpquotatallies WHERE name - '%{0}' AND quota_type - '%{1}'"
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{
2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies
Mělo by to být takto :
SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name - '%{0}' AND quota_type - '%{1}'"
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies
Samotný selecty jsem nekontroloval, ale když jsi to opisoval, tak je máš snad dobře :). Zkus a dej vědět, zda to nějak po úpravách pokročilo :)
Default root jsem vymazal a dal jen do proftpd.conf. Dokonce jsem si v selektech našel chybu když jsem to kontroloval. Ale nic nepomohlo
Pořád stejná chyba při připojování.
ftpuser:x:2001:2002:proftpd user:/bin/null:/bin/false
ftpgroup:x:2002:
chown -R ftpuser:ftpgroup /home/jirka.cz ls -l /home/ drwsrwsrwx 2 ftpuser ftpgroup 4096 15. lis 22.47 jirka.czZdar Max
Pořád stejná chyba.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.