web-dev-qa-db-ja.com

Linux共有(samba)、実際に共有されているローカルディレクトリへのパスを持つすべての共有を一覧表示する方法

実用的な方法はありますか?共有名だけでなく、ローカル共有ディレクトリへのフルパスもリストするLinuxサーバー(Ubuntuディストリビューション)で定義されたすべての共有のリストを取得するnetコマンドまたは他のcli? samba構成ファイルやユーザー共有ファイルを確認する必要はありません。

1
a1an

いいえ、できません

smbclient -L 

共有を表示しますが、パスを見つけるにはsmb.confでこれを検索する必要があります。

0
Sirch

このスクリプトを試してください...お気軽に改善してください

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

はい、できます。

解決策( http://ubuntuforums.org/showthread.php?t=1304277&p=8186452#post8186452 のおかげで見つかりました)は、ディレクトリ/var/lib/samba/usersharesを調べることです。共有し、各ファイルにはローカルパスを含むpath=で始まる行があります

1
user377486