一、前言
在分布式服务器集群中常常要把文件存储服务抽取出来,让文件服务器单独成为一个结点,本文根据鸟哥linux私房菜的节奏搭建一个samba服务器。
二、安装
一般使用yum安装即可
yum -y install samba
三、主要的软件
samba:这个软件主要提供SMB服务器所需的各项服务程序的文档、以及其他与SAMBA相关的logrotate配置文件及开机默认选项档案等。
samba-client:这个软件则提供了当Linux作为SAMBAClient端时,所需要的工具命令,例如挂载SAMBA文件格式的mount.cifs
四、主要配置文件与启动文件目录
配置文件主要是
/etc/samba/smb.conf #主要配置服务器的相关设定
启动脚本,主要有
/usr/sbin/smbd #用于启动
/usr/sbin/smbstatus #列出目前Samba的联机状况
/usr/bin/{smbpasswd,pdedit} #用于修改密码
/usr/bin/testparm #用于校验配置文件的正确性
/usr/bin/smbclient #查看别台计算机所分享出来的目录
五、搭建步骤
1.配置smb.conf 文件
2.配置可供使用的帐号数据
3.启动服务
六、开始搭建
首先创建我们要共享的目录
mkdir /apps
修改smb.cnf配置文件,使我们的文件夹可以共享出去,在smb.cnf的末尾一行加上
[hello_world] #这里是共享出去的文件名,即外部的机器看到的名字
comment=this is a test #这里是文件的注释
path=/apps #这里是真实的文件路径
browseable=yes #能否让所有用户看到这个项目
writable=yes #是否能写入
valid users=root #允许的登入者,这里使用的登入者必须是linux帐号中的一个
使用testparm 查看配置是否正确
从testparm的反馈信息中我们可以看到我们配置的东西
添加为samba添加一个root用户
pdedit -a -u root
输入密码
使用
pdedit -L
查看当前用户信息
使用以下命令进行启动
service smb start
使用netstat 命令进行监控
netstat -anple|grep smbd
可以看到端口被samba监听的情况
使用smbclient 进行链接,查看共享文件信息
尝试挂载
mount -t cifs //127.0.0.1/hello_world /mnt
#指使用cifs的类型来mount
#cifs是Common Internet File System,通用internet文件系统 ,简单来说就是用来通过网络进行文件的读写、共享等功能。
使用df命令查看是否挂载成功
确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。 /usr/bin/setenforce 修改SELinux的实时运行模式
setenforce 1 #置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数
/usr/bin/setstatus -v
这时候已经可以查看到里面的文件
使用window 直接查看共享文件
使用smbstatus 查看当前链接数
至此热情samba文件服务器搭建成功,以后可以直接在window拉文件到虚拟机
当挂载成功时,即文件共享成功,以下是取消挂载命令
umount /mnt