说明:
1、根据业务场景需要,要求将linux生成的图片文件,共享到windows服务器。
2、研发从共享文件夹中读取图片并且在应用web页面展示。
3、故要求安装搭建samba服务器,然后将共享文件夹挂载到windows服务器指定路径。
一、安装samba服务
1、安装samba服务
说明:请在linux服务器操作
yum -y install samba samba-client cifs-utils
2、修改配置文件
cp -av /etc/samba/smb.conf /etc/samba/smb.conf_back
vim /etc/samba/smb.conf
[smb_image]
comment = this is linux share directory
path = /home/images
create mask =0775
directory mask=0775
public = yes
writable = yes
available = yes
guest ok = no
valid users = smbapp
3、参数说明
1)comment :针对共享资源所做的说明文字。 默认值是为空字符串。
comment = dir for todayhero :共享这个目录为todayhero这个用户。
2)path:若共享的资源是目录,是制定该目录的位置。
path = /tmp:共享tmp这个目录。
3)guest ok:是否允许用户不使用账号和密码访问此资源。
guest ok = yes :允许用户不使用账号和密码访问此资源。
guest ok = no :不允许用户不使用账号和密码访问此资源。
4)hosts allow :设置连接主机的地址:
hosts allow = 192.168.0. server .abc com :意思是说允许来自192.168.0. 或 server.abc.com
5)hosts deny:设置禁止连接的主机地址
hosts deny = 192.168.2. :意思是说不允许来着192.168.2主机访问此samba服务器的资源。
6)read only :用于设置共享的资源是否为只读。
read only = yes :允许只读
read only = no :不仅仅只读。也就是说可以写入。
7)writable:设置是否允许写入
writable = yes:允许写入
writable = no:不允许写入
8)browseable:设置用户是否可以看到此共享资源
browseable = yes :允许用户看到此共享资源
browseable = no :不允许用户看此资源
9)available :设置是否启用资源共享
available = yes :启用资源共享
available = no : 不启用资源共享
4、创建文件夹
mkdir -p /home/images
chmod -R 777 /home/images/
[root@samba]# mkdir 22
mkdir: 无法创建目录"22": 权限不够
说明:这个是因为没有给/home/images权限777导致。
5、添加samba用户并设置密码
adduser smbapp
smbpasswd -a smbapp
输入密码:123456
6、查看samba用户列表
pdbedit -L
7、启动samba服务
systemctl enable --now smb nmb
8、查看samba服务状态
systemctl status smb nmb
9、重启samba服务
systemctl restart smb nmb
10、samba服务监听端口
TCP: 139/445
UDP: 137/138
二、linux挂载samba共享文件夹
1、查看samba共享文件夹
说明:共享标签名称:smb_image
smbclient -L //172.16.2.9 -U smbapp
[root@centos7 ~]# smbclient -L //172.16.2.9 -U smbapp
Enter SAMBA\smbapp's password:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
smb_image Disk this is linux share directory
IPC$ IPC IPC Service (Samba 4.10.16)
smbapp Disk Home Directories
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
SAMBA CENTOS7
WORKGROUP ÀÒÊÂ20214
2、登录共享文件夹
smbclient //172.16.2.9/smb_image -U smbapp
[root@centos7 ~]# smbclient //172.16.2.9/smb_image -U smbapp
Enter SAMBA\smbapp's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Thu Jun 20 15:14:02 2024
.. D 0 Thu Jun 20 11:55:03 2024
read.txt A 15 Thu Jun 20 14:45:35 2024
file D 0 Thu Jun 20 14:45:49 2024
yunwei D 0 Thu Jun 20 15:13:32 2024
smab.txt A 9 Thu Jun 20 15:14:16 2024
17811456 blocks of size 1024. 11253804 blocks available
smb: \>
3、linux挂载samba服务
mkdir -p /mnt/samba
mount.cifs //172.16.2.9/smb_image /mnt/samba -o username=smbapp,password=123456
mount -t cifs //172.16.2.9/smb_image /mnt/samba -o username=smbapp,password=123456
[root@centos7 ~]# mount -t cifs //172.16.2.9/smb_image /mnt/samba -o username=smbapp,password=123456
[root@centos7 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 979M 0 979M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.6M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 6.3G 11G 37% /
/dev/sda1 1014M 138M 877M 14% /boot
tmpfs 199M 0 199M 0% /run/user/0
//172.16.2.9/smb_image 17G 6.3G 11G 37% /mnt/samba
[root@centos7 ~]# ls /mnt/samba/
file read.txt smab.txt yunwei
4、验证samba服务能否正常创建文件夹
[root@centos7 ~]# mkdir /mnt/samba/linux
[root@centos7 ~]# ls /mnt/samba/
file linux read.txt smab.txt yunwei
说明:没有出现报错信息,并且在目录中能查看到已创建的文件夹linux
5、添加开机自启动/etc/fstab
echo "username=smbapp" | sudo tee -a /etc/samba/smbuser
echo "password=123456" | sudo tee -a /etc/samba/smbuser
sudo chmod 600 /etc/samba/smbuser
//SambaServerIP/ShareName /mnt/MountPoint cifs credentials=/etc/samba-credentials,iocharset=utf8,sec=ntlmv2 0 0
[root@jeven ~]# grep samba /etc/fstab
//172.16.2.9/smb_image /mnt/samba cifs defaults,credentials=/etc/samba/smbuser,multiuser,sec=ntlmv2 0 0
6、挂载命令
mount -a
[root@centos7 samba]# mount -a
[root@centos7 samba]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 979M 0 979M 0% /dev
tmpfs tmpfs 991M 0 991M 0% /dev/shm
tmpfs tmpfs 991M 9.6M 981M 1% /run
tmpfs tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 6.3G 11G 37% /
/dev/sda1 xfs 1014M 138M 877M 14% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/0
//172.16.2.9/smb_image cifs 17G 6.3G 11G 37% /mnt/samba
7、卸载命令
umount /mnt/samba
三、windows挂载samba共享文件夹
1、windows安装samba cifs客户端
说明:
a、第一张图是windows客户端安装
b、第二张图是windows server 2016客户端安装
c、samba cifs客户端安装完成,必须要重启windows或者windows server,否则会提示找不到驱动。
2、windows挂载samba共享文件夹执行命令
win+R ——> cmd
# windows开机自动挂载
net use /persistent:yes
net use Y: \\172.16.2.9\smb_image /persistent:yes /user:smbapp 123456
3、G盘创建文件夹aivedio,并且软连接images以及挂载到Y盘
md G:\aivedio
cd /d G:\aivedio
mklink /d G:\aivedio\images Y:
# 提示结果如下图所示:
C:\Users\Administrator>mklink /d G:\aivedio\images Y:
为 G:\aivedio\images <<===>> Y: 创建的符号链接
注意:/d 参数切换到各个盘符。
3、查看所有挂载文件夹
net use
4、自动卸载所有挂载文件夹
net use * /delete /y
5、手动卸载所有挂载文件夹
net use * /delete