Автор Тема: Правильная организация каталогов в vsftpd (решено)  (Прочитано 3391 раз)

Оффлайн XBM

  • Участник
  • *
  • Сообщений: 478
  • Бэкап - акт проявления трусости.
Поделитесь опытом, как правильно организовать в vsftpd каталоги пользователей.

Я сделал так:
На сервере, где крутится vsftpd созданы локальные пользователи buh и metodist (будет еще от 4 до 10 типов пользователей ), в fstab прописал
//192.168.4.10/repo /home/buh/repo cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.4.10/distrib /home/buh/distrib cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.4.2/uo-buh-doc /home/buh/uo-doc cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.114.14/redhouse-buh-doc /home/buh/redhouse-doc cifs _netdev,user=uo-user,password=xxxxx,iocharset=utf8,noatime,noexec,nodev,nosuid

//192.168.4.10/repo /home/metodist/repo cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.4.10/distrib /home/metodist/distrib cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.4.2/uo-metodist-doc /home/metodist/uo-doc cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.114.14/redhouse-other-doc /home/metodist/redhouse-doc cifs _netdev,user=uo-user,password=xxxxx,iocharset=utf8,noatime,noexec,nodev,nosuid
Для каждого последующего пользователя(группы пользователей) добавляется в fstab по 4-5 аналогичных строчек. Вроде как вполне рабочий вариант.
Существует более изящное решение?
symlink не работает при заходе по ftp.
« Последнее редактирование: 15.07.2011 07:16:50 от XBM »

Оффлайн bormant

  • Участник
  • *
  • Сообщений: 358
Бррр, vsftpd, ftp, cifs -- точно ничего лишнего в этом списке нет?

ps. И чтоб 2 раза не вставать... Хранить пароль в открытом виде в доступном всем по чтению файле /etc/fstab не самое удачное решение. Для cifs (man mount.cifs)
Цитата: man mount.cifs
credentials=filename
specifies a file that contains a username and/or password. The format of the file is:
username=value
password=value

This is preferred over having passwords in plaintext in a shared file, such as /etc/fstab. Be sure to protect any credentials file properly.
« Последнее редактирование: 14.07.2011 19:16:28 от bormant »

Оффлайн XBM

  • Участник
  • *
  • Сообщений: 478
  • Бэкап - акт проявления трусости.
Бррр, vsftpd, ftp, cifs -- точно ничего лишнего в этом списке нет?
Боюсь, что ничего лишнего.
Есть шлюз - школьный сервер 5.0. На нем iptables и крутится squid и vsftpd. А куча разных документов лежит на двух файловых серверах.
Как ещё можно организовать доступ снаружи к этим файлам? Пробрасывать 21 порт на файловый сервер?  А у меня их (серверов) два, да и ещё один ресурс вообще вне моей сети. Все равно как-то надо организовывать к нему доступ. И что б подведомственные организации подключались к ним по одному адресу, а не по трем.
Да и отработать настройку альтовского сервера не помешает.

ps. И чтоб 2 раза не вставать... Хранить пароль в открытом виде в доступном всем по чтению файле /etc/fstab не самое удачное решение. Для cifs (man mount.cifs)
Цитата: man mount.cifs
credentials=filename
specifies a file that contains a username and/or password. The format of the file is:
username=value
password=value
This is preferred over having passwords in plaintext in a shared file, such as /etc/fstab. Be sure to protect any credentials file properly.
Это - да, знаю, сделаю. Вот только придумаю (с помощью форума :) ) красивую схему подключения в vsftpd.
 

Оффлайн bormant

  • Участник
  • *
  • Сообщений: 358
//192.168.4.10/repo /mnt/share/repo cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.4.10/distrib /mnt/share/distrib cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.4.2/uo-buh-doc /mnt/share/uo-doc cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.114.14/redhouse-buh-doc /mnt/share/redhouse-doc cifs _netdev,user=uo-user,password=xxxxx,iocharset=utf8,noatime,noexec,nodev,nosuid

ln -s /mnt/share /etc/skel/share
for f in buh metodist ... ; do ln -s /mnt/share /home/share ; done

Имена произвольны, совпадения случайны...

Про "не работает симлинк" -- это было про именно этот случай? Если /mnt и /home на одном разделе, возможен хардлинк (или монтирование куда-то в /home/share) или mount --bind /mnt/share /home/buh/share; ...
« Последнее редактирование: 14.07.2011 20:37:27 от bormant »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
A cifs разве умеет монтировать ftp ресурсы?

Оффлайн bormant

  • Участник
  • *
  • Сообщений: 358
ruslandh,
вот и я поначалу это также "интертрепал", как оказалось неправильно...
Это попытка дать доступ по ftp пользователю в домашний каталог, в котором видны сетевые шары (прикручены по cifs).

Оффлайн XBM

  • Участник
  • *
  • Сообщений: 478
  • Бэкап - акт проявления трусости.
//192.168.4.10/repo /mnt/share/repo cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.4.10/distrib /mnt/share/distrib cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.4.2/uo-buh-doc /mnt/share/uo-doc cifs _netdev,user=user,password=0,iocharset=utf8,noatime,noexec,nodev,nosuid
//192.168.114.14/redhouse-buh-doc /mnt/share/redhouse-doc cifs _netdev,user=uo-user,password=xxxxx,iocharset=utf8,noatime,noexec,nodev,nosuid

ln -s /mnt/share /etc/skel/share
for f in buh metodist ... ; do ln -s /mnt/share /home/share ; done
Про "не работает симлинк" -- это было про именно этот случай?
Да, делал подобное.
При заходе по ftp пользователь у себя в хоме видит (пишу по памяти):
...
!distrib
!redhouse-doc
и зайти в эти псевдо-папки невозможно.
А вот mount --bind /mnt/share /home/buh/share; ... завтра попробую.



Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Да, делал подобное.
При заходе по ftp пользователь у себя в хоме видит (пишу по памяти):
...
!distrib
!redhouse-doc
и зайти в эти псевдо-папки невозможно.
Ссылки указывают вне chroot`а, в котором "работает" ftp.
Цитировать
А вот mount --bind /mnt/share /home/buh/share; ... завтра попробую.
Должно сработать.



Оффлайн XBM

  • Участник
  • *
  • Сообщений: 478
  • Бэкап - акт проявления трусости.
mount --bind /mnt/share /home/buh/share
Спасибо за помощь. Сработало!

Теперь пишу скрипт с "--bind(ами)" и запускаю его через rc.local
Кошерно?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
"Бинды" можно просто в /etc/fstab прописать