巴中热线

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 7327|回复: 1

[电脑网络] linux系统设置samba匿名共享文件夹限定IP访问教程

[复制链接]
发表于 2017-3-28 19:06:12 | 显示全部楼层 |阅读模式

注册巴中热线论坛,交好友享优惠,衣食住行吃喝玩乐尽在 BZHOT.com

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
背景:Linux系统给window提供共享目录,限制特定IP访问,免用户名和密码。蓝色为命令,绿色为注释,红色为修改部分


1、设置共享目录为可读写执行权限,可自行新建共享文件目录

# chmod 777 /StockWay/localdata

2、使用yum命令安装samba,加入-y参数,如遇询问自动选择y,全自动下载并安装samba,等待安装完成
# yum -y install samba

3、检查samba服务包的安装情况,会显示类似如下两个包:
# rpm -qa | grep samba
samba-common-3.0.33-3.7.el5_3.1
//服务器和客户端均需要的文件
samba-3.0.33-3.7.el5_3.1
//服务器端软件,提供samba服务器守护程序,共享文档,日志轮替,开机默认选项

4、因是yum安装,可以用命令查看samba安装位置,得到如下内容:
# whereis samba
samba: /etc/samba /usr/lib/samba /usr/share/samba /usr/share/man/man7/samba.7.gz

5、备份配置文件,编辑samba服务配置文件
# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
# vi /etc/samba/smb.conf

1)搜索security = user 改为 security = share

2)粘贴以下代码到配置文件最后
[data]
comment = this is Linux share directory
path = /StockWay/localdata
public = yes
writable = yes
Guest ok = yes

//共享名data,按需设置
//共享描述
//共享目录路径
//是否匿名访问,yes =允许 或 no =禁止
//是否可写入,yes =允许 或 no =禁止
//允许gues账户访问


3)若设置匿名访问,请限制ip访问列表,搜索hosts allow去除前面注释;号。(多ip用空格隔开)
hosts allow = 18.205.135.101 18.250.135.102 19.205.105.99

6、重启samba共享服务(start =启动,stop =停止)
# service smb restart

7、查看samba服务运行情况
# service smb status
smbd (pid  6573) is running...

8、设置samba服务开机自启动
# chkconfig --level 35 smb on
//在3、5级别上自动运行samba服务,通过chkconfig --list查看开机启动是否设置成功,发现运行级别3-5都已经开启

9、测试samba配置是否正确
# testparm

10、查看当前samba的用户信息
# cat /etc/samba/smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest

//默认用root账号登陆samba会认定为管理员账号登陆,当你用administrator admin登陆的时候就认为本地用的是root账号登陆,用guest,pcguest,smbguest登陆的时候就让我本地用的是nobody账号登陆。

注意:
hosts allow 和 security = user 重要参数配置特别说明
hosts allow = 127. 192.168.1. 192.168.10.1
说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。

例如:hosts allow=172.17.2.EXCEPT172.17.2.50
表示容许来自172.17.2.*的主机连接,但排除172.17.2.50

hosts allow=172.17.2.0/255.255.0.0
表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接

hosts allow=M1,M2
表示容许来自M1和M2两台计算机连接

hosts allow=@pega
表示容许来自pega网域的所有计算机连接

security = user
说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
max connections = 0
说明:max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。

deadtime = 0
说明:deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。

time server = yes/no
说明:time server用来设置让nmdb成为windows客户端的时间服务器。

log file = /var/log/samba/log.%m
说明:设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server,就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件。

max log size = 50
说明:设置Samba Server日志文件的最大容量,单位为kB,0代表不限制。



上一篇:Windows系统用Netstat和Find查看连接IP端口和监听状态
下一篇:Linux安装设置samba共享后 无法打开共享文件夹解决方法
回复

使用道具 举报

 楼主| 发表于 2017-3-28 19:20:21 | 显示全部楼层
samba客户端操作
1、命令行访问方法,可以查看服务器共享的目录信息
# smbclient–L 192.168.0.14

2、进入共享目录的方法
# smbclient //192.168.0.14/test

进入后可以使用 ls getmget put mput 等方法存取文件

3、挂载文件到本地
a) 安装smbfs:
# sudoapt-get install smbfs

b) 挂载test目录到abc目录:
# sudo mount //192.168.0.25/test /home/vpc/abc
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

巴中热线 - 精彩推荐上一条 /1 下一条

快速回复 返回顶部 返回列表