web-dev-qa-db-ja.com

UNCルートはどのようにマウントしますか? (SMB / CIFS)

UNCルート、つまり「\」または「smb://」をマウントする必要があります。 nautilusを開いて "smb://"に移動できますが、実際には標準のPOSIXファイルシステムAPIからreaddir、mkdir、unlink、rmdir、open、read、writeなどの操作を行う必要があります。それを可能にする既存のソフトウェアはありますか?

私はmount -t cifs "//"を試しましたが、それは私に与えます

マウントエラー:UNC名が短すぎます

mount -t cifs "smb://"も試しましたが、

CIFS URLのマウントはまだ実装されていません。 smb://をマウントしようとしました

古いsmbコマンドをすべて試しましたが、それらはもう存在していません-代わりにcifsに移動したと思います。また、これらの派手な新しいgvfs/gioのことも試してみました。これは、gobjectベースのユーザーランドマウントシステムであると思われますが、gio mount smb://は私に...

gio:smb:///:ロケーションはすでにマウントされています

...どこにマウントされていますか?私はノーチラスでそこに行くことができますが、それでも何もできません。/run/user/1000/gvfsにマウントされるかもしれないと思ったが、コマンドを使用して具体的にマウントしない限り、そのprogram-Fuse-folder-thingはそれ自体ではあまり効果がないようだ。

Smb://またはsmb:// server /をリストする必要さえありませんが、すべてのsmb:// server/shares /を使用可能にする必要があります。これは、マウントした場合と同じ機能です。 smbまたはgvfsを使用して(リスト、フォルダーの作成、削除、ファイルのオープン、認証など)。

さらに明確にするために、すべてのアプリケーションは、少なくともgvfsまたはcifsによって提供される範囲で、すべてのuncパスで基本的にファイルシステムAPI機能を実行できる必要があります。たとえば、次のことができるはずです。

cd /some/path/server1/share1/folder1
cat file1
mkdir newfolder2
cd ../existingfolder3
touch file2
cd /some/path/server2/share2
rmdir existingfolder4

...などls /some/path/server1できればボーナスポイント

Fuseライブラリはたくさんあるので、要求されたときに共有を自動的にマウントし、コマンドをマウントポイントに渡すだけの小さなスクリプトを書くことを検討していましたが、ホイールを再発明したくはありません。また、開発に時間を費やすものよりも、ポータブルなものが大好きです。しかし、これが最も簡単な方法であれば、コードを書き始めて、ここに投稿するか、助けが必要なときに新しい質問を始めることができます。

ありがとうございました!

2
user165680

見つけた...

smbnetfs と呼ばれます。

リストやその他の操作では本当に遅いですが、質問で私が求めたすべてを行います。

0
user165680

念のため:地球上の誰かがマシンのルートディレクトリのsmb/samba共有を作成するたびに、天国のネットワーク管理者は翼を失います。

Mount -t cifs "//"を試しました

構文が間違っており、不完全であり、サーバー上の共有を「/」として指定することはできません。

[1]サーバーに移動して、「/」の共有を作成します。それが本当にしたいのですが、共有に名前を付けます...わかりません...「root」はどうですか

[2]クライアントにマウントポイントを作成して共有をマウントします-/ home/agnes/servernameとしましょう

[3]次に、次のようなコマンドでマウントします。

Sudo mount -t cifs //servername/root /home/agnes/servername -o some-list-of-options

元の投稿でやりたいことをすべて実行しますか?何も思いつきません。

また、私はsmbclientを使用して推測する古い学校に行くことができます:

smbclient //servername/root

プロンプトが表示されます:

smb:>

ヘルプを入力すると、使用可能なコマンドのリストが表示されます。

? allinfo altnameアーカイブバックアップ
blocksize cancel case_sensitive cd chmod
chown close del deltree dir
du echo exit getgetfacl
geteasハードリンクヘルプ履歴iosize
lcdリンクロック小文字ls
l mask md mget mkdir
more mput newer notify open
posix posix_encrypt posix_open posix_mkdir
posix_rmdir posix_unlink posix_whoami printプロンプト
put pwd q queue quit
readlink rd recurse reget rename
put rm rmdir showacls setea
setmode scopy stat symlink tar
tarmodeタイムアウトはロック解除ボリュームを変換します
vuid wdel logon listconnect
showconnect tcon tdis tidログオフ
..

2
Morbius1

私が理解できる限り-smbtreeコマンドはあなたが望むことをします。

man smbtree- page から:

名前
smbtree-テキストベースのsmbネットワークブラウザー

説明

このツールは、samba(7)スイートの一部です。

smbtreeは、テキストモードのsmbブラウザプログラムです。これは、Windowsコンピューターにある「ネットワークコンピュータ」に似ています。すべての既知のドメイン、それらのドメイン内のサーバー、およびサーバー上の共有を含むツリーを印刷します。

0
N0rbert