秋风瑟瑟 2019-11-12
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
————来自百度百科
配置文件位置:/etc/samba/smb.conf
[ ~]# yum install samba -y ##安装Samba服务 [ ~]# cd /etc/samba/ ##切换到Samba配置文件目录 [ samba]# mv smb.conf smb.conf.bak ##备份 [ samba]# grep -v "#" smb.conf.bak > smb.conf ##重新创建一个配置文件(除去注释的) [ samba]# vim smb.conf ##修改配置文件 [global] ##全局 workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw map to guest = Bad User ##添加此项,开启匿名用户访问 ##按G定位末行,添加 [share] ##添加的share文件 path=/opt/test ##路径 public=yes ##公共访问 browseable=yes ##能够访问 writable=yes ##写权限 create mask=0644 ##设置权限 directory mask=0755
[ samba]# mkdir /opt/test ##创建目录 [ samba]# chmod 777 /opt/test ##给全部权限 [ samba]# systemctl stop firewalld.service ##关闭防火墙 [ samba]# setenforce 0 ##关闭增强功能 [ samba]# systemctl start smb.service ##开启Samba服务
注意: 测试机需要跟Samba服务器互联互通
使用WIN+R
快捷键,输入samba服务器IP地址
返回Linux进行查看
[ samba]# cd /opt/test/ ##查看共享文件目录,查看到创建的文本 [ test]# ll -rw-r--r--. 1 nobody nobody 0 11月 5 15:51 111.txt
[ ~]# cd /etc/samba/ ##切换到Samba配置文件目录 [ samba]# vim smb.conf ##修改配置文件 [global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw #map to guest = Bad User ##将匿名访问的一项注释或删除 ##按G定位末行,添加 [test] path=/opt/test ##共享文件目录路径 browseable=yes ##能够访问,将public项去除 create mask=0644 directory mask=0755 valid users=zhangsan, lisi ##允许访问的用户 write list=zhangsan ##允许写入的用户
[ samba]# useradd zhangsan ##创建两个用户 [ samba]# useradd lisi [ samba]# smbpasswd -a zhangsan ##创建smb用户并设置密码 New SMB password: ##设置密码 Retype new SMB password: ##确认密码 Added user zhangsan. [ samba]# smbpasswd -a lisi New SMB password: Retype new SMB password: Added user lisi. [ samba]# pdbedit -L ##列出smb用户列表 zhangsan:1001: lisi:1002: [ samba]# cd /opt/ [ opt]# mkdir test ##创建共享目录 [ opt]# ls test rh test2 [ opt]# chmod 777 test2/ ##给最大权限 [ opt]# systemctl restart smb ##重启Samba服务
同样,使用WIN+R
快捷键,输入服务器IP
注意: 此次试验我们仅有zhangsan一个用户拥有全部权读写限,lisi仅能进行读取操作,开始验证:
[ ~]# cd /etc/samba/ [ samba]# vim smbusers ##创建账户映射配置文件 zhangsan = t01 t02 lisi = test1 test2
[ samba]# vim smb.conf [global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw username map = /etc/samba/smbusers ##添加别名的配置文件路径 [ samba]# systemctl restart smb
使用别名进行登录操作
同样使用WIN+R
快捷键进行链接
建立访问控制列表仅需对一个文件进行修改
[ samba]# vim /etc/samba/smb.conf [test] path=/opt/test browseable=yes create mask=0644 directory mask=0755 valid users=zhangsan, lisi write list=zhangsan hosts deny=192.168.13. ##添加拒绝192.168.13段访问 [ samba]# systemctl restart smb