openEuler应用入门目录:
openEuler应用入门 - 前言
openEuler应用入门 01 - 安装openEuler操作系统
openEuler应用入门 02 - 使用FinalShell连接服务器
openEuler应用入门 03 - 搭建本地DNF源仓库
openEuler应用入门 04 - 安装DDE图形界面
openEuler应用入门 05 - 搭建FTP服务器
openEuler应用入门 06 - 搭建Windows文件共享服务
openEuler应用入门 07 - 搭建本地Docker镜像仓
openEuler应用入门 08 - 在服务器使用Docker
openEuler应用入门 09 - 使用Nginx
openEuler应用入门 10 - 使用WPS
openEuler应用入门 11- 安装openGuass数据库
openEuler应用入门 12- 连接openGuass数据库
openEuler应用入门 13- 使用防火墙
注:本文部分内容来源于官网文档。
搭建Windows文件共享
Samba简介
Samba是一个开源和最流行的广泛使用的程序,用户可以从同一网络上的任何 Windows 机器访问Linux共享目录。
Samba 也称为网络文件系统,可以安装在Linux/Unix操作系统上,Samba 本身是SMB(服务器消息块)和CIFS(通用 Internet 文件系统)的客户端/服务器协议。
使用 Windows smbclient ( GUI ) 或文件浏览器,最终用户可以从任何 Windows 工作站连接到 Samba 服务器以访问共享文件和打印机。
samba有五种安全级别,它们分别是:
share:不需要samba账户就可登陆samba服务器
user:需要添加samba账户才可以登陆samba服务器
server:由另外一台samba服务器来对用户进行身份验证。
domain:把samba服务器加入到NT域,由NT的域控制器来进行身份验证。
ADS:Active Directory Service,活动目录服务,它是samba3.0中新增的身份验证方式。采用ADS验证方式,samba服务器集成到活动目录中。
Samba 使用到的端口
Samba的正常工作需要使用到多个网络端口,使用 samba 服务器需要防火墙开放以下端口:
TCP 139,445
UDP 137,138
所以,在配置SAMBA前,应打开防火墙的这4个端口,可以通过DDE图形界面操作,也可以通过命令操作。
安装 Samba
安装 Samba
使用Samba需要安装Samba软件,在已经配置dnf源的情况下,通过root权限执行如下命令,即可完成Samba的安装。
首先用“rpm –qa |grep samba”命令检验系统samba服务是否安装。
#rpm -qa grep samba
如果已经安装了DDE图形界面,并且在图形界面中登录,也可以打开“终端”输入以下命令。
安装Samba。
#sudo dnf install samba -y
如果在系统安装时己经选择了“Windows文件共享”,则输入命令并回车后,会提示Samba己安装,不需要再安装了。
管理 Samba
启动、停止和重启Samba服务,请在root权限下执行对应命令。
启动Samba服务
#systemctl start smb
可以通过netstat命令查看通信端口21是否开启,如下显示说明vsftpd已经启动。
停止Samba服务
#systemctl stop smb
重启Samba服务
#systemctl restart smb
开机自动启动Samba服务
#systemctl enable smb
配置 Samba
修改selinux配置
查看selinux配置。
#getenforce Enforcing
修改selinux配置,可以通过命令行,也可以通过DDE图形界面修改。
#vim /etc/selinux/config
修改为SELINUX=permissive
保存重启。
share级别共享配置
这个级别的samba很简单,首先它不需要以用户和密码来验证登陆。
首先创建一个共享用的文件夹,并修改其权限。
#mkdir /home/share_files
#chown nobody /home/share_files
修改Samba的配置文件,也可以使用图形用户界打开文件修改。
#vi /etc/samba/smb.conf
修改后的配置如下
[global]
workgroup = SAMBA
netbios name = svlake01
security = user
map to guest = bad user
passdb backend = tdbsam
load printer = no
[share_files]
comment = share files
path = /home/share_files
writable = yes
browseable = yes
guest ok = yes
通过以上的配置文件登陆,那么Linux都认为是nobody这个用户。建立文件夹的所有者和所属组都是root,那么nobody用户对这个文件夹就是其他人权限,没有w写权限。前面说过,Linux所有的服务都是这样,不光需要配置文件服务开启,还需要Linux系统权限都打开,两者都开启,功能才能生效。vsftpd的匿名用户能不能上传是这样,samba也是这样。所以呢!需要更改文件的所有者为nobody,强烈不建议将一个目录的权限改为777,这非常的危险。
修改完成后,重启Samba服务。
user级别共享配置
设置账号用于登录samba服务器,同时并设置密码。
#useradd sambauser
#smbpasswd -a sambauser
建一个共享用的文件夹,并修改其权限。
#mkdir /home/share_files
#chown sambauser /home/share_files
修改Samba的配置文件,也可以使用图形用户界打开文件修改。
#vi /etc/samba/smb.conf
修改后的配置如下:
[global]
workgroup = SAMBA
netbios name = svlake01
security = user
map to guest = never
passdb backend = tdbsam
load printer = no
[share_files]
comment = share filess
path = /home/share_files
valid users = sambauser
writable = yes
browseable = yes
其中:
修改完成后,重启Samba服务。
使用Windows测试
使用Windows资源管理器进行测试。
Win键+E打开资源管理器中输入 【[\\IP地址】。
注意:分别测试share和user两种共享模式。
测试一种完成后,因为凭据问题,可能需要删除之前登录用的凭据。
在windows下,进入“控制面板\用户帐户和家庭安全\凭据管理器” 或者cmd命令control keymgr.dll
结合上图,“从保管库中删除”,将存在的共享IP的sambauser账户删除。
删除后,重启Workstations服务。没有上述凭据,直接重启Workstations服务,并重启SMB网络服务协议。
计算机—管理—服务 对Workstation服务进行重新启动