ubuntu 17.10への更新以降、NASから共有をマウントするスクリプトが機能しなくなりました。 Ubuntuの古いバージョンでは、次の行を使用できます。
mount -t cifs -o username=t0b1,password=$pw //server.local/shared/ /media/shared
バージョンを指定する別のオプションを追加しても何も変わらないようです:
mount -t cifs -o vers=1.0, username=t0b1,password=$pw //server.local/shared/ /media/shared
Ubuntu 17.10でスクリプトを実行すると、「マウント」のオプションのリストのみが出力されますが、共有はマウントされません。 17.10のcifsで何が変わったのか誰もが知っていますか?ここで何を変更できるか考えていますか?
編集:この行は実際に動作します:
mount -t cifs -o username=t0b1,password=$pw,vers=1.0 //server.local/shared/ /media/shared
しかし、バージョン1.0を使用することは、いくつかの既知のセキュリティ問題があるため、一時的な回避策に過ぎないと思います。バージョン3で実行する方法も必要です。
Ubuntu 17.10にアップグレードした後、同じ問題が発生しました。突然、私のCIFS共有はマウントされなくなりました。 vers=1.0
をマウントオプションに追加すると修正されました。確かに、これは少し厄介ですが、一部のネットワーク共有アクセスは、ネットワーク共有アクセスなしよりも優れています。
私の/etc/fstab
ファイルには、以前に下部に次の4行がありました。
# Network File Shares
//phc.imsu.ox.ac.uk/phc /mnt/PHC cifs credentials=/home/benjamin/.smbcredentials,iocharset=utf8,sec=ntlm,dir_mode=0777,file_mode=0777 0 0
//phc.imsu.ox.ac.uk/departments /mnt/DEPARTMENTS cifs credentials=/home/benjamin/.smbcredentials,iocharset=utf8,sec=ntlm,dir_mode=0777,file_mode=0777 0 0
//femur.imsu.ox.ac.uk/phc_cprd /mnt/PHC_CPRD cifs credentials=/home/benjamin/.smbcredentials,iocharset=utf8,sec=ntlm,dir_mode=0777,file_mode=0777 0 0
それらを次のように変更します。
# Network File Shares
//phc.imsu.ox.ac.uk/phc /mnt/PHC cifs credentials=/home/benjamin/.smbcredentials,iocharset=utf8,sec=ntlm,dir_mode=0777,file_mode=0777,vers=1.0 0 0
//phc.imsu.ox.ac.uk/departments /mnt/DEPARTMENTS cifs credentials=/home/benjamin/.smbcredentials,iocharset=utf8,sec=ntlm,dir_mode=0777,file_mode=0777,vers=1.0 0 0
//femur.imsu.ox.ac.uk/phc_cprd /mnt/PHC_CPRD cifs credentials=/home/benjamin/.smbcredentials,iocharset=utf8,sec=ntlm,dir_mode=0777,file_mode=0777,vers=1.0 0 0
問題を解決しました。
これを試して:
mount -t cifs -o vers=1.0,username=t0b1,password=$pw //server.local/shared/ /media/shared
つまり、最初の試行と同じですが、スペースがありません。オプションでは許可されていません。これがおそらく、マウントがユーザー名とパスワードを認識しない理由です。
2018年2月5日にUbuntu 17.0で機能したマウントオプションの組み合わせは次のとおりです。
ユーザー名= guessmyusername、パスワード= guessmypassword、iocharset = utf8、sec = ntlmv2、vers = 2.1
これらは、/ etc/fstabのマウントポイントおよびmount-t cifsコマンドで機能します。
CIFSプロトコルの変更は、バージョン1以来、私たちの多くを混乱させてきました。時間が経つにつれて、secとversionの値が古くなると思いますが、接続できない場合はおそらくそれらを更新することが答えですWindowsはLinuxから共有しますが、Windowsから接続できます。
古い投稿に関する提案の多くは、sec = ntlmが必要であることを示しています。 ntlmv2に言及するまでしばらく時間がかかりました。他の人は、vers = 1.0(非常に時代遅れで安全でない)を使用すべきだと言います。
サーバーは、Windows 10を実行するラップトップです。そこで確認すると、サーバーがCIFS 3.1.1を使用していることがわかりました。当然、私はそれを試しました。うまくいきませんでした。 ntlmv2で2.1に戻り、すべてが動作し始めました。
動作しなかったsecパラメーターとversionパラメーターの異なる組み合わせは、異なるエラーメッセージ、誤解を招くもの、時代遅れのもの、不可解なものを示しました。
マウントが失敗したときに表示されるメッセージに関係なく、ここでの唯一の問題は、セキュリティネゴシエーションが完了しないことでした。リソースが利用できないことを示すメッセージは、明らかに、接続しようとしている共有ではなく、セキュリティネゴシエーションのコンポーネントを指します。
さらに、ターミナルに表示されるメッセージとdmesg | grep CIFSを使用して検出されたメッセージは異なります。何が起こっているのかを理解するために、両方を調べる必要がありました。
試したこと:
dmesg | grep CIFSでエラーメッセージを表示/ etc/fstabおよびSudoマウント-aを使用して共有をマウント(現在動作中)mount -t CIFSを使用...(現在も動作中)
これは私のために働いたものです。複数回試行した後。
完全に削除した後、すべてのクライアントを再インストールします
$ Sudo apt install cifs-utils smbclient nfs-common
次に、作成してマウントポイントを作成します。 $mkdir ~/myfiles
次に、この方法でマウントします。
Sudo mount -t cifs -o vers=1.0,credentials=/home/username/.smbcredentials,dir_mode=0777,file_mode=0777 //192.168.2.5/g$/shares/Techno\ Files /home/<username>/myfiles/
私の犯人は、パス(Windowsサーバー上のドライブ)です。例えば。 c $、g $、f $、次にファイルパス。 Ubuntuのドキュメントでは、\040\
でスペースをエスケープする必要があると書かれていますが、たとえばnew\040Folder
ですが、失敗しました。そこで、従来のUnixスペースのエスケープを使用しました。