SMB(Server Messages Block,服务器消息块)协议,是微软和英特尔在1987年共同推出的,主要是解决局域网内的文件或打印机等资源的共享问题,这使得在多个主机之间共享文件变得愈来愈简单。
Samba,是Tridgwell为了解决Linux系统与windows系统之间的文件共享问题,基于SMB协议开发出来的服务程序。它是一款开源的文件共享软件,通过简单配置就可以实现Linux系统与windows系统之间的文件共享工做。
表1:Samba服务的配置参数以及做用
pdbedit命令用于管理SMB服务的帐户信息数据,格式为“pdbedit [参数] 帐户”。
表2:pdbedit命令的参数以及做用
经过帐户和密码的验证方式访问共享资源
一、建立用于访问共享资源的帐户信息
注:第一次使用pdbedit命令写入帐户信息数据时须要使用-a参数,之后执行修改密码、删除帐户等操做时就无需使用-a了。linux
useradd -M -s /sbin/nologin test pdbedit -a -u test
二、建立用于共享资源的目录vim
mkdir -p /data/tools chown -Rf test:test /data/tools/
三、修改共享目录的selinux安全上下文windows
semanage fcontext -a -t samba_share_t /data/tools restorecon -Rv /data/tools/
四、修改配置文件,添加以下内容vim /etc/samba/smb.conf
安全
[tools] #共享目录名为tools comment = Do not arbitrarily modify the tools file #描述信息 path = /data/tools #共享目录的路径 valid users = test #容许访问该共享的用户 public = no #不容许guest用户访问 writable = yes #容许写入操做
五、配置firewalld防火墙容许Samba服务服务器
firewall-cmd --permanent --add-service=samba firewall-cmd --reload
六、启动samba服务,并加入开机启动dom
systemctl restart smb systemctl enable smb
七、windows访问共享目录
在windows的“运行”命令框中输入\192.168.2.211\tools,输入访问共享资源的帐号和密码,就能够登录到共享目录了。
此时能够测试一下上传文件、下载文件,正常状况下应该都OK。
八、Linux访问共享目录(在另外一台linux机器上操做)
(1)安装cifs-utils软件包yum -y install cifs-utils
(2)将用户名、密码、共享域的信息写入到一个认证文件中vim auth.smb
ide
username=test password=123456 domain=MYGROUP chmod 600 auth.smb
(3)建立一个用于挂载共享资源的目录,并把挂载信息写入/etc/fstab文件中测试
mkdir /data/test vim /etc/fstab
//192.168.2.211/tools /data/test cifs credentials=/root/auth.smb 0 0
mount -a
(4)测试
在共享目录里写入一个测试文件echo "it is xuad" > /data/test/xuad.txt
在samba服务器上查看测试文件内容
经过guest用户访问共享资源
一、建立用于共享资源的目录rest
mkdir /data/xuad chmod 777 /data/xuad/
二、修改共享目录的selinux安全上下文code
semanage fcontext -a -t samba_share_t /data/xuad restorecon -Rv /data/xuad/
三、修改配置文件,添加以下内容vim /etc/samba/smb.conf
[xuad] comment = Fully shared directory path = /data/xuad public = yes #容许guest用户访问 writable = yes
四、检查samba服务的配置是否正确testparm
五、重启samba服务systemctl restart smb
六、windows访问共享目录此时能够测试一下上传文件、下载文件,正常状况下应该都OK。