Автор Гілка: Proftpd  (Прочитано 3440 раз)

Відсутній Eremiya

  • Новачок
  • *
  • дописів: 3
  • Карма: +0/-0
  • Beta новости - beta.in.ua
Proftpd
« : 2005-11-07 15:57:16 »
Проблема з Proftpd. Ось мій конфіг:
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on

# Port 21 is the standard FTP port.
Port                            21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances                    30

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

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~/var/www/html root

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

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

# A basic anonymous configuration, no upload directories.  If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
<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

  # 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>
    AllowAll
  </Limit>

 <Directory pub>
    <limit WRITE READ STOR CWD>
        AllowAll
    </limit>
 </Directory>
</Anonymous>


Під анонімусом пускає в pub без прав запису. Але ніяк не можу зайти під юзером root в теку /var/www/html
Як прописати щоб конкретний користувач міг заходити в конкретну теку з правами запису?


Читайте будь ласка правила цього форуму. Тут дозволени дописувати або англійською, або українською.
« Змінено: 2005-11-08 02:57:53 від dusoft »

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Proftpd
« Відповідей #1 : 2005-11-08 11:59:21 »
Проблема з Proftpd.
...

Під анонімусом пускає в pub без прав запису. Але ніяк не можу зайти під юзером root в теку /var/www/html
Як прописати щоб конкретний користувач міг заходити в конкретну теку з правами запису?

Я в шоці.  :o

Всі паролі по FTP передаються у відкритому вигляді. Використовувати FTP для будь-якого користувача крім anonymous не рекомендується.

Якщо вам потрібно подивитися файл на сервері - ssh (PuTTY під Win) на сервер і дивіться там.
Якщо вам потрібно переписати - scp (pscp з PuTTY).
Якщо потрібен аналог ftp - sftp.

mc підтримує shfs. Far підтримує sftp (http://winscp.net/eng/index.php). Total Commander підтримує sftp (http://developer.berlios.de/projects/sftp4tc/).

ssh можна налаштувати на авторизацію по ключу, так що він не буде питатися пароль кожного разу.

[Fedora Linux]

Відсутній Eremiya

  • Новачок
  • *
  • дописів: 3
  • Карма: +0/-0
  • Beta новости - beta.in.ua
Re: Proftpd
« Відповідей #2 : 2005-11-08 12:43:24 »
Мій попередній пост наведенний для прикладу. І ім'я користувача root також. Я тільки почав навчатися linux і розбираюсь що до чого. Зараз розбираюся з proftpd і ніяк не можу зробити так щоб користувач після введення свого паролю потрапив не в home.
Згідно документації додав наступний код:
<Anonymous /var/www/html>
    User                        site
    Group                       site
    AnonRequirePassword on
    <Limit LOGIN>
        AllowAll
    </Limit>
</Anonymous>
але користувач site все одно заходить до свого домашнього каталогу.
Допоможіть!

Відсутній PAL

  • Графоман
  • ****
  • дописів: 317
  • Карма: +0/-0
  • Just linux admin
Re: Proftpd
« Відповідей #3 : 2005-11-08 13:52:42 »
1) Взагалі користувача root за замовчуванням до ftp не пустять (як й не повинні до ssh також). Лише на консолі (та й то, у деяких параноїків й на консолі не попадешь напряму)
2) дивись у напрямку Default Root (якщо треба зробити користувача, що лише поновлює веб сторінки)


Praporshic

  • Гість
Re: Proftpd
« Відповідей #4 : 2005-11-09 00:47:05 »
Проблема з Proftpd. Ось мій конфіг:
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~/var/www/html root

Ви хоч знаєте що є ота тильда (~) на початку? Ви просто відсилаєте користувачів до теки ./var/www/html що знаходиться у їх домашній теці. Тобто (наприклад, логін користувача - user) до /home/user/var/www/html і аж ніяк не до /var/www/html. І як йому не їти до домашньої теки  ;)? Просто приберіть ту ~ на початку:
Цитата
DefaultRoot /var/www/html root

Ну а взагалі, так тут вже писали - краще щось інше бо паролі йдуть plain text.....
« Змінено: 2005-11-09 00:48:54 від Praporshic »

Відсутній Eremiya

  • Новачок
  • *
  • дописів: 3
  • Карма: +0/-0
  • Beta новости - beta.in.ua
Re: Proftpd
« Відповідей #5 : 2005-11-09 15:17:55 »
Тепер:
DefaultRoot /var/www/html
i
<Anonymous /var/www/html>  
    User                        site  
    Group                       site  
    AnonRequirePassword on  
    <Limit LOGIN>  
       AllowAll  
    </Limit>  
</Anonymous>  
але все одно корисувач site отримує доступ до /home/user.

Praporshic

  • Гість
Re: Proftpd
« Відповідей #6 : 2005-11-10 23:36:50 »
Перепрошую, не розібрався до кінця у налаштуванні (сам робив через вебмін - не було нічого іншого, навіть ssh). У дефалтному конфігу (тому що йде з дистром) перед DefaultRoot написано, що треба разкоментувати якщо Ви бажаєте щоб користувачі отримували доступ до домашніх тек. Як я зрозумів, той DefaultRoot взагалі треба прибрати (закоментувати)

Відсутній PAL

  • Графоман
  • ****
  • дописів: 317
  • Карма: +0/-0
  • Just linux admin
Re: Proftpd
« Відповідей #7 : 2005-11-11 11:51:23 »
RTFM!!! На тему адміністрування юнікс систем.

Приклад вирішення проблеми:

1)
# useradd -d /var/www/html -s /bin/true webmaster
#passwd webmaster

2) права доступу до /var/www/html

# chgrp -R webmaster /var/www/html
# chmod -R g+w /var/www/html

3) перевірити, щоб у /etc/shells був рядок /bin/true
Якщо немає - добавити

4) у /etc/proftpd.conf розкоментувати DefaultRoot ~

5) для користувача-адміна (наприклад, логін eremiya) добавити

DefaultRoot / eremiya

Але користуватися лише всередині мережі (де не знайдеться сніфера). Якщо не впевнений - краще sftp або scp

6) читати багато цікавих книжок щодо основ безпеки та адміністрування юніксів - дуже корисно

7) користувач root не повинен мати прямий доступ до системи по мережі, лише локально

8) для користувача ftp серверу anonymous не можна давати доступу до системних каталогів.
Краще завести десь (наприклад, /var/ftp) теку, що й буде рутовою для цього користувача.

9) найкраще, щоб anonymous не мав взагалі прав на запис файлів до системи.

« Змінено: 2005-11-11 11:52:55 від PAL »