вторник, 8 апреля 2014 г.

proftpd, FreeBsd 10.0

1. устанавливаем /usr/ports/ftp/proftpd
    make install clean
    ставим с поддержкой nls

2. в /etc/rc.conf  добавляем proftpd_enable="YES"

3. перегружать будем командой /usr/local/etc/rc.d/proftpd restart

4. файл конфигурации находится в /usr/local/etc/proftpd.conf

5. добавляем пользователя ftp (без пароля и shell /usr/sbin/nologin) и группу ftp в систему (под этими пользователем и группой будет работать ftp-сервер)

6. создаем каталог для доступа по ftp, пр. mkdir -p /usr/ftp/public
    права на каталог:  chown -R ftp:ftp /usr/ftp/public
    

Примеры конфигурационного файла proftpd.conf

Для анонимного доступа

ServerName    "BSDServ FTP"
ServerType    standalone
DefaultServer    on
UseReverseDNS    off
IdentLookups    off
DefaultAddress    localhost
ScoreboardFile    /var/run/proftpd/proftpd.scoreboard
SystemLog    /var/log/proftpd-error.log

DenyFilter \*.*/

Port    21
Umask            022
MaxInstances        30
CommandBufferSize    512

# Set the user and group under which the server will run.
User        ftp
Group      ftp

DefaultRoot /usr/ftp/

# Normally, we want files to be overwriteable.
AllowOverwrite        on

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll
</Limit>

<Anonymous /usr/ftp>                
User    ftp
Group    ftp

UserAlias        anonymous ftp
AuthAliasOnly        on
RequireValidShell    off
AnonRequirePassword    off
MaxClients        20 "Try again later"

  <Limit LOGIN>

    AllowAll
  </Limit>
  <Limit WRITE>
    DenyAll
  </Limit>
</Anonymous> 

Для доступа по паролю

ServerName    "BSDServ FTP"
ServerType    standalone
DefaultServer    on
UseReverseDNS    off
IdentLookups    off
DefaultAddress    localhost
ScoreboardFile    /var/run/proftpd/proftpd.scoreboard
SystemLog    /var/log/proftpd-error.log

DenyFilter \*.*/

Port    21
Umask            022
MaxInstances        30
CommandBufferSize    512

# Set the user and group under which the server will run.
User        ftp
Group      ftp

RequireValidShell    on

DefaultRoot /usr/ftp/

# Normally, we want files to be overwriteable.
AllowOverwrite        on

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll
</Limit>

<Directory /usr/ftp/public>
   <Limit LOGIN>
     AllowGroup operator
     DenyAll
   </Limit>
   <Limit ALL>
     AllowGroup operator
     DenyAll
   </Limit>
</Directory>


Директива <Limit>

ALL (все команды (кроме LOGIN))
DIRS (CDUP, CWD, LIST, MDTM, MLSD, MLST, NLST, PWD, RNFR, STAT, XCUP, XCWD, XPWD)
LOGIN ()
READ (RETR, SIZE)
WRITE (APPE,DELE, MKD, RMD, RNTO, STOR, STOU, XMKD, XRMD)

Права

AllowAll
DenyAll 
AllowGroup grpname1, [grpnameN]
AllowUser user1,[userN]
DenyUser user1,[userN]
Allow from ip1, [ipN]




Комментариев нет:

Отправить комментарий