1

Здравствуйте такая проблема, в нете нарыть не смог, тут вроде тоже нет.
Есть сервер на нем стоит ubuntu 10.04, на этой машине висит ftp сервер ProFTPD,  папка для ftp находиться на диске в файловой системе ntfs. Переформатировать в нормальную файловую систему винт пока возможности нет, так вот вопрос можно ли реализовать такое, чтобы на фтп сервер можно было записывать файлы, но нельзя было удалить, вход на фтп производиться по логину и паролю. Как говорили что в ntfs нельзя ограничить запись и удаление.
Извиняюсь за возможно не точно сформулированный вопрос) просто пока в этом новичок.

2 (28.02.2011 12:45:38 отредактировано Kettler)

А какая разница какая фаловая система. Главное правильно настроить сам фтп.
И всё получиться! Ведь можно задать limit на комманды которые можно выполнять.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

3 (28.02.2011 12:59:28 отредактировано Tlen)

Kettler пишет:

А какая разница какая фаловая система. Главное правильно настроить сам фтп.
И всё получиться! Ведь можно задать limit на комманды которые можно выполнять.

А можно поподробнее хоть немножко) где искать в конфиг файле?

4

http://www.proftpd.org/docs/howto/Limit.html

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

5

)) Я по моему писал что новичок, совсем совсем новичок)) мне бы просто объяснить на пальцах как это работает и что для этого нужно будет сделать, а не давать огромную документацию на буржуйском языке.)

6 (28.02.2011 13:58:30 отредактировано Kettler)

===== Настройка FTP сервера на примере PROFTPD =====

Устанавливаем сам сервер

apt-get install proftpd

Открываем файл /etc/shells:

nano /etc/shells

Добавляем в конец

/bin/false

Теперь создадим директорию под ftp, это будет папка FTP в /home каталоге:

mkdir /home/FTP

Нам нужно создать пользователя с ником userftp:

useradd userftp -p пароль! -d /home/FTP -s /bin/false

После всего этого переименовываем файл proftpd.conf, что присутствует в системе, он нам не нужен, вместо него создадим и отредактируем свой:

mv /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.sample
nano /etc/proftpd/proftpd.conf

нам открылся файл для редактирования, добавляем в него следующее:

    # имя сервера, которое высвечивается при подключении
    ServerName "server"
    ServerType standalone
    # делаем сервером по умолчанию
    DefaultServer on
    ScoreboardFile /var/run/proftpd/proftpd.scoreboard
    
    Port 21
    # отключаем IPv6
    UseIPv6 off
    Umask 002
    
    # Приветствие при успешной регистрации на ftp-сервере
    AccessGrantMsg «Добро пожаловать!!!»
    # идентификация
    ServerIdent on «My FTP-Server»
    
    MaxInstances 30
    CommandBufferSize 512
    # под кем работаем
    User proftpd
    Group nogroup
    
    # Логи
    UseReverseDNS off
    ExtendedLog /var/log/proftpd/ftp.log
    TransferLog /var/log/proftpd/proftpd-tranfer.log
    SystemLog /var/log/proftpd/proftpd-error.log
    
    # запрещаем использования SITE CHMOD
    <Limit SITE_CHGRP SITE_CHMOD>
       DenyAll
    #  AllowUser userftp
    </Limit>
    
    # настройки, которые активны для всех
    <Global>
    # домашняя папка пользователя - это то, куда будет подключаться пользователь по умолчанию
    DefaultRoot ~
    # запрещаем подключаться от пользователя root
    RootLogin off
    # максимальное число попыток залогиниться
    MaxLoginAttempts 5
    # как ни странно, это запрещает авторизоваться пользователям из списка /etc/ftpusers
    UseFtpUsers on
    # позволяем продолжать скачивания и закачки
    AllowRetrieveRestart on
    AllowStoreRestart on
    
    LoginPasswordPrompt on
    DirFakeGroup on
    MaxClients 15
    tcpNoDelay on
    # удаляем незавершенные закачки
    DeleteAbortedStores on
    # разрешаем подключаться пользователям, у которых нет командной оболочки
    RequireValidShell off
    # указываем, что будем использовать порты 24000-26000 для PASV режима
    PassivePorts 24000 24003
    # без этой опции нельзя будет перезаписывать файлы
    AllowOverwrite On
    # а без этой будет выскакивать ошибка SECURITY VIOLATION: Passive connection from {host} rejected
    AllowForeignAddress On
    
    <Directory /home/FTP/>
    # прячем файлы, которые принадлежат пользователю root
    HideUser root
    # прячем файлы, которые пользователь не может изменить
    HideNoAccess on
    </Directory>
    </Global>
    # если не выключить эти две опции, то фтп при подключении будет сильно тормозить
    IdentLookups off
    UseReverseDNS off
    #Тут права и директория
    <Directory  /home/FTP>
        <limit ALL>
                Order allow,deny
                AllowUser userftp
                DenyAll
        </limit>
    </directory>

Стартуем:

/etc/init.d/proftpd start

Вот тут и указываем права

<limit CWD PWD DIRS READ>
                Order allow,deny
                AllowUser userftp
                DenyAll
        </limit>

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

7

Все привет.

Похожая или такая же проблема, и такой же новичок) Решил опробывать Линукс.

Пользуюсь Proftpd c оболочкой Gproftpd

пользователь white2 не работает так как его путь на файловой системе нтфс, а white работает.

Пробивал:
"Открываем файл /etc/shells:
nano /etc/shells
Добавляем в конец
/bin/false"

Но мне отказано в доступе, не могу ничего изменить.


Вот что сичас настроил.

+ открыть спойлер

ModulePath /usr/lib/proftpd
LoadModule mod_ctrls_admin.c
LoadModule mod_tls.c
LoadModule mod_radius.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c
LoadModule mod_quotatab_radius.c
LoadModule mod_wrap.c
LoadModule mod_rewrite.c
LoadModule mod_load.c
LoadModule mod_ban.c
LoadModule mod_wrap2.c
LoadModule mod_wrap2_file.c
LoadModule mod_dynmasq.c
LoadModule mod_vroot.c
LoadModule mod_ifsession.c
ServerType standalone
DefaultServer on
Umask 022
ServerName "100.100.100.100"
ServerIdent on "FTP ArtSirius"
ServerAdmin artsirius.lviv@gmail.com
IdentLookups off
UseReverseDNS off
Port 21
PassivePorts 49152 65534
MasqueradeAddress 100.100.100.100
TimesGMT off
MaxInstances 30
MaxLoginAttempts 3
TimeoutLogin 300
TimeoutNoTransfer 120
TimeoutIdle 120
DisplayLogin welcome.msg
DisplayChdir .message
User nobody
Group nobody
DirFakeUser off nobody
DirFakeGroup off nobody
DefaultTransferMode binary
AllowForeignAddress off
AllowRetrieveRestart on
AllowStoreRestart on
DeleteAbortedStores off
TransferRate RETR 40000
TransferRate STOR 40000
TransferRate STOU 40000
TransferRate APPE 40000
SystemLog /var/log/secure
RequireValidShell off
<Limit LOGIN>
  AllowUser white2
  AllowUser white
  DenyALL
</Limit>

<Anonymous /media/SASHA/WORK/FTP/white>
User white2
Group Art
AnonRequirePassword on
MaxClients 10 "The server is full, hosting %m users"
DisplayLogin welcome.msg
DisplayChdir .msg
<Limit LOGIN>
Allow from All
Deny from all
</Limit>
AllowOverwrite off
<Limit LIST NLST  STOR STOU  APPE  RETR  PWD XPWD  SIZE  STAT  CWD XCWD  CDUP XCUP >
AllowAll
</Limit>
<Limit RNFR RNTO  DELE  MKD XMKD SITE_MKDIR  RMD XRMD SITE_RMDIR  SITE  SITE_CHMOD  SITE_CHGRP  MTDM >
DenyAll
</Limit>
<Directory /home/rasamaxa/FTP>
AllowOverwrite off
<Limit LIST NLST  STOR STOU  APPE  RETR  RNFR RNTO  PWD XPWD  SIZE  STAT  CWD XCWD  CDUP XCUP >
AllowAll
</Limit>
<Limit DELE  MKD XMKD SITE_MKDIR  RMD XRMD SITE_RMDIR  SITE  SITE_CHMOD  SITE_CHGRP  MTDM >
DenyAll
</Limit>
</Directory>
<Directory /media/SASHA/WORK/FTP/white>
AllowOverwrite on
<Limit LIST NLST  STOR STOU  APPE  RETR  RNFR RNTO  DELE  MKD XMKD SITE_MKDIR  RMD XRMD SITE_RMDIR  SITE  SITE_CHMOD  SITE_CHGRP  MTDM  PWD XPWD  SIZE  STAT  CWD XCWD  CDUP XCUP >
AllowAll
</Limit>
<Limit NOTHING >
DenyAll
</Limit>
</Directory>
</Anonymous>

<Anonymous /home/rasamaxa/FTP>
User white
Group Art
AnonRequirePassword on
MaxClients 10 "The server is full, hosting %m users"
DisplayLogin welcome.msg
DisplayChdir .msg
<Limit LOGIN>
Allow from All
Deny from all
</Limit>
AllowOverwrite off
<Limit LIST NLST  STOR STOU  APPE  RETR  PWD XPWD  SIZE  STAT  CWD XCWD  CDUP XCUP >
AllowAll
</Limit>
<Limit RNFR RNTO  DELE  MKD XMKD SITE_MKDIR  RMD XRMD SITE_RMDIR  SITE  SITE_CHMOD  SITE_CHGRP  MTDM >
DenyAll
</Limit>
<Directory /home/rasamaxa/FTP>
AllowOverwrite off
<Limit LIST NLST  STOR STOU  APPE  RETR  RNFR RNTO  PWD XPWD  SIZE  STAT  CWD XCWD  CDUP XCUP >
AllowAll
</Limit>
<Limit DELE  MKD XMKD SITE_MKDIR  RMD XRMD SITE_RMDIR  SITE  SITE_CHMOD  SITE_CHGRP  MTDM >
DenyAll
</Limit>
</Directory>
</Anonymous>

Подскажите что делать?

8

RASAMAXA пишет:

Подскажите что делать?

без NTFS никак? тогда монтируйте её с umask=0000, хотя это дыра.... такая дыра...
если нет каталогов, то umask=0111, если заливка не нужна и нет каталогов 0333
там права очень сложно задать ac

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

9

У меня какая ситуация.

Стоит 2 ОС (Линукс и Win7)

Иду на работу включаю Линукс, прихожу и надо работать включаю Win7 так как работаю в Adobe premiere, illustrator, flash i Photosop.

А так чтоб не раскидать по разным папкам сделал на диске с НТФС (так как Линукс видед ету файловую систему, что нельзя сказать о Win7 которая не видит файловую систем Линукса)

Есть еще раздел ФАТ32, с ним не пробывал

У меня папка находится по пути D:\Work\FTP\user

10

RASAMAXA пишет:

У меня папка находится по пути D:\Work\FTP\user

1) создайте в домашнем каталоге юзера white2 каталог data.
2)* создайте каталог /mnt/D
3)* пропишите в /etc/fstab

/dev/sda1        /mnt/D     ntfs-3g     users                         1   0
/mnt/D   /home/white2/data auto bind 0 0

тут sda1 это ваш диск D: (замените на свой)
старое упоминание диска D вычеркнете (поставьте # в самом начале строки)
4)* mount -o remount /mnt/D
5)* mount /home/white2/data
(эти команды должны молча завершится)
6) перезагрузитесь
7) PROFIT - у юзера white2 есть каталог /home/white2/data, куда он может читать и писать. а каталог на NTFS.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

11

забыл сказать - перед командами надо закрыть ВСЕ программы, которые юзают диск Д. и остановить proftpd.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

12

Буду пробывать.