Samba 文件共享

时间:2024-05-20 19:42:34

Samba 是Linux、UNIX、与Windows之间进行交互操作的软件组件,Samba是基于GPL以协议的*开源软件。Samba为众多其他支持该协议的操作系统提供安全、稳定、快速的文件与打印服务。

所需软件包:Samba(服务器端软件包)、Samba-client(客户端软件包)、和Samba-common(Samba公共文件软件包),其中Samba由smbd和nmbd两个守护进程组成。

一、配置Samba服务器

1.关闭防火墙与SELinux

[[email protected] 桌面]# setenforce 0                    #临时关闭SELinux
[[email protected] 桌面]# sed -i "/SELINUX=/c  SELINUX=disable"  /etc/syssconfig/selinux
#永久关闭SELinux
[[email protected] 桌面]# systemctl  stop  firewalld.service    #临时关闭防火墙
[[email protected] 桌面]# systemctl  disable  firewalld.service   #永久关闭防火墙

2.安装Samba 软件

[[email protected] 桌面]# yum -y install  samba

3.创建共享目录

[[email protected] 桌面]# mkdir  /common
[[email protected] 桌面]# chmod  777  /common
[[email protected] 桌面]# echo  “hello the world”  > /common/smb.txt   #创建测试文件

前三步为准备工作
4.修改配置文件
做完以上准备工作后,如果希望Samba服务可以共享指定的目录给客户端,就需要在其他配置文件写入目录共享的代码段,Samba默认配置文件是/etc/samba/smb.conf。默认下,Samba已经配置为允许用户通过远程共享访问账户自己的家目录,为了将我们的/common 目录共享给客户端,需要在该配置文件末尾追加对 common 目录的共享设置,实现快速自定义共享。

[[email protected]xiao 桌面]# vim /etc/samba/smb.conf

Samba 文件共享
5.创建访问账号
客户端访问Samba 共享时所使用的账户名称就是服务器端操作系统中真实存在的系统账户名称,但不同于微软的共享设置,访问Samba共享的密码必须是独立的Samba密码,而不可以使用系统密码。这样即使有人获得了Samba账户和密码,也不能用这些信息登陆服务器本机的操作系统,所以,成功访问Samba服务器还需要使用smbpasswd 将系统账户添加到Samba,并设置相应的密码

CentOS 7 系统自带的Samba 软件包安装后,默认会将账户与密码文件存放在/var/lib/samba/private目录下。
Samba 文件共享

New  SMB password          #提示输入账户密码
Retype new SMB password   #确认一次密码
Addod user xiao                    #成功添加账户与密码

smbpasswd 命令的描述和用法如下
描述: 修改账户samba密码
用法: smbpasswd [选项] 账户名称
-a选项,添加账户并设置密码
-x选项,删除SMB账户
-d选项,禁用SMB账户
-e选项,启用SMB账户

6.启动服务

[[email protected] 桌面]#  systemctl  start smb        #启动
[[email protected] 桌面]#  systemctl enable smb     #开机自启

二、访问Samba 共享

1.Windows 客户端访问
在Windows环境中,通过“开始” —“运行” 或win+R,在对话框输入\ip,单击“确定”按钮访问Samba共享。如果是基于用户名和密码的访问,系统会提示输入账户和密码。

2.Linux客户端访问
smbclient 命令可以访问服务器上的共享资源。
yum -y install samba 这安装的是samba服务器 同样service smb start这是在启动samba服务器

而smbclient是samba的客户端命令 你需要安装的包是samba-client。

Samba 文件共享
这个一开始报错
protocol negotiation failed: NT_STATUS_IO_TIMEOUT
上网查了把dns给注释掉就好了,原理不懂,会的评论

图形访问Samba共享,通过 nautilus-connect-server 命令开启图形配置界面。
Samba 文件共享