smb服务器配置过程遇到错误及解决
這里的前提是關閉了SELinux,以下是從日志中攫取出來的出錯信息,有關SELinux可參考日志解決或是使用#setenforce 0來時SELinux進入寬容模式,待其它問題解決之后在來解決SELinux的問題
在未安裝cifs-utils的情況下,一些操作產生的錯誤
Oct 14 22:37:13 www kernel: Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE
Oct 14 22:37:13 www kernel: CIFS VFS: Send error in SessSetup = -13
Oct 14 22:37:13 www kernel: CIFS VFS: cifs_mount failed w/return code = -13
以上錯誤信息產生原因:
??? 1、使用了mount -t cifs //server/share /local/dir -o username=xx?? ?命令,
?? ??? 此時沒有后面的 password= 指定密碼且該文件系統不允許匿名用戶使用時,則會報此錯誤
????2、帳號和密碼驗證未通過會報Send error in SessSetup = -13錯誤
????3、要掛載的資源在服務器上不存在但帳號和密碼驗證通過時會報Send error in SessSetup = -13
?????? 錯誤,在文章最后會講到正確的掛載方式
Oct 14 22:05:02 www kernel: CIFS VFS: Send error in QFSUnixInfo = -13
Oct 14 22:05:02 www kernel: CIFS VFS: Send error in QFSAttributeInfo = -13
Oct 14 22:05:02 www kernel: CIFS VFS: cifs_mount failed w/return code = -13
以上錯誤信息產生原因:
?? ?在/etc/fstab上寫著一行自動掛載/share目錄匿名測試(沒有用戶名和密碼),但是修改配置文件smb.conf令/share目錄不允許匿名用戶使用之后,沒有修改/etc/fstab加上用戶名和密碼參數而執行了掛載導致
Oct 14 22:08:02 www automount[1836]: lookup_read_master: lookup(nisplus): couldn't locate nis+ table auto.master
Oct 14 22:08:28 www kernel: CIFS VFS: No username specified
以上錯誤信息產生原因:
?? ?使用autofs自動掛載smb文件系統,指定的認證方式是credentials=/password/file
這里記錄一下autofs的使用方式:
?? ?主配文件?? ??? ?/etc/auto.master
?? ?文件結構很簡單,我們只需要自定義掛載的上層目錄,和要掛載的文件系統的配置文件,以下一行
????是裝好軟件后配置文件上就有的示例行
??
?#/misc?? ?/etc/auto.misc
???? /misc是我們要把文件系統掛載到的上層目錄,必須是絕對路徑,在這里我們要掛載的目錄都會
???? 在/misc這個目錄下,這個目錄是不需要你建立的,當你使用到的時候autofs會自動創建,并且不
???? 需要它時會autofs會自動刪除它
?? ?/etc/auto.misc里寫的是要掛載的文件系統,這個文件不一定存在。里面的寫法和我們使用mount時
????接的參數是一樣,順序稍有不同,這里詳細記錄一下:
?? ??? ?比如我要把ip是192.168.100.10的主機共享的smb文件夾share掛載到/misc/share下,
????????可以在/etc/auto.misc添加一行
???
????share?? ?-fstype=cifs,username=yourname,password=yourpass?? ?://192.168.100.10/share
???
????share是把網絡上的文件系統掛載到的本地目錄,和/misc一樣,是不需要你建立的,當你使用到這
????個目錄的時候autofs會自動創建這個目錄。
?? ?中間的-fstype... ...就是你可以指定的掛載參數,和mount時指定的參數是一樣的。
?? ?其實,通過上面這個例子,可以看出我們可以自定義自己的掛載目錄和掛載配置文件的,比如說我
????不使用上面#/misc?? ?/etc/auto.misc,我自己用自己的,可以這樣:
???
????在auto.master新建一行:
??? /self/define/path ?? /home/myhome/auto.self
??? 要把ip是192.168.100.10的主機共享的smb文件夾share掛載到/self/share,只需把
?? ?share?? ?-fstype=cifs,username=yourname,password=yourpass?? ?://192.168.100.10/share
?? ?一行寫入/home/myhome/auto.self即可
在未裝cifs-utils軟件包的情況下,要使用autofs
share?? ?-fstype=cifs,username=yourname,password=yourpass?? ?://192.168.100.10/share
必須像這樣指定用戶名和密碼,而不能像下面這樣指定密碼文件
share?? ?-fstype=cifs,credentials=/password/file?? ?://192.168.100.10/share
否則會報CIFS VFS: No username specified的錯誤
安裝完cifs-utils軟件包之后
?? ?使用了mount -t cifs //server/share /local/dir -o username=xx?? ?命令,
?? ?此時沒有指定后面的 password= 的話會提示輸入密碼,而不會像未安裝cifs-utils軟件包且不允許匿名用戶訪問時那樣提示錯誤?? ?
?? ?此時配置autofs時可以像下面這樣指定帳號和密碼文件
?? ?share?? ?-fstype=cifs,credentials=/password/file?? ?://192.168.100.10/share
正確的samba文件系統掛載的方法:
??? 首先使用smbclient查看服務器共享出來的資源:
?? ?????smbclien -L //192.168.100.10 [-U username]
???
????然后使用下面命令掛載:(sourcename是上一步查看的資源名)
?? ?????mount.cifs //server/sourcename /local/dir -o username=xx
?? ?
?? ?有的同學自己配置的samba服務器,然后自己測試可能會一直掛不上,原因可能像下面一樣:
??? ????mount.cifs //server/sharedir/sharesrc /local/dir -o username=xx
?? ?sharedir/sharesrc是自己的samba服務器上的絕對路徑的,這種做法同樣會導致前面提到的
?? ?Send error in SessSetup = -13 的錯誤,我們在寫smb.conf配置自定義的共享文件夾
?? ?的時候會有個[dirname]然后下面指定服務器上文件夾的絕對路徑和其它參數,而我們使用
?? ?smbclient查看服務器共享出來的資源也只能查看我們自己定義的那個[dirname]而已,
?? ?所以我們掛載的格式都是
?? ?????mount.cifs //server/dirname /local/dir -o username=xx
?? ?//server/dirname的格式是固定的了,作為客戶端掛載我們看到的資源一定是在服務器端的
?? ?根目錄下
轉載于:https://blog.51cto.com/poollooq/1564203
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的smb服务器配置过程遇到错误及解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: memset函数具体说明
- 下一篇: php开启与关闭错误提示