Автор Тема: Конфигуррация на proftpd server  (Прочетена 2377 пъти)

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Конфигуррация на proftpd server
« -: Sep 19, 2006, 23:53 »
Привет,

имам инсталиран ftp server - "proftpd-1.3.0". Това, което искам да направя е следното: в системата има "реален" потребител с username="user & password="*****", който се логва и работи нормално в домашната си директория с ProFtpd, и искам да позволя на анонимнити логвания (без user&pass) да четат въпросната домашна директория.
По този начин ако се логнеш анонимно имаш права само за четене в тази директория, а ако се логнеш с username="user & password="*****" имаш и за писане.
Ето тук има описан такъв пример.
При мен проблема е, че с "реалния" потребител няма проблем, но опита за свързване, като анонимен такъ завършва с
Примерен код

USER anonymous

331 Anonymous login ok, send your complete email address as your password.
PASS xxxx
530-Unable to set anonymous privileges.
530 Login incorrect.

Ето какви са правата в за съответната директория:
Примерен код

 ls -la /home/
total 2
drwxr-xr-x  5 root root  128 Sep 20 01:11 .
drwxr-xr-x 19 root root  472 May 31 14:42 ..
-rw-r--r--  1 root root    0 Mar 11  2005 .keep
drwxr-xr-x 22 user user 1424 Sep 20 02:38 user


Ето и конфигурационния файл на ProFtpd:
Примерен код

ServerName                      "Senser ProFTPD server"
ServerType                      standalone
DefaultServer                   on

RequireValidShell               off
#AuthPAM                        on
#AuthPAMConfig                  ftp
RootLogin                       off

# Port 21 is the standard FTP port.
Port                            21

DebugLevel                      3

UseReverseDNS                   off
IdentLookups                    off

# 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                    5

DefaultRoot                     ~


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

# Normally, we want files to be overwriteable and resumed.
<Directory />
  AllowOverwrite                on
  AllowRetrieveRestart          on
  AllowStoreRestart             on
</Directory>

# A basic anonymous configuration, no upload directories.
<Anonymous ~user>
  User                          user
  Group                         users
  AnonRequirePassword           off
  MaxClients                    5
  AuthAliasOnly                 on

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

# We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias                     anonymous user

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

  <Limit READ DIRS STOR CWD CDUP>
      AllowAll
   </Limit>

</Anonymous>
Активен

coldy

  • Напреднали
  • *****
  • Публикации: 142
    • Профил
Конфигуррация на proftpd server
« Отговор #1 -: Sep 20, 2006, 01:27 »
Здравей, провери да не би да се пише:

<Anonymous ~/user> вместо <Anonymous ~user>

иии ако това не оправи нещата, покажи ни syslog или messages



Активен

Как правилно да задаваме въпроси:
http://linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=356333931
~
Името със сигурност е ГНУ/Линукс, а не Линукс.
Обяснено е тук: http://www.gnu.org/gnu/why-gnu-linux.html

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Конфигуррация на proftpd server
« Отговор #2 -: Sep 20, 2006, 07:55 »
Цитат (coldy @ Сеп. 20 2006,01:27)
Здравей, провери да не би да се пише:

<Anonymous ~/user> вместо <Anonymous ~user>

иии ако това не оправи нещата, покажи ни syslog или messages

за съжаление не е това проблем '<img'>

ето и съдържанието на syslog:
Примерен код

Sep 20 10:54:32 al_pacino proftpd[20747]: al_pacino (12.34.56.78[12.34.56.78]) - FTP session opened.
Sep 20 10:54:32 al_pacino proftpd[20747]: al_pacino (12.34.56.78[12.34.56.78]) - mod_delay/0.5: delaying for 267 usecs
Sep 20 10:54:32 al_pacino proftpd[20747]: al_pacino (12.34.56.78[12.34.56.78]) - user: Directory ~/user/ is not accessible.
Sep 20 10:54:32 al_pacino proftpd[20747]: al_pacino (12.34.56.78[12.34.56.78]) - FTP session closed.


пропуснал съм да го покажа в пъряи си пост, но заради тези редове в сислог съм дал какви са пермишъните на диреторията "/home/user" ...... макар че като гледам май се мъчи да достъпи друга директория '<img'>



Активен

coldy

  • Напреднали
  • *****
  • Публикации: 142
    • Профил
Конфигуррация на proftpd server
« Отговор #3 -: Sep 20, 2006, 14:12 »
До колкото си спомням, за да chroot-неш Anonymous като потребител 'user', задаваш в /etc/passwd нещо подобно на:

user:x:107:65534::/home/user:/bin/false

след което

<Anonymous ~user>  трябва да свърши работа. А това, което дадох за пример по-рано е грешно.
Активен

Как правилно да задаваме въпроси:
http://linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=356333931
~
Името със сигурност е ГНУ/Линукс, а не Линукс.
Обяснено е тук: http://www.gnu.org/gnu/why-gnu-linux.html

Ali Nebi

  • Напреднали
  • *****
  • Публикации: 394
  • Distribution: Centos, Debian, Fedora, Ubuntu
  • Window Manager: Gnome
    • Профил
Конфигуррация на proftpd server
« Отговор #4 -: Sep 20, 2006, 15:14 »
Ами така като гледам, май проблемът се дължи на това, че не си дал права на другите за четене, т.е.
дал си за запис, четене, търсене (изпълнение) за собственика на директорията, след това си дал четене и търсене за тези от групата на собственика и за другите само търсене, я пробвай този пермишън: 755
Активен

Не се задоволявай да бъдеш дим, когато можеш да бъдеш огън!

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Конфигуррация на proftpd server
« Отговор #5 -: Sep 20, 2006, 18:07 »
Цитат (ferrari_m @ Сеп. 20 2006,15:14)
Ами така като гледам, май проблемът се дължи на това, че не си дал права на другите за четене, т.е.
дал си за запис, четене, търсене (изпълнение) за собственика на директорията, след това си дал четене и търсене за тези от групата на собственика и за другите само търсене, я пробвай този пермишън: 755

е така като гледам и "/home " и "/home/user" са с права за четене от всички ......

Цитат (coldy @ Сеп. 20 2006,14:12)

До колкото си спомням, за да chroot-неш Anonymous като потребител 'user', задаваш в /etc/passwd нещо подобно на:

user:x:107:65534::/home/user:/bin/false

след което

<Anonymous ~user>  трябва да свърши работа. А това, което дадох за пример по-рано е грешно.


"user" e реален потребител в системата и не мога да му задам такива параметри в '/etc/passwd', а и честно казано не виждам как това ще помогне. Обясни моля те каква ти е идеята по-подробно да търся друг начин.

Мен лично най  ме притеснява ето този ред от лога:
Примерен код

Sep 20 10:54:32 al_pacino proftpd[20747]: al_pacino (12.34.56.78[12.34.56.78]) - user: Directory ~/user/ is not accessible.

аз поне си го "превеждам", че не може да се достъпи директория "/home/user/user", като приемем, че "~"="/home/user"



Активен

coldy

  • Напреднали
  • *****
  • Публикации: 142
    • Профил
Конфигуррация на proftpd server
« Отговор #6 -: Sep 20, 2006, 18:26 »
Здравей, говоря конкретно за

user:x:107:65534::/home/user:/bin/false

а ~user трябва да съответства на home directory-ата на 'user' ( въпросната Anonymous home directory ) поради което по-горе те упътих към /etc/passwd файла. Т.е. идеята е да провериш дали:

<Anonymous ~user>
 User                          user
 Group                         users

води до директорията която искаш да задедеш на Anonymous. Провери потребителя 'user' дали може да достъпи собствената си home directory колкото и абсурдно да звучи. Като гледам лога, всичко друго изглежда наред.

Успех!
Активен

Как правилно да задаваме въпроси:
http://linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=356333931
~
Името със сигурност е ГНУ/Линукс, а не Линукс.
Обяснено е тук: http://www.gnu.org/gnu/why-gnu-linux.html

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Конфигуррация на proftpd server
« Отговор #7 -: Sep 20, 2006, 18:49 »
въпросния ред в "/etc/passwd" изглежда така:
Примерен код

user:x:1000:100:users:/home/user:/bin/bash


Потребителя с username="user" може да достъпва домашната си директория, а също и да работи през ftp с username-a си и паролата си.

Относно "<Anonymous ~user>":
останах с впечатление че синтаксиса е <Anonymous ~ime_na_potrebitelq>, а не <Anonymous ~home_dir_na_potrebitelja>, за което може и да греша ....

Ако в конф файла се зададе <Anonymous /home/user> грешката при опит за анонимно логване в proftpd e :
Примерен код

Sep 20 21:53:11 al_pacino proftpd[22715]: al_pacino (192.168.0.4[192.168.0.4]) - user: Directory /home/user/ is not accessible.


Проверих и потребителя, под който работи proftpd също може да достъпва "/home/user"  '<img'>
Активен

coldy

  • Напреднали
  • *****
  • Публикации: 142
    • Профил
Конфигуррация на proftpd server
« Отговор #8 -: Sep 21, 2006, 01:41 »
Ок, а какво казва /var/log/proftpd/proftpd.log при вход на аnonymous като в същия момент е генериран запис и в syslog ?
Активен

Как правилно да задаваме въпроси:
http://linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=356333931
~
Името със сигурност е ГНУ/Линукс, а не Линукс.
Обяснено е тук: http://www.gnu.org/gnu/why-gnu-linux.html

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Конфигуррация на proftpd server
« Отговор #9 -: Sep 21, 2006, 08:40 »
Цитат (coldy @ Сеп. 21 2006,01:41)
Ок, а какво казва /var/log/proftpd/proftpd.log при вход на аnonymous като в същия момент е генериран запис и в syslog ?

Такъв лог при мен няма, а и в документацията навсякъде пише, че се използва "system log facility". Има възможност да се билдне модул ExtendLog, който да записва в отделен лог, но честно казано не мисля, че ще даде по-поезна информация за проблема  '<img'>

За синтаксиса на "<Anonymous >" си прав - задава се път до директория за достъп, даже в няколко форума, където търсих решение на проблема, задаването на обсолютен път без тилда "~" решава проблема.
Мислех да пиша и във форума на proftpd, но докато ползвах търсачката на форума им повечето теми, на които попаднах бяха без отговор и се отказах......

Експериментирах с различни конфигурации, но без успех - грешката винаги е:
Примерен код

Sep 21 11:34:24 al_pacino proftpd[31303]: al_pacino (12.34.56.78[12.34.56.78]) - user: Directory /home/user/ is not accessible.


П.П. Ето тук ппопаднах на същия проблем, но отново без решение.....



Активен

coldy

  • Напреднали
  • *****
  • Публикации: 142
    • Профил
Конфигуррация на proftpd server
« Отговор #10 -: Sep 21, 2006, 21:21 »
Предполагам ръководството което си следял за да стартираш ftp услугата е за различна от твоята версия, ето при мен как изглежда proftpd.conf файла идващ с дистрибуцията

Цитат
Include /etc/proftpd/modules.conf

ServerName                      "Debian"
ServerType                      standalone
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    off

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ListOptions                     "-l"

DenyFilter                      \*.*/

Port                            21
MaxInstances                    30

# Set the user and group that the server normally runs at.
User                            proftpd
Group                           nogroup

Umask                           022  022
AllowOverwrite                  on

TransferLog /var/log/proftpd/xferlog
# Тук е причината за отсъствието на proftpd.log при теб
SystemLog   /var/log/proftpd/proftpd.log


<IfModule mod_tls.c>
TLSEngine off
</IfModule>

<IfModule mod_quota.c>
QuotaEngine on
</IfModule>

<IfModule mod_ratio.c>
Ratios on
</IfModule>
<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine        on
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine on
</IfModule>

# A basic anonymous configuration, no upload directories.

 <Anonymous ~ftp>
   User                         ftp
   Group                                nogroup
   # We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias                    anonymous ftp
   # Cosmetic changes, all files belongs to ftp user
   DirFakeUser  on ftp
   DirFakeGroup on ftp

   RequireValidShell            off

   # 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
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>

   # Uncomment this if you're brave.
   # <Directory incoming>
   #   # Umask 022 is a good standard umask to prevent new files and dirs
   #   # (second parm) from being group and world writable.
   #   Umask                            022  022
   #            <Limit READ WRITE>
   #            DenyAll
   #            </Limit>
   #            <Limit STOR>
   #            AllowAll
   #            </Limit>
   # </Directory>

 </Anonymous>

така описан, proftpd.conf разрешава на anonymous да влезе в /home/ftp

Цитат
coldy@coldy:~$ ftp 192.168.10.22
Connected to 192.168.10.22.
220 ProFTPD 1.3.0 Server (Debian) [::ffff:192.168.10.22]
Name (192.168.10.22:coldy): anonymous
331 Anonymous login ok, send your complete email address as your password.
Password:
230-Welcome, archive user anonymous@::ffff:192.168.10.22 !
230-
230-The local time is: Thu Sep 21 21:13:42 2006
230-
230-This is an experimental FTP server.  If have any unusual problems,
230-please report them via e-mail to <root@unknown.bounceme.net>.
230-
230 Anonymous access granted, restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/" is current directory.
ftp> dir
200 PORT command successful
150 Opening ASCII mode data connection for file list
-rw-r--r--   1 ftp      ftp           166 Jun  1 18:29 welcome.msg
226 Transfer complete.
ftp>


Обърни внимание че стандартния proftpd.conf използва за Anonymous:

Цитат
<Anonymous ~ftp>
   User                         ftp
   Group                                nogroup

Ето и частта от /etc/password за "ftp":
Цитат
ftp:x:107:65534::/home/ftp:/bin/false

Надявам се, че след добавянето на реда с който можеш да следиш proftpd.log ще се ориентираш в ситуацията.

Успех!
Активен

Как правилно да задаваме въпроси:
http://linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=356333931
~
Името със сигурност е ГНУ/Линукс, а не Линукс.
Обяснено е тук: http://www.gnu.org/gnu/why-gnu-linux.html

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
proftpd
Настройка на програми
webster 0 2102 Последна публикация Feb 27, 2003, 00:44
от webster
ProFTPD
Настройка на програми
Gorbachov 1 2259 Последна публикация Jun 25, 2003, 18:09
от sunhater
ProFTPd
Настройка на програми
mozly 12 3998 Последна публикация Nov 24, 2003, 19:45
от mozly
ProFTPD Server
Настройка на програми
SinFull 5 1063 Последна публикация Oct 25, 2004, 21:06
от sys7em
квоти при ProFTPd
Настройка на програми
FuckBTK 4 2289 Последна публикация Dec 31, 2004, 02:54
от FuckBTK