root 以外のユーザーとして Samba をマウントし、パスワードの入力を求められます。

root 以外のユーザーとして Samba をマウントし、パスワードの入力を求められます。

パスワードで保護されたSMB共有(Windowsコンピュータで提供)をマウントしたいと思います。共有はユーザー名とパスワードで保護されています。ファイルにパスワードを書き込めません。インストール時にパスワードの入力を求められます。

クライアントコンピュータのユーザーに管理権限がない場合でも、機能するソリューションが必要です。したがって、共有をマウントするためにどのような方法を使用しても、root権限を取得できません。初期インストールはrootとして実行できます。ユーザーはサーバー名を指定できる必要があります。私にとって本当に必要なのはUbuntu 12.04ですが、より広範囲に適用できるソリューションがより良いでしょう。

クライアントにヘッドがないので、コマンドラインツールを探しています。

私が試したこと:

  • mount.cifs: setuid ルートかもしれませんが、作者が安全ではないと思う。以下で実行してもsudo同じ問題があります。
  • smbnetfsfusesmb:私のパスワードを求めるメッセージを表示するように説得することはできません。
  • Nautilusとgvfs:gvfs-mount smb://servername/sharenamedisplayが失敗しますError mounting location: volume doesn't implement mount

root以外のユーザーとしてコマンドラインを介してSamba共有をマウントし、パスワードの入力を求めるにはどうすればよいですか?

答え1

「マウント位置エラー:ボリュームがマウントされていません」は、「D-Busが必要ですが使用できません」と解釈されます。 (ありがとうございます。Venturaxの同僚マスターこの情報をご覧ください。 )SSHセッションでは、最初に起動され、gvfs-mount環境dbus-daemon変数が設定されたセッションを使用できます。DBUS_SESSION_BUS_ADDRESS

export $(dbus-launch)
gvfs-mount smb://workgroupname\;username@hostname/sharename
# Type password
ls ~/.gvfs/'sharename on hostname'

gvfs-mount他のGVFSユーティリティはすべて同じD-Busセッションと通信する必要があります。したがって、複数のSSHセッションを使用する場合、またはログインセッション全体でマウントを使用する場合は、次のことを行う必要があります。

  • 遅くても初めて必要な場合は、D-Busを起動してください。
  • GVFSファイルシステムがマウントされている限り、D-Busがセッションを終了しないように注意してください。
  • ログイン時に既存のD-Busセッションを再利用します(存在する場合)。

バラよりログインセッション全体でD-Busセッションを再利用するそのような理由で。

答え2

SMBNetFSはデフォルトでGnome-keyringを使用します。 NautilusでSamba共有を検索するときに入力し、Gnomeキーリングに保存されているすべてのパスワードを自動的に使用する必要があります。したがって、パスワードをGnome-keyringに保存できる場合は、SMBNetFSがより便利になります。ネットワーク環境全体を自動的にインストールします。この情報はサンプルのSMBNetFS設定ファイルから取得されていますが、Gnomeを使用していないため、まだテストしていません。

X11なしでGnome Keyringを使用する方法の詳細については、以下を参照してください。Xなしでgnome-keyring-daemonを使用する

関連情報