Linux操作系统提供了 Samba服务,为了实现Window主机与Linux服务器之间的资源共享,Samba服务为两种不同的操作系统架起了一座桥梁,使 Linux 系统和Window系统之间能够实现互相通信。
搭建Samba服务器
安装samba:直接使用yum安装
yum -y install samba system-config-samba samba-client samba-common
创建samba账号
首先为samba服务器创建一个用户组
groupadd samba
在samba用户组下创建用户
useradd -g samba sbuser
想把niginx服务器的web根目录映射到windows下,nginx的web根目录为
/usr/local/nginx/html,需要给其授权【LNMP环境已搭建】
chmod 755 /usr/local/nginx/html
chown -R sbuser:samba /usr/local/nginx/html
【注意】关于chown命令的使用:是先用户其次才是用户组
创建samba配置文件
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak // 文件备份
vi /etc/samba/smb.conf
添加以下信息:
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
[web]
workgroup = samba // samba 用户组
netbios name = sbuser // samba 用户
path = /data/www
browseable = yes
writeable = yes
为samba用户 sbuser 设置一个密码
smbpasswd -a sbuser // 回车输入密码
开放samba服务器端口
samba服务器的相关配置已经完毕,但是还无法与window进行映射,为啥呢?因为开启了防火墙,samba服务器的端口号还没有开放
使用Samba服务器需要防火墙开放以下端口:
UDP 137
UDP 138
TCP 139
TCP 445
firewalld的基本使用
systemctl start firewalld // 启动
systemctl stop firewalld //关闭
systemctl status firewalld // 查看状态
systemctl disable firewalld // 开机禁用
systemctl enable firewalld // 开机启用
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
使用firewall-cmd命令开放端口号:
systemctl status firewalld // 查看防火墙状态
systemctl start firewalld // 开启防火墙
firewall-cmd --permanent --zone=public --add-port=137/tcp
firewall-cmd --permanent --zone=public --add-port=138/tcp
firewall-cmd --permanent --zone=public --add-port=139/tcp
firewall-cmd --permanent --zone=public --add-port=445/tcp
samba服务器服务管理
systemctl start smb.service //启动samba服务
systemctl stop smb.service //关闭samba服务
systemctl enable smb.service //开机启动samba服务
点击【计算机】–>右键–>【映射网络驱动器】–>文件夹位置填写自己centos服务器地址IP -> 输入用户名和密码 即可登录