コマンドラインからSMB共有をマウントするにはどうすればよいですか?


78

コマンドライン(端末)からSMBネットワーク共有をマウントしたいと思います。それについてどうやって行くの?

Mac OS X 10.6.4を使用しています。

回答:


71

mount_smbfs(これは、実際にはのラッパーですmount -t smbfs)を使用して簡単に実現できます。

mount_smbfs //user@SERVER/folder ./mntpoint

オプションで、ワークグループを追加します。

mount_smbfs -W workgroup //user@SERVER/folder ./mntpoint

もちろん、./mntpoint(などの/Volumes/smb)を変更することもできます。

これを行った後、単に./mntpointあなたのデータを閲覧するために行きます。

アンマウントするには、次のコマンドを使用します。

umount ./mntpoint

2
私は、「mount_smbfs:mount error:path:Input / output error」を取得しますが、Finderを介してfind-> Serverに接続しますか?
イアンヴォーン

ユーザー名に@文字が含まれている場合はどうすればよいですか?たとえば、xyz @ microsoft.comのようなMicrosoftアカウントを使用している場合 ユーザー名を一重引用符と二重引用符で指定しようとしましたが、
うまく機能しませんでした

2
私はこのエラーを取得する:mount_smbfs: could not find mount point /Volumes/Share: No such file or directory
イウリアンOnofrei

11
man mountOS X Yosemite からの引用:Note: You should always use the system mount command and never call mount_smbfs directly.
ssc

3
@Yashvit:「@」を「%40」に変更
-WGroleau

70

open(1)コマンドとURLを使用します。

open 'smb://username:password@server/share'

長所:マウントポイントを作成/Volumesします。

短所:Finderが実行されている必要があります。


4
私はローカルネットワークでのクイック接続にこのバージョンを好んでおり、すべてのユーザーが知られているので、これはmount_smbfsを使用するより簡単なコマンドです-実際には存在しないパスに関する問題があります-一方、新しいサーバーに接続する必要がある場合特別なファイルシステム、または別のユーザーを試す必要があるか、別のマウントポイントが必要でした-わかりました-しかし、これはどのくらいの頻度で... よくやった!OK、私はまだFinderを実行しているターミナルフリークですが、それは私たちの90%のようですよね?
hexereiソフトウェア

Finder少なくともプロセスとして常に開かれているわけではありませんか?
ユリアンオノフレイ16

1
@Iulian Onofrei:ユーザーがインタラクティブにログインしない限り、そうではありません。ジョブで直接mountコマンドを使用する必要がありましたcronopenコマンドを使用すると、たとえば停電などの対話型セッションがなくなった場合、これらは失敗します。
ジョージ

また、openコマンドが後でネットワークドライブに接続できなかった場合でも、コマンドをFinderに渡すと成功したかのように常に終了することに注意してください。
ジョナサンレン

24

マウントのヘルプをご覧ください:

man mount

よく見ると、ファイルシステムのタイプは次のとおりです。

mount -t smbfs //username:password@MACHINENAME/SHARENAME /SomeLocalFolderOfChoice

パスワード(および理論的にはユーザー名)はオプションです。

上記のコマンドの結果は出力されません(すべてがうまくいった場合)が、a cd /SomeLocalFolderOfChoiceはリモートの結果を生成するはずです。SomeLocalFolderofChoiceが存在する必要があることに注意してください。

mount_smbfsを使用して、mount -t smbfsを置き換えることもできます。


5

起動時にそれらをマウントするために私が働いたのは:

==> /etc/auto_master <==
#
# Automounter master map
#
+auto_master        # Use directory service
/net            -hosts      -nobrowse,hidefromfinder,nosuid
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
/-          auto_smb          # add this line <**********

==> /etc/auto_smb <==         # Create this if it doesn't exist <****
/(not Volumes)/Public   -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Public
/(not Volumes)/ WGroleau -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Students/wes_groleau

何らかの理由で、サーバーの短縮名もFQDNも機能しなかったため、「ping(名前)」を使用してIPを取得しました。つまり、DNSは名前を解決しますが、mount_smbfsはできませんでした。

起動すると削除されるため、マウントポイントを/ Volumesに配置できませんでした。

1つの癖:これが数日間、2、3日間正常に機能した後、LibreOffice、Adobe Reader、Finderは2つの共有の1つを見つけることができませんでしたが、シェルとTextEditには問題がありませんでした。その2、3日後、それは不思議なことに再び働き始めました。

これらの編集を行い、再起動したくない場合は、「auto mount -vc」でそれらをマウントできます。

更新:その他の癖。(1)ここには2つのWiFiシステムがあり、そのうちの1つはWindowsサーバーにアクセスできません。週に数回、一方または両方のルーターがダウンします。「良いもの」がダウンし、MacBookが自動的に他の1つに接続した場合、ドライブがオフラインであることを知らせるのではなく、SMBドライバーは「Too many users」と言います。(2)週に数回、Windowsファイルにアクセスしようとすると「許可が拒否されます」。通常、これは約30分続きます。その間、ウィンドウズバーにアクセスしてログインし、同じIDとパスワードのファイルを確認できます。


これは今週2回支持されているので、MacOSのいくつかのバージョンが作成されたことを指摘する必要があります。
WGroleau

4

AppleScriptを使用すると、キーチェーンにパスワードが保存されるため便利です。バッシュ関数:

function mymount
{
    osascript <<EOF
mount volume "smb://user@fqdn1/volume1"
mount volume "smb://user@fqdn2/volume2"
EOF
}

bashから「mymount」を呼び出し、標準のキーチェーンポップアップを使用してパスワードを入力します。すべてがうまくいけば、要求されたボリュームが/ Volumesにマウントされます。


それも完璧なアプローチです。ルートユーザーとしてマウントされるため、承認された回答は好きではありません。私の意見では、これらのワンライナーが最良の選択肢であるはずです:/usr/bin/osascript -e 'mount volume "smb://username:password@server/share"'またはopen /Volumes; open 'smb://username:password@server/share'
laimison

3

「workgroup \ username」という形式のユーザー名がある場合は、次のようにマウントする必要があることを追加します。

mount -t smbfs "//WORKGROUP;username:password@MACHINENAME/SHARENAME" /SomeLocalFolderOfChoice

ソース:ここから例を適応


-1

古い投稿ですが、このようなマウントについてはどうですか:

smb://no_username:password@MACHINENAME 

タイムマシンドライブのような?


1
「コマンドライン(ターミナル)から」...これは有効なbashコマンドではありません。Finder + Kでサーバーに接続することを意味していると思いますが、これはOPが要求したものではありません。
mattmc3
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.