接到运营人员需要共享文件的需求,考虑到简单易用的原则,这里选用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 可以查看所有的远程连接。