Назад | Перейти на главную страницу

linux share (samba), как вывести список всех общих ресурсов с указанием пути к локальному каталогу, который фактически используется

Есть ли практический способ, например net или другой cli, чтобы получить список всех общих ресурсов, определенных на сервере Linux (дистрибутив Ubuntu), с указанием не только имени общего ресурса, но и полного пути к локальному общему каталогу? Без необходимости смотреть файлы конфигурации samba или общие файлы пользователей.

Да, ты можешь.

Решение (найдено благодаря http://ubuntuforums.org/showthread.php?t=1304277&p=8186452#post8186452) - посмотреть в каталог /var/lib/samba/usershares : он содержит по одному файлу на общий ресурс, и у каждого файла есть строка, начинающаяся с path= содержащий локальный путь

Попробуйте этот скрипт ... не стесняйтесь его улучшать

#!/bin/bash
while read line; do
    [[ "$line" =~ ^\[ ]] && name="$line"
    [[ "$line" =~ ^[[:space:]]*path ]] && echo -e "$name\t$line"
done </etc/samba/smb.conf

Нет ты не можешь

smbclient -L 

Показывает общие ресурсы, но вы должны посмотреть это в smb.conf, чтобы найти путь.