Копаем глубже (vsproftp + fstab)

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

Аватара пользователя
Jasper83
Сообщения: 44
ОС: Linux Ubuntu 10.04 Lucid

Копаем глубже

Сообщение Jasper83 »

Вопросов по настройке фтп-сервера нет.
Директивы на запрет записи в определенную папку вроде не нашел, хотя пересмотрел их все.
Настроил фтп-сервер на анонимный доступ с правом записи в папку incoming.
В pub только чтение и выполнение (скачивание). Проблема в том, что после того, как я делаю mount --bind в pub, она открывается анонимному пользователю. Т.е. пользователь может удалить любой файл или папку. А так же создать директорию и пустой файл. И даже если сделать mount --bind -a ro , монтирование все равно происходит с правом на запись для всех.

Код:

$ cd /home/ftp/ $ /home/ftp$ ls -l итого 8 drwsrws-wt 2 jasper jasper 4096 2009-06-14 23:20 incoming drwxrwsr-x 2 jasper jasper 4096 2009-06-09 15:59 pub $ /home/ftp$ sudo mount --bind -o ro /media/hardD/FTP /home/ftp/pub sudo: unable to resolve host jasper-desktop [sudo] password for jasper: $ /home/ftp$ ls -l итого 8 drwsrws-wt 2 jasper jasper 4096 2009-06-14 23:20 incoming drwxrwxrwx 1 root root 4096 2009-06-15 02:23 pub $ /home/ftp$


Файл fstab

Код:

$ cat /etc/fstab # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # /dev/sda5 UUID=f1db8d49-9c47-4740-aee0-c08c8732ba6d / ext3 relatime,errors=remount-ro 0 1 # /dev/sda6 UUID=5e14221f-d183-4d83-bd3c-af911e149b72 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 #/dev/sdb5 UUID=66062CF5B54E4242 /media/hardD ntfs defaults 0 0 /media/hardD/FTP /home/ftp/pub ntfs bind 0 0


media/hardD ставил опцию "user,noauto", только ничего не выходило, да и не факт, что если я смогу подключить раздел от себя, а не от рута, то стану владельцем всего, что на разделе. На эту тему ничего не нашел. Нашел, что можно от имени пользователя делать монтирование. Но вот становится пользователем владельцем всего на разделе или нет, не нашел.
При mount --bind папка pub наследует свойства той папки, которую я монтирую. А так как та папка находится на разделе, который монтируется от рута, то она и становится открытой для меня, а значит и для анонимного пользователя.

Идеально было бы конечно стать владельцем раздела /media/hardD , чтобы на нем поменять права доступа на соответствующих объектах. Еще неплохой вариант, если даже я бы не смог менять содержимое непосредственно в /home/ftp/pub , но мог менять содержимое через сам раздел. Есть какой-то обход такой ситуации? С монтированием проблем нет, с автомонтированием тоже нет. Правда видел про ntfs-3g и не понял в чем разница от простого ntfs, но думаю, что к моей теме это не относится. :unsure:
переползаю
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: Копаем глубже

Сообщение Mage-Warrior »

Jasper83 писал(а):
15.06.2009 07:10
...
И даже если сделать mount --bind -a ro , монтирование все равно происходит с правом на запись для всех.

Note that the filesystem mount options will remain the same as those on the original mount point, and cannot be changed by passing the -o option along with --bind/--rbind.

(man mount)
Поэтому нужные права и опции нужно устанавливать в начальной точке монтирования.

Jasper83 писал(а):
15.06.2009 07:10
...
А так как та папка находится на разделе, который монтируется от рута, то она и становится открытой для меня, а значит и для анонимного пользователя.

Специально настраивали? Этим управляет опция ftp_username. Если она не установлена, то пользователь anonymous имеет права локального пользователя ftp.


Код:

$ /home/ftp$ ls -l итого 8 drwsrws-wt 2 jasper jasper 4096 2009-06-14 23:20 incoming drwxrwxrwx 1 root root 4096 2009-06-15 02:23 pub


rwx для всех на pub. Отсюда и права на запись.
Jasper83 писал(а):
15.06.2009 07:10
Правда видел про ntfs-3g и не понял в чем разница от простого ntfs, но думаю, что к моей теме это не относится. :unsure:

ntfs-3g предпочтительнее, так как более доработан. Монтируйте раздел с pub с такими опциями:

Код: Выделить всё

-o defaults, auto, fmask=0003, dmask=0002
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
Jasper83
Сообщения: 44
ОС: Linux Ubuntu 10.04 Lucid

Re: Копаем глубже

Сообщение Jasper83 »

Mage-Warrior писал(а):
15.06.2009 08:35
Note that the filesystem mount options will remain the same as those on the original mount point, and cannot be changed by passing the -o option along with --bind/--rbind.

(man mount)
Поэтому нужные права и опции нужно устанавливать в начальной точке монтирования.


В том то и дело, что на объекты в монтированном разделе права доступа не меняются. Пробывал от рута, ничего.

Mage-Warrior писал(а):
15.06.2009 08:35
Jasper83 писал(а):
15.06.2009 07:10
...
А так как та папка находится на разделе, который монтируется от рута, то она и становится открытой для меня, а значит и для анонимного пользователя.

Специально настраивали? Этим управляет опция ftp_username. Если она не установлена, то пользователь anonymous имеет права локального пользователя ftp.


Нет, настраивал не специально. При указании команды монтирования система ругается, что монтировать может только root. Что касается ftp_username, то я видел, что anonymous приравнивается к ftp и что это в порядке вещей вроде...

Код:

$ /home/ftp$ ls -l итого 8 drwsrws-wt 2 jasper jasper 4096 2009-06-14 23:20 incoming drwxrwxrwx 1 root root 4096 2009-06-15 02:23 pub


Mage-Warrior писал(а):
15.06.2009 08:35
rwx для всех на pub. Отсюда и права на запись.


Но ведь от себя на pub я запрещал запись для остальных. Это после bind она открылась, приняв опции той папки, которую в нее монтирую, и опции которой я не могу сменить.

Mage-Warrior писал(а):
15.06.2009 08:35
ntfs-3g предпочтительнее, так как более доработан.

Спасибо, буду знать.
Mage-Warrior писал(а):
15.06.2009 08:35
Монтируйте раздел с pub с такими опциями:

Код: Выделить всё

-o defaults, auto, fmask=0003, dmask=0002

-o - похоже на консоль, в fstab такого не видел. Зато auto - похоже на fstab...
переползаю
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: Копаем глубже

Сообщение Mage-Warrior »

Jasper83 писал(а):
15.06.2009 22:36
В том то и дело, что на объекты в монтированном разделе права доступа не меняются.

Как вы представляете unix-овую систему прав на NTFS разделе? Права там меняться и не должны, они устанавливаются при монтировании на все каталоги и файлы.
Jasper83 писал(а):
15.06.2009 22:36
Но ведь от себя на pub я запрещал запись для остальных. Это после bind она открылась, приняв опции той папки, которую в нее монтирую, и опции которой я не могу сменить.

Извините, но, видимо, пора направить Вас к man mount (поиск по слову bind - читать до понимания, что такое поведение стандартно).
Поехали дальше...
Введите от пользователя обычного в консоли команду id. Запомните uid (число). В своем fstab строку:

Код: Выделить всё

UUID=66062CF5B54E4242       /media/hardD    ntfs    defaults  0    0

замените на

Код: Выделить всё

UUID=66062CF5B54E4242       /media/hardD    ntfs-3g    auto,users,uid=__запомненный_uid__,gid=0,fmask=0113,dmask=0002 0    0

Так раздел будет автоматически монтироваться при запуске системы, все файлы будут принадлежать пользователю (вам). Вы и группа root-а будут иметь возможность записи и чтения, а все остальные только чтения. Опция users позволит монтировать и отмонтировать раздел любому пользователю системы.
Не забудьте установить нужные права на /media/hardD от root:

Код: Выделить всё

 # chown jasper:root /media/hardD
 # chmod 0775 /media/hardD
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
Jasper83
Сообщения: 44
ОС: Linux Ubuntu 10.04 Lucid

Re: Копаем глубже

Сообщение Jasper83 »

Mage-Warrior писал(а):
16.06.2009 08:42
Jasper83 писал(а):
15.06.2009 22:36
В том то и дело, что на объекты в монтированном разделе права доступа не меняются.

Как вы представляете unix-овую систему прав на NTFS разделе? Права там меняться и не должны, они устанавливаются при монтировании на все каталоги и файлы.
Извините, но, видимо, пора направить Вас к man mount (поиск по слову bind - читать до понимания, что такое поведение стандартно).

Так я понимаю, что это для нее нормально и мы с вами говорим об этом как об очевидном. Кстати ссылка хорошая, последнее время часто пользуюсь Opennet, поэтому там был.
Mage-Warrior писал(а):
16.06.2009 08:42
Так раздел будет автоматически монтироваться при запуске системы, все файлы будут принадлежать пользователю (вам). Вы и группа root-а будут иметь возможность записи и чтения, а все остальные только чтения. Опция users позволит монтировать и отмонтировать раздел любому пользователю системы.
Не забудьте установить нужные права на /media/hardD от root:

Код: Выделить всё

 # chown jasper:root /media/hardD
 # chmod 0775 /media/hardD


Снимаю шляпу перед вами, уважаемый.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
переползаю
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Копаем глубже

Сообщение drBatty »

Jasper83 писал(а):
16.06.2009 16:09
Так я понимаю, что это для нее нормально и мы с вами говорим об этом как об очевидном.
NTFS для FTP ИМХО плохой выбор:
1)вам не отрегулировать права
2)права в FTP не такие как на NTFS, а такие как в UNIX.
вы сами себе усложняете жизнь... Переползайте быстрее :)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Jasper83
Сообщения: 44
ОС: Linux Ubuntu 10.04 Lucid

Re: Копаем глубже

Сообщение Jasper83 »

скажите, а ntfs-3g уже не работает?

Хм. работает. Однако те параметры, что описаны выше уже не катят. В параметрах пытаюсь разобраться, какие-то нахожу, каких-то упоминание не нахожу. И вот какая проблема получилась на этот раз. Есть те же самые pub и incpming.
В incoming заливается без проблем. А вот из pub, даже если без бинда, скачивание идет, написано, что файл передан успешно, однако файл либо не открывается, либо открывается с худшим качеством (если видео), объем этих файлов одинаков. Такое может быть?
переползаю
Спасибо сказали:
Аватара пользователя
Jasper83
Сообщения: 44
ОС: Linux Ubuntu 10.04 Lucid

Re: Копаем глубже

Сообщение Jasper83 »

Подробности

Код: Выделить всё

  wolfer@wolf:~$ cd ~ftp
wolfer@wolf:/srv/ftp$ ls -la
итого 16
drwxr-xr-x 4 root   ftp    4096 2010-07-21 00:22 .
drwxr-xr-x 3 root   root   4096 2010-07-21 00:19 ..
drwxrws-wt 2 wolfer wolfer 4096 2010-07-21 00:22 incoming
drwxrwsr-x 2 root   wolfer 4096 2010-07-21 00:26 pub
wolfer@wolf:/srv/ftp$


конфиг... хотя там ошибке то негде быть

Код: Выделить всё

  #возможность работы в автономном режиме
listen=YES
#позволяем анонимных пользователей, учетки anonymous и ftp являются синонимами
anonymous_enable=YES
#разрешаем локальных пользователей (локальные пользователи - это те, которые
#зарегестрированы в системе, то есть на них есть учетные записи)
local_enable=YES
#разрешаем любые формы записи на FTP сервер
write_enable=YES
#разрешаем анонимным пользователям upload
anon_upload_enable=YES
# Хозяином аплоадных файлов автоматически становится heal (в vsftpd.conf?)
chown_uploads=YES
chown_username=wolfer
#разрешаем анонимным пользователям создавать директории
anon_mkdir_write_enable=YES
#разрешаем анонимным пользователям переименовывать файлы
anon_other_write_enable=YES
anon_umask=000
#у анонимов пароль спрашивать не будем
no_anon_password=YES
#директория нашей помойки (если пользователь присутствует)
anon_root=/srv/ftp/
#разрешаем соединение по 20 порту
connect_from_port_20=YES
#поддержка древних FTP клиентов
async_abor_enable=YES
#используем родное время, а не GMT
use_localtime=YES
#небольшое приветствие
ftpd_banner=Hello! We come in peace!
переползаю
Спасибо сказали:
Аватара пользователя
Jasper83
Сообщения: 44
ОС: Linux Ubuntu 10.04 Lucid

Re: Копаем глубже

Сообщение Jasper83 »

Проблема оказалась в сетевой карте... как ни странно.
переползаю
Спасибо сказали: