首先先记录下在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 一个简单不用验证的共享服务器就搞定了。
- 第三步: 做一个需要帐号密码的共享服务器
- 先用命令
useradd public -s /sbin/nologin
(系统建立一个叫public的帐号且不能登陆系统) - 然后再用命令
smbpasswd -a public
(用这个命令来添加一个SMB的帐户叫public) -
chown public:public /var/public
(让public帐户可以有权限使用/var/public这个目录) - 然后修改 /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
- 最后
service smb restart
和service nmb start
这样就做了个带命令访问的共享文件服务器了 - 如果开了防火墙打开
[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
`