
我已經被困了大約兩天,試圖讓它正常工作。我已經完成了以下所有操作,但仍然沒有運氣。
我正在嘗試使用 Ubuntu 14.04 LTS Desktop 自動永久安裝到網路上的 2 TB Seagate Central,並且cifs
在開始之前我已更新了所有內容。
我以 root 身分新增了以下行/etc/fstab
:
#Mapping network drive //Ip-address/media/videos /media/storage cifs username=username,password=password,iocharset=utf8,sec=ntl
我還把 IP 位址換成了它的名字。因為我知道這不是最安全的方法,但我是唯一使用此 Ubuntu 桌面的人,也嘗試過憑證文件方法,但沒有成功。
在終端機中:
sudo mount -a
mount error(22): Invaild argument
refer to mount.cifs(8) manual page (e.g. man mount.cifs)
看到後我嘗試了以下操作:
sudo mount.cifs //Seagate-XXXXX/Media/videos /media/storage
然後我就提示輸入網路儲存的密碼並正確輸入:
Error:
mount error(115): operation now in progress
Refer to mount.cifs(8) manual page (e.g. man mount.cifs)
我曾經讓它工作過一次,但之後我必須重新安裝 Ubuntu,而且似乎無法讓它恢復工作。
我查找了許多不同的影片和論壇,我這樣做是為了設定我的 Plex 伺服器以查看外部硬碟上的媒體資料夾。
我已經紅色並觀看了以下鏈接/視頻但無濟於事[請幫助! ]:
答案1
您遇到的第一個錯誤是因為不存在諸如 之類的東西sec=ntl
。可用選項有(來自man mount.cifs
):
秒=
安全模式。允許的值為:
none - 嘗試以空用戶身分連線(無名稱)
krb5 - 使用 Kerberos 版本 5 驗證
krb5i - 使用 Kerberos 驗證並強制啟用資料包簽名
ntlm - 使用 NTLM 密碼哈希
ntlmi - 使用 NTLM 密碼哈希並強制資料包簽名
ntlmv2 - 使用 NTLMv2 密碼哈希
ntlmv2i - 使用 NTLMv2 密碼哈希並強制資料包簽名
ntlmssp - 使用封裝在原始 NTLMSSP 訊息中的 NTLMv2 密碼哈希
ntlmsspi - 使用封裝在原始 NTLMSSP 訊息中的 NTLMv2 密碼哈希,並強制封包簽名
fstab
因此,如果您使用上述方法之一,第一種方法(使用)可能會起作用。想必,你想要sec=ntlm
。
至於115
錯誤,我發現這個非常好的指南我建議您閱讀 Gentoo 論壇上的內容。基本上,它建議將這樣的行添加到您的/etc/hosts
文件中(更改192.168.1.12
為驅動器的 IP):
192.168.1.12 Seagate-XXXXX
完成後,您應該能夠使用Seagate-XXXXX
而不是 IP 進行連線。該頁面提供了一些其他故障排除提示(包括用於smbtree
確保共享實際可用)。我真的建議你讀。
答案2
您是否嘗試將 mount 命令新增至 /etc/rc.local ? /etc/rc.local 是一個在啟動時由 root 執行的文件,通常不執行任何操作。但是您可以編輯它並添加您自己的內容。只需確保將現有的「exit 0」命令移至您希望其執行的命令下方即可。
這就是我在啟動時自動掛載 USB 連接的外部裝置的方法。只需使用以下命令建立一個掛載點:
須藤 mkdir /mnt/foo
其中 foo 是您想給它的任何名稱。然後編輯 /etc/rc.local 並將 mount 指令加入到 exit 指令上方任意位置的行中。請注意,以這種方式安裝時,根據我的經驗,大多數桌面環境不再將其檢測為外部設備,因此您不會有花哨的小圖標,實際上您必須導航到/mnt/foo 並將其添加為書籤命令瀏覽驅動器。
在編輯 fstab 時遇到各種問題後,我開始使用 rc.local 自動掛載我的檔案。希望這可以幫助, :-)
編輯:
這是我的 rc.local 檔案的全部內容。我只是想分享這樣你就可以看到我做了什麼。在儲存 rc.local 並重新啟動之前,請確保您在 mount 命令中指定的任何安裝點實際上已建立。另外,這裡的指令不需要新增“sudo”,它們是由 root 使用者執行的。
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#Mounts Storage
mount /dev/sdb1 /mnt/Storage
exit 0
答案3
謝謝你這麼快的答覆。
所以對於第一個錯誤我錯過了 m 所以我的程式碼看起來像這樣
#Mapping network drive
//Ip-address/media/videos/media/storage cifs username=username,password=password,iocharset=utf8,sec=ntlm 0 0
所以現在當我跑步時
sudo mount -a
mount error(115): operation now in progress
Refer to mount.cifs(8) manual page (e.g. man mount.cifs)
然後當我嘗試時
sudo mount.cifs //Seagate-XXXXX/Media/videos /media/storage --verbose
Password for root@//Segate-XXXX/Media/videos:
mount.cifs kernel mount options: ip=198.105.251.210,unc=\\SEAGATE-XXXXX\Media,user=root,prefixpath=videos,pass=*******
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
我知道它可以看到驅動器
user@myserver: ~$ smbtree -b -N
WORKGROUP
\\SEAGATE-XXXXX Seagate Centeral Shared Storage
\\XXXXXXX-TIME-CA XXXXXX's Time Capsule
\\MYSERVER myserver server (Samba, Ubuntu)
\\MYSERVER\IPC$ IPC service (myserver server (Samba, Ubuntu))
\\MYSERVER\print$ Printer Drivers
所以它看到了我的網路驅動器,但這也是一個受密碼保護的驅動器,所以我沒想到會看到 USER 和 PUBLIC 的資料夾
所以現在我更迷失了?有什麼建議嗎?
答案4
sudo mount -t cifs '//Seagate-XXXXX/Media/videos' //media/storage -o username=username,password=password,uid=1000,gid=1000,iocharset=utf8,sec=ntlm,file_mode=0777,dir_mode=0777
適用於我的 goflex Seagate 以及 2 個中央設備,但我已添加到 ips 的主機檔案中
簡單的事:
如果不是的話,您可以使用您的使用者名稱和密碼在其網頁介面上登入 nas
//Seagate-XXXXX/Media/videos
您確定這是正確的路徑名稱嗎,因為對我來說,私有目錄中的任何內容都是
//Seagate-XXXXX/username/Media/videos
您的 ubuntu 使用者是否具有目錄的完全存取//media/storage
權限?
最後要記住的是,檔案和目錄模式 ubuntu 似乎對這些很挑剔,而 crunchbang 則不然
我已經完成了這/etc/rc.local
件事,只是我調用了一個腳本nas.sh
,它基本上是一個帶有安裝命令的可執行文字檔案。
#!/bin/bash
mount -t cifs '//Seagate-XXXXX/Media/videos' //media/storage -o username=username,password=password,uid=1000,gid=1000,iocharset=utf8,sec=ntlm,file_mode=0777,dir_mode=0777