Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Ubuntu ProFTPd Permission Denied


Автор: byahvfnbr 11.1.2016, 23:17
Здравствуйте.

Возникла непонятная проблема с ProFTPd. Суть в том, что при подключении с некоторых машин все работает как надо, с других - получаю Permission Denied при попытке создать/удалить файл, при этом везде используется один аккаунт.
стоит DefaultRoot ~, пользователь является владельцем своего домашнего каталога и всего его содержимого, при работе от пользователя локально естественно никаких ошибок не возникает.
ftp запущен от рута, так что тут проблем с доступом тоже быть не должно

uname -a :
Linux node-9 3.19.0-39-generic #44~14.04.1-Ubuntu SMP Wed Dec 2 10:00:35 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

версия ProFTPd: 1.3.5~rc3-2.1ubuntu2

Конфиг:
Код

#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.
# 

Include /etc/proftpd/modules.conf

UseIPv6                off
IdentLookups            off

ServerName            "node-9"
ServerType            standalone
DeferWelcome            off

MultilineRFC2228        on
DefaultServer            on
ShowSymlinks            on

TimeoutNoTransfer        600
TimeoutStalled            600
TimeoutIdle            1200

DisplayLogin                    welcome.msg
DisplayChdir                .message true
ListOptions                 "-l"

DenyFilter            \*.*/

DefaultRoot            ~

RequireValidShell no

Port                21

MaxInstances            30

User                root
Group                root

Umask                022  022

AllowOverwrite            on


TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

RootLogin            off


<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>

<IfModule mod_ratio.c>
Ratios off
</IfModule>

<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine        off
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

Include /etc/proftpd/conf.d/


Автор: Romikgy 12.1.2016, 10:05
не пробовали воспользоваться vsftpd ?

Автор: byahvfnbr 12.1.2016, 12:31
Цитата(Romikgy @ 12.1.2016,  10:05)
не пробовали воспользоваться vsftpd ?

Честно говоря нет, исторически сложилось, что везде используется ProFTPd, да и раньше подобных проблем не возникало

Автор: tzirechnoy 12.1.2016, 13:18
А в логах что?

Автор: byahvfnbr 12.1.2016, 13:37
Цитата(tzirechnoy @ 12.1.2016,  13:18)
А в логах что?

Лог на момент попытки удаления:
Код

2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'CWD /htdocs/2' to mod_exec
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'CWD /htdocs/2' to mod_rewrite
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'CWD /htdocs/2' to mod_tls
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'CWD /htdocs/2' to mod_core
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'CWD /htdocs/2' to mod_core
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'CWD /htdocs/2' to mod_ratio
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching CMD command 'CWD /htdocs/2' to mod_ratio
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching CMD command 'CWD /htdocs/2' to mod_core
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): in dir_check_full(): path = '/htdocs/2', fullpath = '/hlds/web/site/htdocs/2'.
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching POST_CMD command 'CWD /htdocs/2' to mod_exec
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching POST_CMD command 'CWD /htdocs/2' to mod_readme
2016-01-11 19:22:55,308 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching LOG_CMD command 'CWD /htdocs/2' to mod_log
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'DELE 2.jpg' to mod_exec
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'DELE 2.jpg' to mod_rewrite
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'DELE 2.jpg' to mod_tls
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'DELE 2.jpg' to mod_core
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'DELE 2.jpg' to mod_core
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'DELE 2.jpg' to mod_quotatab
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching PRE_CMD command 'DELE 2.jpg' to mod_log
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching CMD command 'DELE 2.jpg' to mod_core
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): in dir_check_full(): path = '/htdocs/2/2.jpg', fullpath = '/hlds/web/site/htdocs/2/2.jpg'.
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): in dir_check_full(): setting umask to 0022 (was 0022)
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): error deleting '/htdocs/2/2.jpg': Permission denied
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching POST_CMD_ERR command 'DELE 2.jpg' to mod_exec
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching POST_CMD_ERR command 'DELE 2.jpg' to mod_quotatab
2016-01-11 19:22:55,318 node-9 proftpd[26219] node-9 (broadband-xxx-xxx-xxx-xxx.nationalcablenetworks.ru[xxx.xxx.xxx.xxx]): dispatching LOG_CMD_ERR command 'DELE 2.jpg' to mod_log
2016-01-11 19:23:03,471 node-9 proftpd[25745] node-9: scrubbing scoreboard
2016-01-11 19:23:03,471 node-9 proftpd[25745] node-9: ROOT PRIVS at scoreboard.c:1510
2016-01-11 19:23:03,472 node-9 proftpd[25745] node-9: RELINQUISH PRIVS at scoreboard.c:1513
2016-01-11 19:23:03,472 node-9 proftpd[25745] node-9: ROOT PRIVS at scoreboard.c:1544
2016-01-11 19:23:03,472 node-9 proftpd[25745] node-9: RELINQUISH PRIVS at scoreboard.c:1650
2016-01-11 19:23:03,472 node-9 proftpd[25745] node-9: finished scrubbing scoreboard


Так же время от времени проскакивает строчка 
RELINQUISH PRIVS: unable to seteuid(PR_ROOT_UID): Operation not permitted


Автор: tzirechnoy 12.1.2016, 21:45
Скорее всего, аккаунт всё-таки не один.

Сделайте сравнение полного лога сэссии где получается и где неполучается.

Автор: Hiori 31.3.2016, 05:59
Цитата(byahvfnbr @  11.1.2016,  23:17 Найти цитируемый пост)
Возникла непонятная проблема с ProFTPd. Суть в том, что при подключении с некоторых машин все работает как надо, с других - получаю Permission Denied при попытке создать/удалить файл, при этом везде используется один аккаунт.

посмотрите в сторону fw и портов, по которым обращаются клиенты, а так же диапазон в конфиге, скорее всего у вас открыт некий диапазон портов (пассивный режим) и клиенты, которым закрыт доступ, выбиваются за него. я ловила подобную ошибку на pureftpd по этой проблеме.
если вы креативили сервер с мана лиссяры (не его лично, его сайта) там была ошибка, когда сервер пытался обратиться к БД от IP клиента, проверьте...
к слову, сама долгое время сидела на proftpd, еще помню то время, когда нужно было ручное исправление для рекодинга cp1251<->koi8-r/utf-8, после чего сменила на pureftpd

+ в логах у вас элементарное отсутствие прав, chown для папки корня ftp, на мой взгляд, решит вашу проблему

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)