Создать временную акцию самбы


9

Есть ли возможность временно разделить каталог на Samba ?

С Python 3 я могу обслуживать текущий каталог по HTTP, используя:

python -m http.server,

Я хотел бы сделать то же самое с Самбой .


Является ли net share addкоманда , что вы ищете?
Дероберт

Или возможно net usershare...
Дероберт

Ответы:


1

Похоже, что нет способа создать специальный ресурс, подобный тому, как exportfsэто делается для NFS в Linux и shareв Solaris. Причины могут отличаться, но технически вы можете сделать что-то подобное описанному на странице « Запуск нескольких серверов на одном компьютере» и с помощью пользовательского smb.confвыполнить то, что вам нужно.

Существует также возможность динамического создания и удаления общих ресурсов с помощью SWAT , что потребует внесения изменений в smb.conf, чтобы это произошло, см. Разделы add share commandиdelete share command

Лично, если вы хотите иметь динамический общий ресурс, вы можете поделиться своим домашним каталогом и использовать динамические домашние общие ресурсы через samba, обсуждаемую во многих местах, включая форумы Ubuntu и список рассылки Samba .


1

В зависимости от возраста вашего демона samba и параметров конфигурации, использованных при его сборке, у вас все еще может быть возможность определить «динамический» общий ресурс в вашем файле smb.conf, указанный в скажем / var / dynamic /, см. Ниже, а затем просто добавьте символическую ссылку на каталоги, которые вы временно хотите использовать в каталоге.

Этот хак требует, чтобы для параметра широких ссылок было установлено значение yes , чтобы samba могла переходить по ссылкам вне корня общих ресурсов. К сожалению, пару лет назад команда Samba изменила свою конфигурацию по умолчанию, чтобы предотвратить широкое использование ресурсов, поскольку это может быть использовано. Google для: Samba и "широкие ссылки" для истории и обходных путей.

[dynamic]
    comment = Somewhere to park dynamic shares 
    path = /var/dynamic
    read only = Yes
    inherit acls = Yes
    follow symlinks = yes
    wide links = yes

Быстрый тест должен увидеть, если ваш товар, например,

mkdir -p /var/dynamic/test
cd /var/dynamic
ln -s test a_link
ln -s /tmp/  tmp_test

0

Допустим, вы хотите быстро поделиться / somefolder с каким-то временным пользователем только для чтения.

Добавьте системного пользователя:

useradd -r someuser

Часто по умолчанию папка доступна для чтения другим пользователем (проверьте с помощью ls -ld / somefolder), если вам нужно ее форсировать:

chmod -R o+r /somefolder

Добавьте пользователя в Samba с паролем, например:

smbpasswd -a someuser

Быстро отредактируйте smb.conf и добавьте внизу

[someshare]
path = /somefolder
read list = someuser

выйти, сохранить и, наконец, запустить

smbcontrol smbd reload-config

и вуаля.

Очевидно, что вы можете удалить раздел «someshare», как только закончите, и снова запустить команду reload-config.

Отказ от ответственности: я не полностью протестировал это, но я был поражен, насколько простым может быть ответ на вопрос. Вы можете пропустить некоторые шаги и сразу перейти к редактированию smb.conf, если у вас уже есть пользователь с существующим доступом к samba - именно то, с чем я только что столкнулся.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.