Имеется такой же вопрос только немного дополнений:
имеется proftp, в качестве пользователей юзаются виртуальные которые записаны в его файлик
ftpd.passwd
в конфиге соответственно прописано
DefaultRoot /home/ftp
AuthUserFile /etc/proftpd/ftpd.passw
AuthGroupFile /etc/proftpd/ftpd.group
пароли генерятся скриптом который в файлик выдает нечто подобное
# cat /etc/proftpd/ftpd.passwd
1234:$1$A9Sq5PAQ$crsbbc9lMxACw2YDMD6y41:106:65534::/usr/ftp:/bin/false
test:$1$mhmCeqDI$77g2s7TCUf.drQmV8qsj6.:106:65534::/usr/ftp:/bin/false
сам скрипт таков:
#! /bin/bash
echo "enter login";
read user;
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=$user --shell=/bin/false --home=/home/ftp --uid=107 --gid=65534;
ftpasswd --group --file=/etc/proftpd/ftpd.group --name=nogroup -m users --gid 65534;
где UID и GID от пользователя proftpd
то есть указывает логин, хэш пароля.. в качестве юзерИД юзается ИД ftpd юзера и его группа соответственно
но при заходе на сервак - говорит болт - логопасс не верен
полный конфиг proftpd
# cat /etc/proftpd/proftpd.conf
Include /etc/proftpd/modules.conf
UseIPv6 off
IdentLookups off
ServerName "WebHost FTP"
ServerType standalone
ServerIdent off
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayChdir .message true
ListOptions "-l"
DenyFilter \*.*/
Port 21
MaxInstances 175
User proftpd
Group nogroup
Umask 022 022
AllowOverwrite on
RequireValidShell no
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log
# Здесь мы подкрутим формат лога - заведем ещё один лог-файл с "человеческим" форматом
LogFormat custom "%t [pid %P] [%u] from ip: %a %m %f [transferred %b bytes for %T seconds]"
ExtendedLog /var/log/proftpd/transfer.log read,write custom
# Modules
<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>
# Define Virtual users and their permissions
DefaultRoot /home/ftp
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
<directory /home/ftp>
<limit READ DIRS>
Order allow,deny
AllowGroup users
DenyAll
</limit>
<limit WRITE>
DenyAll
</limit>
</directory>
<directory /home/ftp/lord>
<limit READ WRITE DIRS>
Order allow,deny
AllowUser lord
DenyAll
</limit>
</directory>
<directory /home/ftp/upload>
<limit READ WRITE DIRS>
AllowAll
</limit>
</directory>
#<directory /usr/ftp/>
# <limit WRITE>
# Order allow,deny
# AllowUser accountant
# DenyAll
# </limit>
# <limit READ DIRS>
# Order allow,deny
# AllowUser accountant
# AllowUser boss
# DenyAll
# </limit>
#</directory>
#<directory /usr/ftp/office>
# <limit WRITE>
# Order allow,deny
# AllowUser office
# DenyAll
# </limit>
# <limit READ DIRS>
# Order allow,deny
# AllowUser office
# AllowUser boss
# DenyAll
# </limit>
#</directory>
Что собссно делать то?