搭建Samba服务

  1. IFS是实现文件共享服务的一种文件系统,主要用于实现Windows系统中的文件共享,Linux系统中用的比较少,一般Linux系统中利用CIFS文件系统实现文件共享,需要安装Samba服务。它使程序可以访问远程Internet计算机上的文件,并要求此计算机提供服务。CIFS使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议,如文件传输协议和超文本传输协议的一个实现。

1.安装

yum install -y samba 使用yum一键安装即可。

2.配置

进入到配置文件 /etc/samba/smb.conf

[global]
#全局参数。

workgroup = MYGROUP #工作组名称

server string = Samba Server Version %v #服务器介绍信息,参数%v为显示SMB版本号

log file = /var/log/samba/log.%m #定义日志文件的存放位置与名称,参数%m为来访的主机名

max log size = 50 #定义日志文件的最大容量为50KB

security = user #安全验证的方式,总共有4种

#share:来访主机无需验证口令;比较方便,但安全性很差

#user:需验证来访主机提供的口令后才可以访问;提升了安全性

#server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)

#domain:使用域控制器进行身份验证

passdb backend = tdbsam #定义用户后台的类型,共有3种

#smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码

#tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户

#ldapsam:基于LDAP服务进行账户验证

load printers = yes #设置在Samba服务启动时是否共享打印机设备

cups options = raw #打印机的选项
[homes]
#共享参数

comment = Home Directories #描述信息

browseable = no #指定共享信息是否在“网上邻居”中可见

writable = yes #定义是否可以执行写入操作,与“read only”相反
[printers]
#打印机共享参数

comment = All Printers

path = /var/spool/samba #共享文件的实际路径(重要)。

browseable = no

guest ok = no #是否所有人可见,等同于”public”参数。

writable = no

printable = yes
参数 作用
[database] 共享名称为database
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享目录为/home/database
public = no 关闭“所有人可见”
writable = yes 允许写入操作

添加用来登录的用户

  1. useradd liao1
  2. passwd liao1
  3. # 后期想要删除 使用
  4. useradd -r liao1
  5. # 删除的很彻底 /etc/passwd /etc/group /etc/shadow /etc/gshadow

设置用户登录samba服务的密码

  1. smbpasswd -a smb #自行设置

image.png

添加一个[smb]

  1. [smb]
  2. comment = smb 111
  3. path = /mnt/test/
  4. browseable = yes
  5. writable = yes
  6. valid users = smb
  • path = / # 访问的路径
  • browseable = yes # 允许访问
  • writable = yes # 允许写入
  • valid users = smb # 合法的用户,即访问的用户,这里是smb

修改[global]中的内容

Samba搭建 - 图2

按照图片中进行修改/添加。

新增[share],添加参数

Samba搭建 - 图3

  • /opt/share:这个目录是将要共享的目录,若没有,需要创建。
  • browseable:参数是操作权限;
  • public:参数是访问权限;
  • writable:参数是对文件的操作权限。

3.开启服务

①共享文件夹的配置

我们设置了/opt/share,但是opt中并没有该文件夹,所以创建文件夹/opt/share

并且给文件夹赋予权限,方便我们使用。chmod 777 /opt/share

②启动服务

  1. systemctl start smb
  2. systemctl start smb

③查看端口是否启动

  1. netstat -ntlp #查看端口启动。如果没有此命令,使用yum install -y net-tools

Samba搭建 - 图4

④创建samba用户

smbpasswd -a root

  1. smbpasswd -a root #添加一个用户,名称为root
  2. New SMB password: #新密码
  3. Retype new SMB password: #确认密码
  4. Added user root. #添加用户root成功

4.关闭防火墙等

  1. systemctl stop firewalld #关闭防火墙
  2. systemctl disable firewalld #关闭防火墙自启
  3. setenforce 0 #关闭selinux

5.使用samba服务

Win+R 打开运行,输入samba服务器的ip地址 ‘\\192.168.148.197

Samba搭建 - 图5

输入账号和正确的密码

Samba搭建 - 图6

随意创建一些文件,出现创建的文件,即可。

Samba搭建 - 图7