版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/s295580857/article/details/76169787
一、Samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。
二、安装Samba服务
直接yum安装
yum install samba samba-client
启动并查看Samba
systemctl start smb nmb #NMB对客户端提供NetBIOS服务
systemctl status smb nmb
三、配置Samba服务
vim /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ==============================
[data]
path = /xy/webapp/data
writable = yes
browsable = yes
valid users = www
write list = www
printable = no
create mask = 0755
directory mask = 0755
四、测试
1.在windows下输入\192.168.10.128\public访问
2.在Linux下输入smbclient //192.168.10.128/public访问
五、其他
1.配置只允许个别用户访问
vim /etc/samba/smb.conf添加如下:
[data]
comment = data
path = /share/data
valid users = xyz
write list = xyz
printable = no
create mask = 0755
directory mask = 0755
建立共享目录、添加相应用户和组
mkdir -p /share/data
groupadd xyz
useradd xyz -s /sbin/nologin
cd /share/data
pdbedit -a -u xyz #新建Samba用户
pdbedit -L #查看Samba用户列表
systemctl restart smb nmb #重启Samba
可能出现的问题:能下载不能上传
setfacl -m u:xyz:rwx /share/data/ #赋予用户写权限
Linux进行挂载
yum install -y cifs-utils #网络文件共享系统套件
mkdir /mnt/samba
mount -t cifs //192.168.10.xxx/data /mnt/samba -o username=xyz
Linux实现自动挂载
vim /etc/fstab #添加如下
//192.168.10.xxx/data /mnt/samba cifs credentials=/etc/samba/xyz.passwd 0 0
vim /etc/samba/xyz.passwd #防止密码泄露,所以另建文件
username=xyz
password=abcdef
chmod og=--- /etc/samba/xyz.passwd #设置该密码文件权限
umount /mnt/samba #卸载
mount -a #挂载fstab下的所有选项
ls /mnt/samba/