Есть ли практический способ, например 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, чтобы найти путь.