Столкнулся с такой проблемой:
Настроил ProFTPD Version 1.3.1rc2, кусок из конфига нижеAuthPAM off
User proftpd
Group proftpdв системе заведен пользователь proftpd и группа proftpd
/etc/passwd
---------------------
proftpd:x:102:440:added by portage for proftpd:/dev/null:/sbin/nologin
---------------------/etc/group
---------------------
proftpd:x:440:
---------------------однако пользователь успешно залогиненый через proftpd пишет файлы под пользователем
---------------------
-rw-r--r-- 1 65533 nogroup
---------------------
а не под
---------------------
-rw-r--r-- 1 proftpd proftpd
---------------------поиск по google и yandex не принес результата. Что самое интересное, что абсолютно такая же конфигурация (только uid и gid другие) на FreeBSD работает без проблем.
>Столкнулся с такой проблемой:
>Настроил ProFTPD Version 1.3.1rc2, кусок из конфига ниже
>
>AuthPAM
> off
>User
> proftpd
>Group
> proftpd
>
>в системе заведен пользователь proftpd и группа proftpd
>
>/etc/passwd
>---------------------
>proftpd:x:102:440:added by portage for proftpd:/dev/null:/sbin/nologin
>---------------------
>
>/etc/group
>---------------------
>proftpd:x:440:
>---------------------
>
>однако пользователь успешно залогиненый через proftpd пишет файлы под пользователем
>---------------------
>-rw-r--r-- 1 65533 nogroup
>---------------------
>а не под
>---------------------
>-rw-r--r-- 1 proftpd proftpd
>---------------------
>
>поиск по google и yandex не принес результата. Что самое интересное, что
>абсолютно такая же конфигурация (только uid и gid другие) на
>FreeBSD работает без проблем.подземный стук: proftpd -V + proftpd.config + `ls -la ~proftpd`
подземный стук: proftpd -V + proftpd.config + `ls -la ~proftpd`
---------------------------------------------------------------------
# proftpd -V
Compile-time Settings:
Version: 1.3.1rc2
Platform: LINUX
Built With:
configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --sbindir=/usr/sbin --localstatedir=/var/run --sysconfdir=/etc/proftpd --enable-shadow --enable-autoshadow --enable-ctrls --with-modules=mod_ratio:mod_readme:mod_auth_pam:mod_tls:mod_wrap:mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql:mod_quotatab_file --disable-facl --disable-auth-file --disable-ipv6 --enable-ncurses --enable-nls --with-includes=/usr/include/mysql --disable-auth-unix --build=i686-pc-linux-gnuCFLAGS: -Os -march=i686 -pipe -Wall
LDFLAGS: -L$(top_srcdir)/lib
LIBS: -lsupp -lcryptFiles:
Configuration File:
/etc/proftpd/proftpd.conf
Pid File:
/var/run/proftpd.pid
Scoreboard File:
/var/run/proftpd/proftpd.scoreboardFeatures:
+ Autoshadow support
+ Controls support
+ curses support
- Developer support
- DSO support
- IPv6 support
+ Largefile support
+ NLS support
- Lastlog support
+ NLS support
+ ncurses support
+ OpenSSL support
- POSIX ACL support
+ Shadow file support
+ Sendfile support
+ Trace supportTunable Options:
PR_TUNABLE_BUFFER_SIZE = 1024
PR_TUNABLE_GLOBBING_MAX = 8
PR_TUNABLE_HASH_TABLE_SIZE = 40
PR_TUNABLE_NEW_POOL_SIZE = 512
PR_TUNABLE_RCVBUFSZ = 87380
PR_TUNABLE_SCOREBOARD_BUFFER_SIZE = 80
PR_TUNABLE_SCOREBOARD_SCRUB_TIMER = 30
PR_TUNABLE_SELECT_TIMEOUT = 30
PR_TUNABLE_SNDBUFSZ = 16384
PR_TUNABLE_TIMEOUTIDENT = 10
PR_TUNABLE_TIMEOUTIDLE = 600
PR_TUNABLE_TIMEOUTLINGER = 180
PR_TUNABLE_TIMEOUTLOGIN = 300
PR_TUNABLE_TIMEOUTNOXFER = 300
PR_TUNABLE_TIMEOUTSTALLED = 3600
PR_TUNABLE_XFER_BUFFER_SIZE = 16384
PR_TUNABLE_XFER_SCOREBOARD_UPDATES = 10#
---------------------------------------------------------------------#-------------------- proftpd.conf ---------------------------#
ServerName "mine.goldrush.ru "
ServerAdmin support@goldrush.ru
ServerType standalone
DefaultServer on
ServerIdent on
Port 21
Umask 022
MaxClients 10 "Sorry, the maximum number of allowed users are already connected (%m)"
MaxClientsPerHost 10 "Sorry, you may not connect more than one time. %m allowed users already conn
MaxLoginAttempts 3
AuthPAM off
User proftpd
Group proftpd
SyslogLevel notice
UseReverseDNS off
IdentLookups off
SystemLog /var/log/proftpd/proftpd.log
TransferLog /var/log/proftpd/proftpd-tranfer.log
ExtendedLog /var/log/proftpd/proftpd-extended.log read,write
ExtendedLog /var/log/proftpd/proftpd-auth.log AUTH auth
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"
TimeoutIdle 300
TimeoutLogin 300
TimeoutNoTransfer 360
TimeoutStalled 640
DefaultTransferMode binary
AllowForeignAddress off
#AuthPAMAuthoritative off
DisplayConnect /usr/local/etc/proftpd/ftp_connect.msg
DisplayLogin /usr/local/etc/proftpd/ftp_login.msg
AccessDenyMsg "ATTENTION!!! ALL CONNECTIONS LOGED"
AccessGrantMsg "Now upload/download files"
DisplayGoAway "Go Away"
PersistentPasswd off
DefaultRoot ~<Directory ~ >
AllowOverwrite on
<Limit Write>
AllowAll
</Limit>
<Limit READ>
AllowAll
</Limit>
</Directory>#< Anonymous /path/to/anonymous/users>
# User proftpd
# Group proftpd
# UserAlias anonymous ftp
# MaxClients 10
# < Limit WRITE>#sql info
SQLAuthTypes Plaintext
SQLAuthenticate users
SQLConnectInfo proftpd_mine@192.168.99.21 proftpd afqks
SQLUserInfo users username password uid gid homedir shell
RequireValidShell off
#SQLLogFile /var/log/proftpd/sql.log# config quotas
# ===========
# QuotaEngine on
# QuotaDirectoryTally on
# QuotaDisplayUnits Mb
# QuotaShowQuotas on
# SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail,
# SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer
# SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = b
# SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatal
# QuotaLimitTable sql:/get-quota-limit
# QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
# QuotaLog /var/log/proftpd/quota.log#----------------------------- end config ------------------------------#
#ls -la ~proftpd
crw-rw-rw- 1 root root 1, 3 2007-03-04 12:23 /dev/null
>подземный стук: proftpd -V + proftpd.config + `ls -la ~proftpd`
>---------------------------------------------------------------------
># proftpd -V
>Compile-time Settings:
> Version: 1.3.1rc2
> Platform: LINUX
> Built With:
> configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
>--sbindir=/usr/sbin --localstatedir=/var/run --sysconfdir=/etc/proftpd --enable-shadow --enable-autoshadow --enable-ctrls --with-modules=mod_ratio:mod_readme:mod_auth_pam:mod_tls:mod_wrap:mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql:mod_quotatab_file --disable-facl --disable-auth-file --disable-ipv6 --enable-ncurses
>--enable-nls --with-includes=/usr/include/mysql --disable-auth-unix --build=i686-pc-linux-gnu
>
> CFLAGS: -Os -march=i686 -pipe -Wall
> LDFLAGS: -L$(top_srcdir)/lib
> LIBS: -lsupp -lcrypt
>
> Files:
> Configuration File:
> /etc/proftpd/proftpd.conf
> Pid File:
> /var/run/proftpd.pid
> Scoreboard File:
> /var/run/proftpd/proftpd.scoreboard
>
> Features:
> + Autoshadow support
> + Controls support
> + curses support
> - Developer support
> - DSO support
> - IPv6 support
> + Largefile support
> + NLS support
> - Lastlog support
> + NLS support
> + ncurses support
> + OpenSSL support
> - POSIX ACL support
> + Shadow file support
> + Sendfile support
> + Trace support
>
> Tunable Options:
> PR_TUNABLE_BUFFER_SIZE = 1024
> PR_TUNABLE_GLOBBING_MAX = 8
> PR_TUNABLE_HASH_TABLE_SIZE = 40
> PR_TUNABLE_NEW_POOL_SIZE = 512
> PR_TUNABLE_RCVBUFSZ = 87380
> PR_TUNABLE_SCOREBOARD_BUFFER_SIZE = 80
> PR_TUNABLE_SCOREBOARD_SCRUB_TIMER = 30
> PR_TUNABLE_SELECT_TIMEOUT = 30
> PR_TUNABLE_SNDBUFSZ = 16384
> PR_TUNABLE_TIMEOUTIDENT = 10
> PR_TUNABLE_TIMEOUTIDLE = 600
> PR_TUNABLE_TIMEOUTLINGER = 180
> PR_TUNABLE_TIMEOUTLOGIN = 300
> PR_TUNABLE_TIMEOUTNOXFER = 300
> PR_TUNABLE_TIMEOUTSTALLED = 3600
> PR_TUNABLE_XFER_BUFFER_SIZE = 16384
> PR_TUNABLE_XFER_SCOREBOARD_UPDATES = 10
>
>#
>---------------------------------------------------------------------
>
>#-------------------- proftpd.conf ---------------------------#
>ServerName
> "mine.goldrush.ru "
>ServerAdmin support@goldrush.ru
>ServerType
> standalone
>DefaultServer on
>
>ServerIdent
> on
>Port
> 21
>Umask
> 022
>MaxClients
> 10 "Sorry, the maximum number of allowed users are
>already connected (%m)"
>MaxClientsPerHost 10 "Sorry, you may not connect more than one time.
>%m allowed users already conn
>MaxLoginAttempts 3
>AuthPAM
> off
>User
> proftpd
>Group
> proftpd
>SyslogLevel notice
>UseReverseDNS off
>IdentLookups off
>SystemLog
> /var/log/proftpd/proftpd.log
>TransferLog /var/log/proftpd/proftpd-tranfer.log
>ExtendedLog /var/log/proftpd/proftpd-extended.log read,write
>ExtendedLog /var/log/proftpd/proftpd-auth.log AUTH auth
>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"
>TimeoutIdle 300
>TimeoutLogin
>300
>TimeoutNoTransfer 360
>TimeoutStalled 640
>DefaultTransferMode binary
>AllowForeignAddress off
>
>
>#AuthPAMAuthoritative
>off
>
>
>DisplayConnect /usr/local/etc/proftpd/ftp_connect.msg
>DisplayLogin /usr/local/etc/proftpd/ftp_login.msg
>AccessDenyMsg "ATTENTION!!! ALL CONNECTIONS LOGED"
>AccessGrantMsg "Now upload/download files"
>DisplayGoAway "Go Away"
>PersistentPasswd off
>DefaultRoot
> ~
>
><Directory ~ >
> AllowOverwrite on
> <Limit Write>
> AllowAll
> </Limit>
> <Limit READ>
> AllowAll
> </Limit>
></Directory>
>
>#< Anonymous /path/to/anonymous/users>
># User
>
> proftpd
># Group
>
> proftpd
># UserAlias
>
> anonymous ftp
># MaxClients
>
>10
># < Limit WRITE>
>
>#sql info
>SQLAuthTypes Plaintext
>SQLAuthenticate users
>SQLConnectInfo proftpd_mine@192.168.99.21 proftpd afqks
>SQLUserInfo users username password uid gid homedir shell
>RequireValidShell off
>#SQLLogFile
> /var/log/proftpd/sql.log
>
># config quotas
># ===========
># QuotaEngine on
># QuotaDirectoryTally on
># QuotaDisplayUnits Mb
># QuotaShowQuotas on
># SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail,
># SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer
># SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = b
>
># SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}"
>quotatal
># QuotaLimitTable sql:/get-quota-limit
># QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
># QuotaLog /var/log/proftpd/quota.log
>
>#----------------------------- end config ------------------------------#
>
>
>
>#ls -la ~proftpd
>crw-rw-rw- 1 root root 1, 3 2007-03-04 12:23 /dev/nullпредполагаю что дело где-то в несовпадении id/gid proftpd и sql, поэтому и берет nobody/nogroup
ps. anonymous секция и пользователь отсутствуют, есть для Global Config:
User/Group proftpd по идее заливаемые файлы должны быть с uid/gid proftpd, если входим
как proftpd, но где-то НЕстыковка аутентикации и вероятно SQL
>предполагаю что дело где-то в несовпадении id/gid proftpd и sql, поэтому и
>берет nobody/nogroupнет, тут как раз все совпадало.
>ps. anonymous секция и пользователь отсутствуют, есть для Global Config:
>User/Group proftpd по идее заливаемые файлы должны быть с uid/gid proftpd, если
>входим
>как proftpd, но где-то НЕстыковка аутентикации и вероятно SQLДа, анонимный вход и не был нужен.
>#sql info
>SQLAuthTypes Plaintext
>SQLAuthenticate users
>SQLConnectInfo proftpd_mine@192.168.99.21 proftpd afqks
>SQLUserInfo users username password uid gid homedir shell
>RequireValidShell offА чего выдаст вот такое?
mysql -h 192.168.99.21 -u proftpd -p proftpd_mine -e 'select uid, gid from users;'
По идее, должны быть соответствующие пользователю uid&gid. Если пустое, то устанавливается дефолтное
SQLDefaultGID 65533
SQLDefaultUID 65533Плюс еще -- uid, gid из запроса не должны быть меньше
SQLMinUserGID 100
SQLMinUserUID 500В доках, увы, крайне кратко --
http://www.proftpd.org/docs/directives/linked/config_ref_SQL...
http://www.proftpd.org/docs/directives/linked/config_ref_SQL...
>А чего выдаст вот такое?
>mysql -h 192.168.99.21 -u proftpd -p proftpd_mine -e 'select uid, gid from
>users;'
>По идее, должны быть соответствующие пользователю uid&gid. Если пустое, то устанавливается дефолтное
>
>SQLDefaultGID 65533
>SQLDefaultUID 65533выдало именно мои uid и guid (102 и 440), но прочитав ваш комментарий ниже я перезавел пользователя proftpd (до этого он был заведен при установке proftpd самой системой)
>Плюс еще -- uid, gid из запроса не должны быть меньше
>SQLMinUserGID 100
>SQLMinUserUID 500
>
>В доках, увы, крайне кратко --
>http://www.proftpd.org/docs/directives/linked/config_ref_SQL...
>http://www.proftpd.org/docs/directives/linked/config_ref_SQL...
да, было у меня такое предчувствие что дело в том что uid и gid не те (на freebsd они 1006 и 1003), но не поверил я ему. Согласно вашему комментарию завел пользователя proftpd с uid 1009 и все заработало.Большое спасибо за ваш ответ.
>[оверквотинг удален]
>>http://www.proftpd.org/docs/directives/linked/config_ref_SQL...
>>http://www.proftpd.org/docs/directives/linked/config_ref_SQL...
>
>
>да, было у меня такое предчувствие что дело в том что uid
>и gid не те (на freebsd они 1006 и 1003), но
>не поверил я ему. Согласно вашему комментарию завел пользователя proftpd с
>uid 1009 и все заработало.
>
>Большое спасибо за ваш ответ.Столкнулся с аналогичной проблемой только пользователь у меня ftp (uid=14, gid=50)
ставил uid= 140 > 100 gid=502 > 500
не помогло...
как вычислить какие ему надо gid i uid
не могу поменять порт по умолчанию... захожу в профтпд.конф, меняю порт на 2121, а оно после перезагрузки всёровно работает на 21... может кто подскажет в чём проблема?
> не могу поменять порт по умолчанию... захожу в профтпд.конф, меняю порт на
> 2121, а оно после перезагрузки всёровно работает на 21... может кто
> подскажет в чём проблема?Вот мои конфиг может кому-то поможет!
Установка
# cd /usr/ports/ftp/proftpd
# make config
# make installНе забудьте сначала обновить дерево портов или обновите конкретный порт.
Настройка
/usr/local/etc/proftpd.conf
ServerName “Super Server”
ServerType standalone
DefaultServer on
ScoreboardFile /var/run/proftpd.scoreboard
Port 21# Маска для назначения прав при создание файлов
Umask 022 022# Максимальное кол-во процессов
MaxInstances 30# Ограничение на максимальную длину комманды
CommandBufferSize 512User nobody
Group nogroup# Директория по умолчанию – домашний каталог пользователя
DefaultRoot ~# Разрешение на смену прав файлам и создание каталогов
AllowAll
# Таймауты
TimeoutIdle 3600
TimeoutLogin 3600
TimeoutNoTransfer 3600
TimeoutStalled 3600
TimeoutSession 3600# Идентификация имени удаленного пользователя
IdentLookups off# Обратный поиск данных IP-адресов
UseReverseDns off# Паттерн для проверки комманд отправляемых от клиента-серверу
AllowFilter ^[-A-Za-z0-9_.(),/]*$# Запретить пересылку сервер-сервер
AllowForeignAddress off# Директива отвечающая за .ftaccess файлы
AllowOverride off# Директива позволяющая переписывать файлы
AllowOverwrite on# Логи
LogFormat default “%h %l %u %t “%r” %s %b”
TransferLog /var/log/proftpd_transferlog
ServerLog /var/log/proftpd_serverlog
SystemLog /var/log/proftpd_systemlog# TransferRate RETR, STOR 1096
# MaxClients 20 “Sorry, max %m users, try again later.”# Анонимные пользователи
# Если не надо, то удалите или закомментите всю директиву.
# Путь до каталога, обратите внимание, на него DefaultRoot не распространяется.User ftp
Group ftp# Назначение псевдонима anonymous для ftp
UserAlias anonymous ftp# Не всем, имеющим доступ к ftp, нужен shell
RequireValidShell off# Запрашивать ли пароль для анонимного подключения
AnonRequirePassword off# Перезаписывание файлов
AllowOverwrite on# Лимит максимума клиентов
MaxClients 10 “The server is full, hosting %m users”# DisplayLogin welcome.msg
# DisplayFirstChdir .msgAllow from all
Deny from all
DenyAll
DenyAll# Для директории public, запрет на группу комманд WRITE и создание директории,
# читайте подробнее How-To по Limit, в ссылка нижеDenyAll
# Для директории uploads, разрешим WRITE и запрещаем при этом удаление файлов и каталогов
AllowAll
DenyAll
http://it-admin.org/os-freebsd/ustanovka-i-nastrojka-proftpd...