Ответы:
Похоже, что нет способа создать специальный ресурс, подобный тому, как exportfs
это делается для NFS в Linux и share
в Solaris. Причины могут отличаться, но технически вы можете сделать что-то подобное описанному на странице « Запуск нескольких серверов на одном компьютере» и с помощью пользовательского smb.conf
выполнить то, что вам нужно.
Существует также возможность динамического создания и удаления общих ресурсов с помощью SWAT , что потребует внесения изменений в smb.conf, чтобы это произошло, см. Разделы add share command
иdelete share command
Лично, если вы хотите иметь динамический общий ресурс, вы можете поделиться своим домашним каталогом и использовать динамические домашние общие ресурсы через samba, обсуждаемую во многих местах, включая форумы Ubuntu и список рассылки Samba .
В зависимости от возраста вашего демона 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
Допустим, вы хотите быстро поделиться / 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 - именно то, с чем я только что столкнулся.
net share add
команда , что вы ищете?