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的格式是固定的了,作为客户端挂载我们看到的资源一定是在服务器端的
    根目录下

时间: 2024-08-30 17:40:08

smb服务器配置过程遇到错误及解决的相关文章

android源码下载过程中错误及解决办法

使用 python ./repo sync -f同步,可自动修复同步错误的文件 设置shell代理$ export HTTP_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>$ export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:&

HP-UNIX 安装apache2.4.16过程中错误及解决方法

系统版本: HP-UX zhwg B.11.23 U ia64 2667688584 unlimited-user license 使用depot安装apache2.4.16和相关依赖包后 zhwg:/usr/local/apache2/adm # cat error_log/usr/lib/hpux32/dld.so: Unsatisfied code symbol 'strerror_r' in load module '/usr/local/apr/lib/libapr-1.so'. zh

System.Web.Mail发邮件引发0x80040217错误的解决过程

 使用System.Web.Mail 写了一个发送邮件程序,一直都工作正常. 最近更换新邮件服务器后,发送邮件时出现0x80040217错误. 从网上搜了一下,有用的结果不多,有说是Web.Mail过时,要改用system.net.mail等等. 后来跟踪代码,发现是进行到验证的步骤时出的问题,于是尝试去掉"@域名",真的可以了. 那为什么不提示用户名错误呢,通过使用控制台telnet测试发现, 新邮件服务的连接,在任何指令出错后都会立即断开,从而引发代码0x80040217错误.

Oracle 11g安装过程中错误解决

报错:warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 1e5e0159解决:rpm --import /etc/pki/rpm-gpg/RPM* 报错:ORA-12705: Cannot access NLS data files or invalid environment specified解决:Linux下 如果环境变量 NLS_LANG 值是NA 会引起 ORA-12705 错误,解决方法是修改set

ECLIPSE中部署工程报“Undefined exploded archive location”错误的解决方法。

错误信息为:Undefined exploded archive location 原因:在工程转移过程中,导致工程的配置文件出错: 解决方法:           1.在工程目录下的.mymetadata文件中可能webrootdir被改无效了(把下面内容拷到你的.mymetadate文件中的相应位置上):或者有可能少了这context-root这个属性:添加上这个属性即可,内容如下:             context-root="/上面的name属性值"          

常见错误及解决方式

Javaweb项目启动 ,用浏览器查看时,常见错误及解决方式. 1.404错误 1.1 404数字是什么? -------是服务器执行完客户端的请求以后,返回给客户端的一个执行结果的状态编码 1.2  产生的原因 ------Web服务器(容器)根据请求地址找不到对应资源. 如: 地址错误(拼写不正确,字母大小写错误) web.xml文件中的两个<servlet-name>不一致 工程没有部署 Web应用程序部署结构没有遵守Servlet规范 1.3 解决方法 按照http://ip:port

bash脚本中出现[[:not found错误的解决方法

bash脚本中出现[[:not found错误的解决方法--bash脚本总结1 今天在写脚本的时候,发生了一个奇怪的问题:在脚本中使用[[的时候报错“[[: not found”.遇到问题自然是解决问题. 1. 使用的bash版本太低? bash --version查看bash版本信息如下 [email protected]:~$bash --version GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu) Copyright (C)

常见的Android开发错误及解决办法

9个常见的Android开发错误及解决办法: 1. 如果你的项目的R文件不见的话,可以试下改版本号在保存,R文件不见一般都是布局文本出错导致. 2. 布局文件不可以有大写字母 3. 抛出如下错误WARNING: Application does not specify an API level requirement!, 是由于没有指定users sdk的缘故,修改AndroidManifest.xml文件. 加入:<uses-sdkandroid:minSdkVersion="8″>

WebServices生成发布过程及常见问题的解决方法

春夏秋冬走健康之路看四季养生网 健康饮食 养生问题 母婴保健 养生小常识 3.下一步,我们需要将Myservice文件夹拷贝到C:\Inetpub\wwwroot目录下(重要).如下图所示  然后依次右击“我的电脑”->“管理”->“服务和应用程序”->“Internet信息服务(IIS)管理器”打开IIS管理器,或者在控制面板中,通过“管理工具”打开“Internet信息服务(IIS)管理器”,如下图所示 展开“网站”节点,右键点击“默认网站”节点,依次选择“新建”->“虚拟目录