Добрый день!
Мне необходимо поднять ftp с различным доступом для разных пользователей. Анонимный пользователь не предусмотрен вообще. И сделать это хотелось бы своими руками, а не через GUI, хотя и через них пробовал но ни чего хорошего из этого не вышло. Поиски нормально документации по ProFTP не дали результатов, так я до сих пор не знаю каждого значения для опций к Limit
LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD XRMD SITE_RMDIR SITE SITE_CHMOD SITE_CHGRP MTDM PWD XPWD SIZE STAT CWD XCWD CDUP XCUP
Конфиг у меня получился такой
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c
LoadModule mod_quotatab_sql.c
#LoadModule mod_radius.c
#LoadModule mod_rewrite.c
ServerName "FTP Server"
DeferWelcome on
ServerType standalone
DefaultServer on
ServerAdmin mail@mail.ru
ScoreboardFile /var/run/proftpd/proftpd.scoreboard
Port 21
Umask 002 002
MaxInstances 5
TimeoutIdle 100
TimeoutNoTransfer 100
# Юзер от которого работает сервер
User ftp-usr
# группа, под которой работает сервер
Group ftp-usr
IdentLookups off
UseReverseDNS off
UseIPv6 off
# Ограничения
MaxClients 15 "Слишком много соединений с сервером"
MaxClientsPerHost 15 "%m клиента уже подключены с Вашего хоста, больше не разрешено"
MaxLoginAttempts 5 "Слишком много попыток войти"
# Включаем показ скрытых файлов (начинающихся с точки)
ListOptions -al
############## Аунтификация ####
AuthPAM off
#AuthPAMAuthoritative on
SQLAuthTypes Backend
SQLAuthenticate users
SQLConnectInfo ftp@localhost:3306 ftp mysqlftppass
SQLUserInfo `users_table` `username` `password` `uid` `gid` `homedir` `shell`
####################################### Логи #############################################
#SQLLogFile /var/log/proftpd.log
#SQLLog PASS counter_login
#SQLNamedQuery counter_login UPDATE "`last_login`=UNIX_TIMESTAMP(), `login_count`=`login_count`+1 WHERE `username`='%u'" `users_table`
#SQLLog ERR_PASS counter_err
#SQLNamedQuery counter_err UPDATE "`last_err_login`=UNIX_TIMESTAMP(), `err_login_count`=`err_login_count`+1 WHERE `username`='%U'" `users_t$
#SQLLog RETR,STOR log_story_transfer
#SQLNamedQuery log_story_transfer INSERT "'', UNIX_TIMESTAMP(),'%u', '%f', '%b', '%h', '%a', '%m', '%T'" `xfer_table`
#SQLLOG ERR_RETR,ERR_STOR,ERR_DELE,ERR_RMD,ERR_RNTO log_err_modify
#SQLNamedQuery log_err_modify INSERT "'', UNIX_TIMESTAMP(), '%u', '%f', '%h', '%a', '%m'" `xfer_errors`
TransferLog /var/log/proftpd-tranfer.log
SystemLog /var/log/proftpd-error.log
ExtendedLog /var/log/proftpd-extended.log
DefaultRoot ~
Umask 002 002
#VALID LOGINS
<Limit LOGIN>
AllowUser user1
AllowUser user2
AllowUser user3
DenyALL
</Limit>
<Directory ~ >
AllowStoreRestart on
AllowOverwrite on
UserOwner ftp-usr
<Limit READ >
AllowUser user2
AllowUser user3
<Limit ALL >
AllowUser user1
DenyALL
</Limit>
</Directory>
<Directory /var/ftp/for_check/ >
<Limit ALL >
AllowUser user3
</Limit>
</Directory>
[istorik@ftp ~]# ll /var/ftp
итого 12K
drwxrwx---. 8 ftp-usr ftp-usr 4,0K Сен 23 13:21 ftp
В базе информация о логине, пароле в зашифровоном виде, а так же домашняя папка /var/ftp, группа ftp-usr, и шел /sbin/nologin
И как то странно себя ведет доступ. То он пускает user3 всюду и дает право на запись, то он пускает и дает на запись где надо /var/ftp/for_check/, но скачивать файлы из других папок не позволяет.
Или просто
Команда: PWD
Ответ: 550 PWD: Permission denied
Ошибка: Не могу получить список каталогов!
Помогите разобраться с доступом, заранее благодарю!
P.S. Ссылки на документацию, приветствуются.