接到运营人员需要共享文件的需求,考虑到简单易用的原则,这里选用Samba来做文件共享服务。 先介绍下Samba服务,Samba是SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享、打印机共享更容易实现。

一,安装Samba服务

1, CentOS7上直接使用yum安装samba, samba-client即可。

# yum install samba samba-client

2,安装完成后,检查下结果

# rpm -qa samba-client samba
samba-client-4.7.1-9.el7_5.x86_64
samba-4.7.1-9.el7_5.x86_64

二,服务端配置

1,创建共享目录(这里使用逻辑卷的方式)

# lvcreate -n smb -L 20G centos    #创建lv逻辑卷
# mkfs.xfs /dev/mapper/centos-smb   #格式化xfs文件系统
# mkdir  /smb   #创建挂载点
# echo '/dev/mapper/centos-smb	xfs	defaults	0 0'  >> /etc/fstab        #设置开机自动挂载
# mount -a    #执行挂载

2,创建用户组

# groupadd yunying
# grep yunying /etc/group   #查看
yunying:x:1008:
# chown :yunying /smb   #修改共享目录权限

3,修改Samba配置文件

# cd /etc/samba/
# cp smb.conf smb.conf.bak    #备份原配置文件

修改为如下:

[global]
	workgroup = WORKGROUP      #定义工作组
	security = user                         #定义安全级别(user, share, server)share代表不验证用户,user为samba服务器验证,server则代表认证工作由其他服务器完成
	passdb backend = tdbsam     #密码存储方式
	printing = cups
	printcap name = cups
	load printers = yes
	cups options = raw

[printers]
	comment = All Printers
	path = /var/tmp
	printable = Yes
	create mask = 0600
	browseable = No

[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	write list = @printadmin root
	force group = @printadmin
	create mask = 0664
	directory mask = 0775

[运营共享]
path = /smb                         #共享目录
valid users = @yunying      #允许的用户,@代表组
write list = @yunying         #可写

4,创建Samba用户(Samba依赖于系统用户)

useradd -g yunying -M -s /sbin/nologin test

5,将用户加入到Samba服务器中

# pdbedit -a test
new password:                           #输入密码,并确认
retype new password:
...

6,检查配置文件语法

# testparm -s
Load smb config files from /etc/samba/smb.conf
Processing section "[printers]"
Processing section "[print$]"
Processing section "[运营共享]"
Loaded services file OK.                              #语法检查ok
Server role: ROLE_STANDALONE

7,启动Samba服务,并设置开机自启动

# systemctl start smb.service
# systemctl enable smb.service

8,检查服务运行状态

# netstat -tnlp | grep smbd
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      18782/smbd          
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      18782/smbd 

三,客户端配置

Windows客户端(Win7为例): win + r 打开运行窗口,键入服务器地址 输入用户名密码 点击确定即可登录

Linux客户端配置: linux下连接samba服务器使用smbclient命令,因此要确保samba-client安装完成。 查看服务器的共享目录

# smbclient -L 172.16.100.188 -U test -W WORKGROUP
# smbclient -L 172.16.100.188 -U test%password  -W WORKGROUP

进入共享目录

# smbclient  //172.16.100.188/运营共享 -U test%111111 -W WORKGROUP
Try "help" to get a list of possible commands.
smb: \> 

使用-c选项可以一次性使用smbclient命令

# smbclient -c 'ls ' //172.16.100.188/运营共享 -U test%111111 -W WORKGROUP

四,Windows断开与Samba服务器的连接方法

开始 -> 运行 -> cmd,执行net use * /del,然后根据提示按Y是取消远程连接,N是放弃。执行net use 可以查看所有的远程连接。