パスワードで保護されたSMB共有(Windowsコンピュータで提供)をマウントしたいと思います。共有はユーザー名とパスワードで保護されています。ファイルにパスワードを書き込めません。インストール時にパスワードの入力を求められます。
クライアントコンピュータのユーザーに管理権限がない場合でも、機能するソリューションが必要です。したがって、共有をマウントするためにどのような方法を使用しても、root権限を取得できません。初期インストールはrootとして実行できます。ユーザーはサーバー名を指定できる必要があります。私にとって本当に必要なのはUbuntu 12.04ですが、より広範囲に適用できるソリューションがより良いでしょう。
クライアントにヘッドがないので、コマンドラインツールを探しています。
私が試したこと:
mount.cifs
: setuid ルートかもしれませんが、作者が安全ではないと思う。以下で実行してもsudo
同じ問題があります。smbnetfs
、fusesmb
:私のパスワードを求めるメッセージを表示するように説得することはできません。- Nautilusとgvfs:
gvfs-mount smb://servername/sharename
displayが失敗します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を使用する。