Samba客户端配置

首先先记录下在linux客户端怎么用命令访问windows或者linux的共享文件夹

  • 第一步 smbclient -L //192.168.100.5 -U public (smbclient是命令 -L是列出服务器有哪些共享文件 -U后面跟着的是用户名)
  • 第二步 输入密码后会看到服务器共享的文件夹,然后用命令 smbclient //192.168.100.5/资源共享 -U public 进入服务器,输入密码后会看到如下(我登陆的是windows的共享文件)
Password: 
Domain=[DC] OS=[Windows Server 2003 3790 Service Pack 2] Server=[Windows Server 2003 5.2]
smb: \>
  • 第三步 使用help可以查看命令使用方法,常用的有ls cd get put exit等
  • 第四步 WIN7访问要 \www.google.comnobody 或者 \www.google.comguest 这样
  • 第五步 WIN7如果还不能访问,修改注册表`HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa

* 第六步 windows*问修改删除不会及时刷新```HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

Samba服务器配置部分

  • 第一步:

进入 /etc/samba 目录,备份下smb.conf,然后删除这个文件,自己重新建立一个,输入如下内容

[global]
workgroup = WORKGROUP
netbios name = www.test.com # 这里重点中的重点,这个名字最好和机器名一样,远程访问的时候就用这个名字
server string = C2 is samba server
security = share

load printers = no            #不加载打印机
disable spoolss = yes         #隐藏打印机
cups options = raw            #打印机类型

unix charset = utf8
dos charset =GBK
display charset = utf8
client lanman auth = yes
client plaintext auth = yes

hosts deny = 192.168.0.55 #阻止这个IP访问SMB


[public]
path = /var/public
writeable = yes
browseable = yes
guest ok = yes

简单解释下上面的内容 [global]全局配置,必须有。前3行都是显示说什么的,security 如果是share就是不用帐号密码,如果是user就是要验证的。

[public]这个是在客户端显示出来共享的目录,path 就是共享的路径了,guest ok 为yes就是不要身份验证。

  • 第二步:

在 /var/目录建立个文件夹叫 public 用来做共享文件夹用

[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)

[root@localhost ~]# chown -R nobody:nobody /var/public

OK,然后重启SMB服务器 service smb restart 和 service nmb start 一个简单不用验证的共享服务器就搞定了。

  • 第三步: 做一个需要帐号密码的共享服务器
  1. 先用命令 useradd public -s /sbin/nologin(系统建立一个叫public的帐号且不能登陆系统)
  2. 然后再用命令 smbpasswd -a public (用这个命令来添加一个SMB的帐户叫public)
  3. chown public:public /var/public (让public帐户可以有权限使用/var/public这个目录)
  4. 然后修改 /etc/samba/smb.conf 中:
[global]
workgroup = WORKGROUP                    // 用来指定你的机器上网络上所述的NT域名
netbios name = www.google.com             //主机名,用来访问用的地址,重要
server string = google is samba server      
guest account = public                    //如果希望建立一个账号,再次填入用户名,同时在 /etc/passwd 中加入这个账号,否则使用默认的'nobody'作为账号
security = user

// 这是samba服务器的安全等级。默认为user等级。samba 一共有4种安全等级。
// 1. share级,共享安全级,用户不需要输入账号和密码就可以登陆
// 2. user级, 用户安全级,用户需要账号和密码才能登陆
// 3. server级, 服务器安全级, 检查密码的工作可以指定另一台samba服务器完成
// 4. domain域安全级, 需要指定一台XP等服务器验证用户密码


unix charset = utf8
dos charset = GBK
display charset = utf8
client lanman auth = yes
client plaintext auth = yes

[public]
path = /var/public
writeable = yes
browseable = yes
guest ok = no                    //用户需要密码,yes为不需要密码(需要配合上面的 security等级) 
comment = public
valid users = public              //可访问的用户
public = no                      //匿名用户看不到
create mask = 0777 

主要就是把security改成user guest ok改成no

  1. 最后 service smb restart service nmb start 这样就做了个带命令访问的共享文件服务器了
  2. 如果开了防火墙打开
[root@s ~]# iptables -A INPUT -p tcp --dport 139 -j ACCEPT
[root@s ~]# iptables -A INPUT -p tcp --dport 445 -j ACCEPT
[root@s ~]# iptables -A INPUT -p udp --dport 137 -j ACCEPT
[root@s ~]# iptables -A INPUT -p udp --dport 138 -j ACCEPT
[root@s ~]# iptables -A INPUT -i lo -j ACCEPT

`

上一篇:做什么事都没劲


下一篇:《云计算:原理与范式》一3.10 企业对企业集成服务