web-dev-qa-db-ja.com

LinuxでWindows共有フォルダを自動マウントする

私はWindowsに共有フォルダを持っており、通常はこのようにマウントします

mkdir /media/somedir
Sudo mount -t cifs //servername/sharename /media/somedir

問題は、マシンを再起動すると、マウントされた共有フォルダーがそれらのフォルダーではなくなり、上記のコマンドを再度実行する必要があることです。このディレクトリにアクセスしようとしたときに自動マウントする方法があるのだろうか?私は @ Gilles 見つかった彼の答えにコメントすることを確認しました ここ そして下のスクリーンショットに示されているように、彼はファイルを編集することでそれを行うことができると言いましたが、それはお勧めできません彼は、ディレクトリにアクセスしようとしたときにそれを自動マウントする方法があるかもしれないと言い、誰かが助けてくれるかもしれないので質問をするように私に提案しました。何かアドバイス?

enter image description here

1
Tak

次のように、fstabにエントリを追加できます。

//192.168.1.2/SambaPi    /home/pi/shares/pi    cifs    defaults,noauto,nofail,username=pi,passwd=raspberry,x-systemd.automount,x-systemd.requires=network-online.target    0    0

(テストせずに ここ からコピー)。 nofail引数は、マウントが失敗した場合でも起動が中断されないようにします。 noautoはオプションであり、アクセスされるまでドライブをマウントできません(詳細については、 ここ を参照してください)。 x-systemdパラメータは、マウントする前にネットワークがセットアップされるまで待機するようにシステムに指示します( ソース )。

起動時に実行するシェルスクリプトでマウントさせることもできます。ここでのより良いバージョンは、これを行うsystemd-moduleを作成することです。 systemdモジュールを使用して、シャットダウン時に安全にアンマウントすることもできます。 goodtutorials の戦利品があります。

1
piegames

新しいファイルシステムであるcifsを使用しているため、Sambaを使用してあるマシンから別のマシンにファイルを共有するとします。

必要なすべてのパッケージがあり、smb.confファイルで必要なすべての構成を行っていると仮定して、この回答をクライアント側の構成に限定します。

共有ディレクトリを永続的にマウントするには、パスが/etc/fstabであるfstabファイルを開き、次のように入力します。

//<IP>/<share-name-of-directory> /mount/point cifs credentials=/root/creds.txt,sec=ntlmssp,multiuser,defaults 0 0

このファイルにエントリを作成した後、コマンドmount -aを実行します。資格情報は、システムにディレクトリをマウントすることを許可されているユーザーのユーザー名とパスワードを持つファイルのパスを取ります。そのユーザーがログインした後、ユーザーは次のコマンドを使用してサーバーからアクセスを取得する必要があります。

cifscreds add <ip-of-server>

その後、ユーザーはマウントされたディレクトリにアクセスできるようになります。 fstabファイルにエントリが作成されているため、ディレクトリを何度もマウントする必要はありません。 fstabファイルは起動プロセス中に読み取られ、システム自体がこれらの資格情報を使用してサーバーからディレクトリをマウントできるように資格情報が提供されます。

Mountコマンド自体はディレクトリを一時的にマウントするだけなので、システムが再起動するとディレクトリはマウント解除されます。

1
Ayush Goyal

SambaとCIFSユーティリティがインストールされていると仮定すると、/ etc/fstabに2つのエントリを追加することでうまくいくことがわかりました。

/dev/sdb1 /mnt/sdb1   ntfs-3g defaults 0 0
/dev/sdb1 /mnt/sdb1   cifs    defaults 0 0

Linuxを再起動すると、ドライブがマウントされて共有されていることがわかります。

0
Alexander Gent