CentOS部署Samba服务

简介: CentOS部署Samba服务

Samba网盘,Samba是一个网络服务器,用于Linux和Windows之间共享文件,Samba一般装在Linux系统中作为服务器,为Windows用户提供网盘。

环境准备与软件包安装

第一步准备环境,第二部安装软件包

#1.准备环境
service iptables status #查看是否开启
service iptables stop #临时关闭
chkconfig iptables off #永久关闭
setenforce 0 #临时关闭
vim /etc/sysconfig/selinux #永久关闭需要修改配置文件
#2.安装软件包
yum install samba -y
yum erase samba -y #卸载

配置文件

#3.修改配置文件
vim /etc/samba/smb.conf

打开配置文件,找到下面所示代码块

这里是Samba网盘的三种模式,user/share/server,我们主要用前两种:

  • user: 需用用户密码登录,密码由tdbsam驱动程序管理;
  • share:共享模式,不需要用户密码;

share模式

share模式即共享模式,samba的共享的定义可以在下面看到

我们可以按照下面的语法格式来定义自己的配置

comment = ......   设置共享注译
path =    设置共享目录的物理路径
valid users = @组名,用户名   设置允许哪些合法组或用户访问
public = yes|no  设置共享资源是否能给游客帐号访问
browseable = yes|no  设置该共享为隐藏共享
writable = yes|no 设置是否允许客户端写入数据
hosts allow =  设置允许访问该共享的合法网段或IP

可以直接复制下面我写好的配置,每句话的含义见上面的语法说明

[company]
comment=share file
path=/company #共享文件夹的目录,前提是已经创建好这个文件夹
public=yes #公共的,不需要用户密码
writable=yes #可写
write list=+staff #所有用户都可以写

将这段内容直接写在配置文件末尾即可

保存配置文件,启动Samba服务

service smb start

在Windows下登录Samba网盘

接下来就是测试我们部署好的Samba服务了,接下来请按下面步骤操作

首先,右击“此电脑”,选择映射网络驱动器

打开映射网络驱动器后,输入服务器名和samba配置文件中的标题,此时可能会报错

“因为文件共享不安全,不能连接…”报错的解决方案

解决方法如下:“打开控制面板-程序-程序和功能-启用或关闭Windows功能”

在弹出的对话框中,选中SMB进行安装,安装后需要重启Windows。

这里要注意,服务器IP是你的Linux的IP,后面的company,是在配置文件/etc/samba/smb.conf中,[]内部的那个标题,也就是刚才我们在配置文件中加入内容的第一行[]内的内容。

这样,在连接samba后,就会执行[company]后面的内容。

如果此时还是无法连接Samba,可以尝试下面解决方法,在Samba配置文件中关闭打印机。

权限问题

回车连接后,我们就可以在Windows下看到Linux中的共享文件夹。

这里要注意,我们虽然在samba中设置了写权限,但是我们去不能在Windows下删除或新建文件,这是因为我们的Windows属于客户端,客户端远程登录samba服务访问/company目录,我们可以通过ll命令查看/company目录的权限,这个目录是属于root用户,root组的,而我们的客户端属于其它用户,权限是r-x。也就是说samba服务给我们权限了,但是操作系统没给我们权限。

我们可以给其他用户增加写权限,就可以在Windows客户端操作/company目录了。(还要注意具体文件有没有写权限)

添加权限

chmod o+w /company/

samba所提供的这种服务,实际上是一种文件存储,使用posifix标准。也就是说,我们可以进行一切文件级别的操作,即文件增删、修改文件名等等。

user模式

需要用户密码来访问,在samba服务中只有密码服务,没有用户名的服务,所以我们需要在Linux中建一个用户名。我们增加一个用户,并设置好密码

重启Samba服务,在Windows下再次打开映射网络映射驱动器,输入服务器主机名以及刚才设置好的用户名,勾选“使用其它凭据连接”

在弹出的登陆界面输入用户名与密码

我们登录tempuser这个用户,实际上就是访问tempuser的家目录。登陆后,我们就可以看到在我的电脑中多了一个tempuser

这里与share方式登录有一个很大的区别就是,share登录samba网盘的时候不需要用户密码,属于Linux下的其他用户,所以在客户端操作的时候需要在Linux下增加其它用户的权限;而user模式下,客户端登录samba网盘需要用户名username和密码,所以它在linux下就是username用户,它就拥有username的权限。

也就是说,我们创建的这个用户username即是samba用户也是系统用户,它既可以登录samba,也可以登录Linux。如果我们希望username只用于登陆samba,不能登录Linux操作系统,我们可以对用户username进行限制,使它不能登录Linux。

现在我们在Windows下操作tempuser文件夹和在Linux下操作是一样的,并且Windows下的操作会同步到服务端

相关文章
|
1月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
206 1
|
2月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
137 0
|
19天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
61 2
|
23天前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
51 1
|
1月前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
47 1
|
1月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
175 0
虚拟机centos7.9一键部署docker
|
2月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
410 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
2月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
118 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
Linux 网络安全 开发工具
centos7部署l2tp ipsec
1、查询操作系统版本 #cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 2、查询系统是否支持ppp,返回yes代表通过。 #modprobe ppp-compress-18 && echo yes 3、查询系统是否开启了tun,返回File descriptor in bad state代表通过。
8003 0
|
8天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。