GNU/Linux >> Linux の 問題 >  >> Linux

WindowsまたはSamba共有を永続的にマウントする方法

このハウツーでは、Windows CIFS(SMB)共有を永続的にマウントする方法について説明します。共有はWindowsコンピューター/サーバー、またはSambaを実行しているLinux/UNIXサーバーでホストされる場合があります。このドキュメントも適用されます。 SMBFS共有へ。これはCIFSに似ていますが、非推奨であり、可能であれば回避する必要があります(リンク)。

この帰属は、Ubuntuドキュメントウィキへの寄稿者によって書かれた元のUbuntuドキュメント(リンク)に基づいています。

(このドキュメントはしません 自分で共有をホストする方法を説明します。他の場所でホストされている共有にアクセスする方法のみを説明します。共有をホストするには、Sambaを使用します。)

前提条件

次のことを前提としています:

  • ネットワーク接続が正しく構成されています。
  • ローカルユーザー名はubuntuusername

  • Windowsコンピュータでの共有ユーザー名はmsusername

  • Windowsコンピュータでの共有パスワードはmspassword

  • Windowsコンピュータの名前はサーバー名です。 (これは、IPアドレスまたは割り当てられた名前のいずれかです)。

  • 共有の名前はsharename

  • / media / windowsshareに共有をマウントします 。

CIFSのインストール

sudo apt-get install cifs-utils

古いシステムの場合:

sudo apt-get install smbfs

保護されていない(ゲスト)ネットワークフォルダのマウント

まず、マウントディレクトリを作成しましょう。マウントごとに個別のディレクトリが必要になります。

sudo mkdir /media/windowsshare

次に、/ etc / fstabファイル(root権限を使用)を編集して、次の行を追加します。

//servername/sharename  /media/windowsshare  cifs  guest,uid=1000,iocharset=utf8  0  0

どこ;

  • ゲスト 共有にアクセスするためにパスワードは必要ないことを示します

  • uid =1000 IDで指定されたLinuxユーザーをマウントされた共有の所有者にし、ファイルの名前を変更できるようにします。

  • iocharset =utf8 英語以外の言語の名前のファイルへのアクセスを許可します。これは、Buffalo Tera Stationのようなデバイスの共有、またはISO8895-15を使用して共有をエクスポートするWindowsマシンでは機能しません。

  • サーバーパスにスペースがある場合 、\ 040に置き換える必要があります(例:// servername / My \ 040Documents

/ etc / fstabタイプにエントリを追加した後:

sudo mount -a

これにより、/ etc / fstabにリストされているすべてのエントリが(再)マウントされます。

パスワードで保護されたネットワークフォルダをマウントする

パスワードで保護された共有を自動マウントする最も簡単な方法は、/ etc / fstab(root権限で)を編集して、次の行を追加することです。

//servername/sharename  /media/windowsshare  cifs  username=msusername,password=mspassword,iocharset=utf8,sec=ntlm  0  0

これはではありません ただし、良いアイデアです。/etc/fstabは誰でも読み取り可能であり、Windowsパスワードも読み取り可能です。これを回避する方法は、資格情報ファイルを使用することです。これは、ユーザー名とパスワードのみを含むファイルです。

テキストエディタを使用して、リモートサーバーのログオンクレデンシャル用のファイルを作成します。

gedit ~/.smbcredentials

ファイルにWindowsのユーザー名とパスワードを入力します:

username=msusername
password=mspassword

ファイルを保存し、エディターを終了します。

クレデンシャルへの不要なアクセスを防ぐために、ファイルのアクセス許可を変更します。

chmod 600 ~/.smbcredentials

次に、/ etc / fstabファイルを(root権限で)編集して、この行を追加します(追加した場合は、上記の例の安全でない行を置き換えます):

//servername/sharename /media/windowsshare cifs credentials=/home/ubuntuusername/.smbcredentials,iocharset=utf8,sec=ntlm 0 0

ファイルを保存し、エディターを終了します。

最後に、次を発行してfstabエントリをテストします。

sudo mount -a

エラーがない場合は、再起動後にどのように機能するかをテストする必要があります。リモート共有は自動的にマウントされます。

特別な権限

特別な権限(chmodなど)が必要な場合は、 uidを追加する必要があります (「ユーザーID」の略)または gid (「グループID」の場合)共有のマウントオプションのパラメータ。

//servername/sharename  /media/windowsshare  cifs   uid=ubuntuuser,credentials=/home/ubuntuuser/.smbcredentials,iocharset=utf8,sec=ntlm   0       0
トラブルシューティング ログインエラー

「mounterror(13)permissiondenied」というエラーが表示された場合、サーバーはアクセスを拒否しました。最初に確認することは次のとおりです。

  • 有効なユーザー名とパスワードを使用していますか?そのアカウントは本当にこのフォルダにアクセスできますか?
  • クレデンシャルファイルに空白がありますか? password =mspasswordである必要があります 、 password =mspasswordではありません 。

  • ドメインが必要ですか?たとえば、ユーザー名が SALES \ sallyであると言われた場合 、実際にはユーザー名は sally ドメインは販売です 。 fstabエントリは次のようになります。...username =sally、password =pass、domain =SALES、... または: ... credentials =/ path / to / file、domain =SALES、...

  • セキュリティ設定は正しいですか?最も一般的なのはsec=ntlmです。 、ただし、mount.cifsのマニュアルページにリストされている他のオプションを試すこともできます。マニュアルページのリストでは、オプション sec =lanmanが省略されています。 何らかの理由で、それも試してみてください(説明を参照)。

保護されていないネットワークフォルダは自動マウントされません

保護されていないネットワークフォルダが起動時に自動マウントされないという状況がありましたが、手動で「sudomount-a」と入力すると正しくマウントされました。 「guest」オプションを「username=guest、password=」に置き換えることでこれを解決しました。誰かがこれについての説明を持っているならば、コメントを残してください。

//servername/sharename  /media/windowsshare  smbfs  username=guest,password=,uid=1000,iocharset=utf8,codepage=unicode,unicode  0  0
起動ではなくログイン中にマウント

何らかの理由で/etc/rc0.d/S31umountnfs.sh(ネットワークの問題など)で起動中の自動マウントが機能しない場合は、「noauto」パラメーターをsmbfs fstabエントリに追加して、共有をマウントすることができます。ログインする。

/ etc / fstab内:

//servername/sharename  /media/windowsshare  cifs  noauto,credentials=/home/ubuntuusername/.smbpasswd  0  0

/etc/rc.local内:

mount /media/windowsshare
exit 0

CIFS/ネットワークマネージャーのバグによるシャットダウンが遅い

Network Managerを使用していて、シャットダウンが非常に遅い場合は、ネットワーク共有をアンマウントする前にNMがシャットダウンしたことが原因である可能性があります。これにより、CIFSがハングし、60秒ほど待機します。修正方法は次のとおりです:/etc/rc0.d/S31umountnfs.sh

sudo ln -s /etc/init.d/umountnfs.sh /etc/rc0.d/K14umountnfs.sh
sudo ln -s /etc/init.d/umountnfs.sh /etc/rc6.d/K14umountnfs.sh

Ubuntu12.04はすでにumountnfs.shを実行しています デフォルトでは再起動およびシャットダウン時(/etc/rc0.d/S31umountnfs.shおよび/etc/rc6.d/S31umountnfs.sh)、これは不要になりました。

CIFSオプションは非推奨

2008年2月20日TW

fstabファイルでdmaskまたはfmaskを使用すると、次の警告が生成されます。警告:CIFSマウントオプション「dmask」は非推奨になりました。代わりに「dir_mode」を使用してください。警告:CIFSマウントオプション「fmask」は非推奨です。代わりに「file_mode」を使用してください。

代わりに、file_mode =0777、dir_mode=0777の形式を使用してください。または、場合によっては、file_mode =0777、dir_mode =0777、nounixを使用する必要があります(説明を参照)

「credentials=〜/.smbcredentials」などのパス名でのチルダの使用

2008年2月20日TW

不思議なことに、fstabでcredentials =〜/.smbcredentialsを使用しても機能しませんでした。フルパス、つまり/home/username/.smbcredentials

を使用する必要がありました

(これは、チルダ「〜」が「$ HOME」のシェルの短縮エイリアスにすぎないためと考えられます。これは、すべてのプログラムでシステム全体で認識されるものではなく、特に「HOME」の概念が存在するシステムファイルテーブルでは認識されません。 」は実際には存在しません。-Ian!)

履歴アイテム(古いバージョンのUbuntu)

libpam_mount(Ubuntu 9.04)を使用してパスワードで保護された共有をマウントする

最初の仮定に加えて、

  • ユーザー名とパスワードは、Ubuntuマシンとネットワークドライブで同じです。

libpam-mountをインストールします:

sudo apt-get install libpam-mount

お好みのテキストエディタを使用して/etc/security/pam_mount.conf.xmlを編集します。

gksudo gedit /etc/security/pam_mount.conf.xml

まず、ユーザー固有の構成ビットを、ユーザーが実際に自分で編集できるファイルに移動します。)を削除します。>。完了したらファイルを保存します。これを設定すると、ユーザーは独自の〜/.pam_mount.conf.xmlを作成できます。

gedit ~/.pam_mount.conf.xml

以下を追加します:

<?xml version="1.0" encoding="utf-8" ?>

<pam_mount>

<volume options="uid=%(USER),gid=100,dmask=0700" user="*" mountpoint="/media/windowsshare" path="sharename" server="servername" fstype="cifs" />

</pam_mount>

この投稿の資料は無料ライセンスで入手できます。詳細については、著作権/ライセンスを参照してください。


Linux
  1. LinuxにリモートWindows共有をマウントする方法

  2. ファイルシステムをマウントする方法、ユーザーIDのマッピング?

  3. Smb 2.0以降とのSamba共有でUnixファイルのアクセス許可を有効にする方法は?

  1. Linux で iso ファイルをマウントする方法

  2. Linux でファイルシステムをマウントおよびアンマウントする方法

  3. LinuxでISOファイルをマウントするには?

  1. autofsを使用してNFS共有をマウントする方法

  2. LinuxとWindows間でSAMBAサーバーを構成してファイルを転送する方法

  3. Windows10でhostsファイルを編集する方法