The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как спрятать пустые Самба папки?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Samba, вопросы интеграции Unix и Windows (Разное)
Изначальное сообщение [ Отслеживать ]

"Как спрятать пустые Самба папки?"  +1 +/
Сообщение от sambul25 (ok) on 02-Сен-12, 00:31 
Если выключить или демонтировать диск, смонтированный в расшаренную Самба папку, эта пустая папка остаётся расшаренной и доступной для записи файлов. При последующем авто монтировании диска в эту папку все эти файлы удаляются. Пустые папки также сбивают с толку пользователя, вызывая вопросы "Почему у меня нет доступа"?

Как сконфигурировать Самба чтобы прятала (перестала шарить) пустую папку после демонтажа диска из неё? Почему эта базовая очевидная функция отсутствует среди опций конфига?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Как спрятать пустые Самба папки?"  +/
Сообщение от tuxic (ok) on 02-Сен-12, 01:52 
> Если выключить или демонтировать диск, смонтированный в расшаренную Самба папку, эта пустая
> папка остаётся расшаренной и доступной для записи файлов. При последующем авто
> монтировании диска в эту папку все эти файлы удаляются. Пустые папки
> также сбивают с толку пользователя, вызывая вопросы "Почему у меня нет
> доступа"?
> Как сконфигурировать Самба чтобы прятала (перестала шарить) пустую папку после демонтажа
> диска из неё? Почему эта базовая очевидная функция отсутствует среди опций
> конфига?

Мне для себя- чисто поржать- чем функция очевидна???
Путь к папке пропал чтоли после того как вы диск демонтировали???
Вы папку расшарили, а самбе уже глубоко до лампочки являеться ли эта папка точкой монтирования диска или нет.
Попробуйте запросить как фичу у разработчиков.
Один вопрос к вам- а такая функция(очевидная на ваш взгялд) в windows есть?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как спрятать пустые Самба папки?"  +/
Сообщение от Etch on 02-Сен-12, 10:02 
> Один вопрос к вам- а такая функция(очевидная на ваш взгялд) в windows
> есть?

Там это by design: поставил винчестер - появился диск (E:), убрал винчестер - диск исчез.

Топикстартеру: попробуйте поставить нужные права на папку, чтобы запись в неё запретить. Ещё можно поиграть с автомонтированием, чтобы при вставке нужного диска в системе появлялся каталог и диск монтировался в него (а при вынимании диска - папка удалялась).

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как спрятать пустые Самба папки?"  +/
Сообщение от sambul25 (ok) on 02-Сен-12, 10:18 
Так автомонтирование почему-то не работает как надо: при удалении УСБ стиков созданные для них папки удаляются, а при отключении USB Enclosure папки не удаляются, хотя dmesg даёт одно и тоже сообщение об отключении диска для обоих случаев.

К тому же при удалении папки её расшаренная Самбой двойняшка остаётся в Проводнике, и при клике пользователя на неё надолго (если не навсегда) зависает Проводник.

К разрабам я обращался, никто из них не ответил. А фича эта очевидная, и такая опция должна быть в конфиге. Вообще то Самба создавалась подглядкой за сетевым протоколом Винды и как раз для расшаривания линух дисков в винде, и оставление пустых папок никак не объяснить тем что Самба - это Линух, к Винде мол не имеет отношения.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как спрятать пустые Самба папки?"  +/
Сообщение от Etch on 02-Сен-12, 15:39 
google://samba automount

http://uranus.chrysocome.net/linux/automount.htm - Предлагают сделать отдельную шару, внутри которой создать симлинки на точки монтирования. Если у вас каталог точки монтирования не удаляется, то можно на диске сделать отдельный каталог и указать симлинк уже на него. Правда, появляется лишния вложенность (шара->симлинк), и сама шара не исчезает при отмонтировании диска, но возможно вас это устроит.

Либо вариант - нанять программиста/самим написать патч и отправить его разработчикам.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Как спрятать пустые Самба папки?"  +/
Сообщение от sambul25 (ok) on 02-Сен-12, 17:24 
Спасибо, изучу этот подход. Ниже приведены правила udev-automount для USB дисков:

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"
PROGRAM="/usr/bin/grep -q ' %M:%m /[^ ]* /' /proc/self/mountinfo", PROGRAM!="/usr/bin/grep -q ' %M:%m / /media/' /proc/self/mountinfo", GOTO="media_$

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="hd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="noatime"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"


При выключении USB диска все его разделы авто демонтируются, но некоторые папки монтажа разделов не авто удаляются. Проверка типа lsof +D /media/USB1_Data показывает, что папка продолжает использоваться рядом процессов, включая Samba. Если затем вручную ввести umount /media/USB1_Data, то после этого папку можно вручную удалить rmdir , но даже и в этом случае не всегда.

Почему так происходит, и как изменить правила udev-automount, чтобы при демонтаже раздела диска отрубить kill все привязки процессов к его папке монтажа, не убив при этом сами процессы, т.к. они работают и с другими папками, в которых смонтированы диски?


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Как спрятать пустые Самба папки?"  +/
Сообщение от sambul25 (ok) on 02-Сен-12, 20:08 
В принципе можно добавить нечто типа fuser -k myfоlder в edev-automount, но это похоже убьёт сами процессы вместо их хэндлов. Как просигналить всем процессам / приложениям убрать хэндлы с уже пустой папки?
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Как спрятать пустые Самба папки?"  +/
Сообщение от Etch on 02-Сен-12, 22:05 
Посмотрите man smbcontrol. Там есть команда close-share, что делать с остальными процессами - хз. Там же есть команда reload-config - попробуйте на лету добавлять/убирать шары в конфиге и затем давать эту команду.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Как спрятать пустые Самба папки?"  +/
Сообщение от sambul25 (ok) on 03-Сен-12, 02:28 
Спасибо за подсказки. Но перезагрузка конфига требует рестарта Samba, a это как известно чревато зависанием и почти наверняка рестартом Проводника Винды, и после этого он ещё долго остаётся пустым, не видны даже локальные диски.

Конечно MS здорово подзапустила NetBios, поскольку они решили избавиться от него, но такая ситуация с обновлением сетевых папок в Проводнике просто позорна. Но и Самба разрабы здесь постарались добавить ложку дёгтя, хотя наоборот должны были всё сделать привычным для юзеров Винды при расшаривании в ней.

Надо что-то другое искать, рестарт Самбы не обещает поблажек от Винды. :)

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Как спрятать пустые Самба папки?"  +/
Сообщение от Etch on 03-Сен-12, 02:44 
> Спасибо за подсказки. Но перезагрузка конфига требует рестарта Samba,

С чего вы это взяли? Только что попробовал 'smbcontrol all reload-config' - время старта демонов самбы не изменилось. Правда я не менял конфиг, т.к. наткнулся на:
net usershare add sharename path [comment [acl] [guest_ok=[y|n]]] - to add or change a user defined share.
net usershare delete sharename - to delete a user defined share.

man net - для подробностей.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Как спрятать пустые Самба папки?"  +/
Сообщение от sambul25 (ok) on 03-Сен-12, 07:31 
Это похоже то что надо. :) Там есть ещё Net Share Delete. Попробуем добавить в udev-automount. А у Самбы есть подобная automount прога или фича? Может лучше туда эту команду добавить, если там можно отследить смонтированные диски...

reload-config думаю, и не должен изменить время старта демонов, но без их рестарта новый конфиг наверное не отразится на шарах.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Как спрятать пустые Самба папки?"  +/
Сообщение от sambul25 (ok) on 05-Сен-12, 18:30 
Получил ответ от Самба:

"You'll need to script this yourself by issuing removing the share
entry from smb.conf and using smbcontrol to close client connections
to that share and reload the config file.

Samba doesn't have logic to hook into your specific UNIX's method
of notifying dismounts (if it even has one)."

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Как спрятать пустые Самба папки?"  +/
Сообщение от sambul25 (ok) on 06-Сен-12, 17:27 
И продолжение:

"what we might be able to do is to add a scripting
interface to the "available" parameter that is checked every
time the share is about to be accessed. This would give a
flexible interface to whatever the OS provides."

Это похоже означает, что Самба админ должен знать, изменение какого параметра данной версии Линукс сигнализирует что расшаренный диск демонтирован.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Как спрятать пустые Самба папки?"  +/
Сообщение от Etch on 07-Сен-12, 02:13 
> Это похоже означает, что Самба админ должен знать, изменение какого параметра данной
> версии Линукс сигнализирует что расшаренный диск демонтирован.

Или этот скрипт может поставлять maintainer пакета в вашем дистрибутиве, т.е. всё вполне может работать из коробки, по идее. Было бы круто, если бы в самбе запилили такую фичу.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру