Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » ProFTPd: как скрестить доступ по паролю и анонимный доступ?

Ответить
Настройки темы
ProFTPd: как скрестить доступ по паролю и анонимный доступ?

Новый участник


Сообщения: 23
Благодарности: 1

Профиль | Отправить PM | Цитировать


Настраиваю FTP сервер на основе ProFTPd. Сначала он был настроен на чисто анонимный доступ без upload директории. Конфиг такой:
Цитата:
ServerName "My FTP"
ServerType standalone
DefaultServer on
AllowStoreRestart off
Port 21
Umask 022
MaxInstances 30
User nobody
Group nogroup
AllowOverwrite on
<Limit SITE_CHMOD>
DenyAll
</Limit>
PersistentPasswd off

<Anonymous ~ftp>
User ftp
Group ftp
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp

# Limit the maximum number of anonymous logins
MaxClients 10

# Don't make it require a valid password or shell.
RequireValidShell off
AnonRequirePassword off

# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message

# Limit WRITE everywhere in the anonymous chroot
<Limit WRITE>
DenyAll
</Limit>

</Anonymous>
Затем, понадобилось сделать доступ в одну из директорий отдельному пользователю, по паролю. Но при этом сохранить анонимный доступ. Почитал документацию, и сделал конфиг для доступа юзера с паролем:

Цитата:
ServerType standalone
DefaultServer on
Umask 022
ServerName "0.0.0.0"
ServerIdent on "My FTPD"
ServerAdmin Admin@this.domain.topdomain
IdentLookups off
UseReverseDNS off
Port 21
PassivePorts 49152 65534
#MasqueradeAddress None
TimesGMT off
MaxInstances 30
MaxLoginAttempts 3
TimeoutLogin 300
TimeoutNoTransfer 120
TimeoutIdle 120
DisplayLogin welcome.msg
DisplayFirstChdir .message
User nobody
Group nobody
DirFakeUser off nobody
DirFakeGroup off nobody
DefaultTransferMode binary
AllowForeignAddress on
AllowRetrieveRestart on
AllowStoreRestart on
DeleteAbortedStores off
TransferRate RETR 30
TransferRate STOR 40
TransferRate STOU 40
TransferRate APPE 40
SystemLog /var/log/secure
RequireValidShell off
#gp_random_username_length 6
#gp_random_password_length 6
#gp_randomize_case lower
#gp_useradd_homedir_path /var/ftp
#gp_useradd_upload_path /upload
#gp_html_path /var/www/html/ftp.htm
#gp_welcome_name welcome.msg
<IfModule mod_tls.c>
TLSEngine off
TLSRequired off
TLSVerifyClient off
TLSProtocol TLSv1
TLSLog /var/log/proftpd_tls.log
TLSRSACertificateFile /etc/gproftpd/gproftpd.pem
</IfModule>
<Limit LOGIN>
AllowUser someuser
DenyALL
</Limit>

<Anonymous /var/ftp/someuser>
User someuser
Group someuser
AnonRequirePassword on
MaxClients 5 "The server is full, hosting %m users"
DisplayLogin welcome.msg
DisplayFirstChdir .msg
<Limit LOGIN>
Allow from all
Deny from all
</Limit>
AllowOverwrite on
<Limit LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD XRMD SITE_RMDIR PWD XPWD SIZE STAT CWD XCWD CDUP XCUP >
AllowAll
</Limit>
<Limit SITE SITE_CHMOD SITE_CHGRP MTDM >
DenyAll
</Limit>
</Anonymous>
А вот как скрестить эти конфиги, чтобы юзер после логина попадал в свою директорию, а анонимы в свою, и файлы друг друга видеть не могли. Пытался я просто добавить конфиг юзера к анониму - любой логин приводит в директорию анонима. В примерах на proftpd.org есть только конфиг для анонимного доступа, или базовый или для виртуальных хостов.
Помогите, пожалуйста, кто знает!

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:13, 04-07-2007

 

Аватара для Telepuzik

Ветеран


Сообщения: 3722
Благодарности: 747

Профиль | Отправить PM | Цитировать


ruddystepa
Необходимо использовать параметр DefaultRoot
Пример:
DefaultRoot /var/ftp/pub/user1 user1
Пользователь user1 будет попадать в папку /var/ftp/pub/user1 и выше подняться не сможет.
Каталог /var/ftp/pub/user1 задается директивой <Directory /var/ftp/pub/user1>описание прав доступа</Directory>

-------
По'DDoS'ил и бросил :-)


Отправлено: 14:34, 04-07-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 23
Благодарности: 1

Профиль | Отправить PM | Цитировать


Telepuzik
А в какую часть файла настроек надо помещать директиву DefaultRoot? Дело в том, что если поместить блок:
<Anonymous ~ftp>
.....
</Anonimous>
в файле настроек выше, чем
<Anonymous /var/ftp/someuser>
.....
</Anonymous>

То при любой попытке someuser залогиниться он попадает в директорию анонимных пользователей, и в свою директорию не попадет. А если я ставлю блоки настроек в другом порядке - происходит обратное - someuser логинится в свою директорию, а анонимы вообще не могут зайти - клиент пишет - неверный логин.
Так куда помещать эту директиву? Глобально? Или в каждый из блоков для пользователей?
Если глобально, то как разделить эту директиву между пользователями?


Отправлено: 16:12, 04-07-2007 | #3


Аватара для Telepuzik

Ветеран


Сообщения: 3722
Благодарности: 747

Профиль | Отправить PM | Цитировать


ruddystepa
Цитата:
А в какую часть файла настроек надо помещать директиву DefaultRoot?
- ставиться глобально.
А почему у Вас две секции <Anonymous> ? - так работать не будет.
Для пользователя someuser необходимо описывать рабочий каталог через директиву <Directory>
В вашем случае должно быть что то типа этого:

Код: Выделить весь код
DefaultRoot /var/ftp/someuser someuser

<Directory /var/ftp/someuser>
#	Тут задаються права что можно пользователю
	<Limit WRITE>
		AllowUser someuser
	</Limit>
	<Limit READ>
		DenyUser someuser
	</Limit>
</Directory> 


<Anonymous ~ftp>
  User ftp
  Group ftp
  # We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias anonymous ftp

  # Limit the maximum number of anonymous logins
  MaxClients 10

  # Don't make it require a valid password or shell.
  RequireValidShell off
  AnonRequirePassword off

  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin welcome.msg
  DisplayFirstChdir .message

  # Limit WRITE everywhere in the anonymous chroot
  <Limit WRITE>
    DenyAll
  </Limit>

</Anonymous>

~ftp это каталог /var/ftp, соответственно если вы описывате для someuser рабочий каталог /var/ftp/someuser то anonymous будет видеть этот каталог, можно либо указать для someuser рабочий каталог не в /var/ftp, либо лишить доступа пользователя ftp к папке /var/ftp/someuser на уровне файловой системы и добавить в секцию <Anonymous> параметр HideNoAccess on

-------
По'DDoS'ил и бросил :-)


Отправлено: 12:00, 05-07-2007 | #4


Новый участник


Сообщения: 23
Благодарности: 1

Профиль | Отправить PM | Цитировать


Telepuzik
Спасибо! развел анонимуса и реального пользователя по разным каталогам (то есть задал <Anonymous /var/ftp/pub> ), и все стало нормально работать. А два блока Anonimous я подсмотрел в книжке Колисниченко - нормально работает и теперь даже без DefaultRoot каждый попадает в свою директорию и в другую залезть не может. А в случае с директивой <Directory> непонятно, откуда демон узнает, что с somuserа надо требовать пароль?

Отправлено: 15:46, 05-07-2007 | #5



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » ProFTPd: как скрестить доступ по паролю и анонимный доступ?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
AD_Win2003_SP2 Как сделать доступ с сети к ПК по паролю? freemanlutsk Microsoft Windows NT/2000/2003 2 06-09-2009 12:23
Доступ - Что за настройка ограничить анонимный доступ $IPC? cprrpc Microsoft Windows 7 0 06-07-2009 13:22
[решено] Анонимный доступ Mans2k Microsoft Windows NT/2000/2003 3 26-03-2009 12:16
Вопрос - Доступ по паролю Rustem Защита компьютерных систем 1 12-03-2009 15:24
Доступ к страничке по паролю XPurple Вебмастеру 2 11-11-2005 13:21




 
Переход