smb 使用时碰到问题

一、Windows 链接不上linux smb服务,出现 0X80070035 错误。

一般情况下是linux没有关防火墙,或是把smb的服务端口屏蔽了。

我自己常用,就直接把linux防火墙关了。就行了。

如果要是公网或是开放,还是只打开接口就好。

1、防火墙关闭

2、开一条规则 把139端口打开

    centos 6

vi /etc/sysconfig/iptables

-A INPUT -p tcp -m tcp --dport 139 -j ACCEPT

保存

service iptables restart

CentOS7

 默认的防火墙不是iptables,而是firewalle. iptables应该也可以用。

二、Windows 访问smb机器,输入用户名密码后能显示共享目录,可是双击目录却提示没有权限了。

1、还是防火墙没关,或是设置不对。

2、设置用户权限,

我自己开发用,直接 chmod 777 目录

三、设置开机自动启动

**centos 6**

在linux下如何把smb等服务加入开机启动:

**方法一:**

vi /etc/rc.d/rc.local

加入

/usr/local/samba/sbin/smbd -D

/usr/local/samba/sbin/nmbd -D


 就可以了。

**方法二**:

chkconfig smb on

**方法三:**

ntsysv打开图形界面,找到samba选行确认即可

**centos 7**

systemctl 命令说明:http://man.linuxde.net/systemctl

systemctl start smb nmb

开机启动

systemctl enable smb nmb

四、Linux selinux关闭方法和防火墙关闭方法:

**centos 6**

要确保setlinux关闭,用setenforce 0命令执行。

默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。

在Linux下设置selinux有几种方法。

    1、在图形界面中:

       桌面-->管理-->安全级别和防火墙,设置为disable。

    2、在命令模式下:

       修改文件:/etc/selinux/config,然后重启系统。

       ELINUX=disable

    3、运行命令:

       setup,进入”防火墙配置“,

       在selinux栏,选择”禁用“。

    4、运行命令:setenforce 0,(不需要重启).

       (感觉这个来的比较快,使用的多了感觉是最彻底的。因为有时候在centos 7中使用systemctl 命令仍然有部分目录权限不够)。

    5、关闭selinux对指定服务的保护(以ftp为例):

        1、使用命令:getsebool ftpd_disable_trans 可以查看当前的状态如果不是on

        2、输入命令:setsebool ftpd_disable_trans 1

        当然也可以加入-P参数 以便不需要每次开机都输入这个命令

        setsebool -P ftpd_disable_trans 1

**centos 7**

systemctl 命令说明:http://man.linuxde.net/systemctl

关闭防火墙: #停止firewall ,在有时候,关的不彻底,有的目录还是没有权限访问。不如setenforce 0来的好用

systemctl stop firewalld.service 

#禁止firewall开机启动

systemctl disable firewalld.service 

五、Windows 7无法访问NAS或Samba服务器之解决

    http://www.win7china.com/html/5956.html

六、增加samba用户提示Failed to add entry for user

[root@ubuntu~]#smbpasswd -a test 

New SMB password: 

Retype new SMB password: 

Failed to add entry for user test. 

解决办法:这是因为没有加相应的系统账号,所以会提示Failed to add entry for user的错误,

只需增加相应的系统账号test就可以了:

[root@ubuntu ~]# groupadd test -g 6000

[root@ubuntu ~]# useradd test -u 6000 -g 6000 -s /sbin/nologin -d /dev/null

这时就可以用 smbpasswd -a test 增加test这个samba账号了!为了增加系统的安全性,所以加的系统账号不要给它shell,

也不给它指定目录,到时在/home目录给test账号建个文件夹,该文件夹只有test有读写权限即可!

如:

[root@ubuntu ~]# mkdir /home/test 

[root@ubuntu ~]# chown -R test:test /home/test

 

### 使用SMB协议连接配置的示例教程 #### 1. 测试本地或远程 Samba 共享连接 可以使用 `smbclient` 工具来测试与 Samba 共享的连接。命令如下所示: ```bash smbclient //localhost/shared -U sambauser ``` 此命令尝试通过 SMB 协议访问名为 `shared` 的共享资源,并提示用户输入指定用户的密码[^1]。 #### 2. 特殊共享 ADMIN$ 在 Windows 系统中,`ADMIN$` 是一种特殊的管理员共享,指向系统的 `%SystemRoot%` 文件夹(通常是 `C:\Windows`)。这种共享主要用于系统管理和维护任务,例如远程文件管理、系统配置和程序安装等[^2]。 要通过 SMB 访问 `ADMIN$` 共享,可以运行以下命令: ```bash smbclient //remote_host/ADMIN$ -U administrator ``` 这里需要替换 `remote_host` 和 `administrator` 为实际的目标主机名/IP 地址以及具有权限的用户名。 #### 3. 基本工作原理 SMB(Server Message Block)是一种网络文件共享协议,最初由 Microsoft 和 Intel 开发于 1987 年。它主要应用于会话层和表示层,同也涉及少量应用层功能。SMB 默认使用端口 139 或 445 来建立通信通道[^3]。 当客户端发起请求,服务器会返回响应消息流,从而实现资源共享和服务交互。现代版本已更名为 CIFS(Common Internet File System),并引入更多特性以增强性能和安全性。 #### 4. 身份验证机制 需要注意的是,在未显式提供用户名的情况下,默认情况下 `smbclient` 将采用当前登录到本地机器上的账户名称作为目标主机的身份认证依据[^4]。因此建议根据实际情况手动设置合适的凭证参数以免发生错误授权问题。 以下是带有明确定义凭据选项的一个例子: ```bash smbclient //server/sharename -U domain/user%password ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Brickie-liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值