Samba服务器是一种开源的文件共享服务,它提供了一种方法,使不同操作系统之间可以共享文件和打印机
环境准备
Samba服务器
- 主机名:appsrv
- IP地址:192.168.239.129(以自己的系统中的查询出来的为准)
IP地址根据当前系统中用ifconfig查询出来的地址为准:
例如:当前系统IP地址为 192.168.239.129
服务器的IP地址改为:192.168.239.100
前面3个部分要一致,最后一个部分为 100 - 共享目录:/data/share 共享名:docs
- 仅仅允许 192.168.239.110的主机访问目录
- 仅允许用户 zsuser 上传文件,其他用户只有读的权限
- 共享目录:/data/public 共享名:pubdoc
- 允许匿名访问,所有用户都能上传文件
Linux客户端
- 主机名:smbcli
- IP地址:192.168.239.110
IP地址前面3个部分和当前系统中查询出来的IP地址要一致。
最后一个部分为 110
Windows10客户端
- IP地址:192.168.239.120
IP地址前面3个部分不改动,最后一个部分为120
安装Linux Samba服务器
安装服务器
输入命令 yum install samba -y 自动安装samba
yum install samba -y
查看是否安装成功
yum list samba
配置IP地址
查看当前系统的IP地址
ifconfig
进入网卡所在的目录
cd /etc/sysconfig/network-scripts
查看目录中的内容
ls
编辑网卡配置文件输入命令 vim vim ifcfg-ens33
vim ifcfg-ens33
如果没找到vim 命令,就安装 yum install vim 安装完成后,输入vim ifcfg-ens33命令编辑 网卡文件
yum install vim
修改BOOTPROTO=none 添加IP地址和网关
vim ifcfg-ens33
按下Esc 输入:wq回车 保存退出
重启网络服务,这时候,如果使用的是 xshell,xshell会断掉,需要用新设置的IP地址重新连接
systemctl restart network
重新连接上后,查看网络状态 systemctl status network
systemctl status network
设置主机名
输入命令 hostnamectl set-hostname appsrv 设置主机名称为:appsrv
hostnamectl set-hostname appsrv
输入exit命令退出,然后重新用xshell连接。看主机名是否被改了
新建linux用户
创建两个新用户
zsuser : 【共享目录:/data/share 共享名:docs】 上传文件和读取
ss : 【共享目录:/data/share 共享名:docs】 只读
- 新建zsuser用户,并设置密码root
输入命令 useradd zsuser 创建用户
passwd zsuser 修改密码
useradd zsuser
passwd zsuser
- 同上,创建用户ss ,并设置密码root
设置为Samba用户
将刚才新建的两个用户设置为Ssamba用户,密码单独设置,和Linux的登录密码不同
输入命令 smbpasswd -a zsuser 我这里设置密码为:smbzsuser 这个密码可以自行修改
smbpasswd -a zsuser
同上,将ss用户设置为 Samba用户,设置密码:smbss
创建本地共享目录并设置权限
输入命令 mkdir -p /data/share /data/public 一次性 创建两个目录 data/share 和 /data/public
mkdir -p /data/share /data/public
输入 ll /data 命令查看data中两个目录的所有者,因为当前登录用户是root,所以两个目录的所有者都是 root
ll /data
输入命令chown zsuser:zsuser /data/share 修改 /data/share 的所有者为 zsuser
chown zsuser:zsuser /data/share
再次输入命令 ll /data 查看,share目录 的所有者已经变成zsuser了
设置 /data/public 目录的权限为任意用户都可以读写
输入命令: chmod 777 /data/public
chmod 777 /data/public
用 ll /data 查看目录情况
添加共享域并设置参数
编辑 /etc/samba/smb.conf 文件,添加共享域并设置参数
vim /etc/samba/smb.conf
添加共享目录名称,权限等信息
具体含义如下
完成后按下Esc输入 :wq 回车 保存退出
关闭selinux 设置
输入命令 vim /etc/sysconfig/selinux 修改SELINUX=disabled
vim /etc/sysconfig/selinux
完成后按下Esc输入 :wq 回车 保存退出
输入命令 reboot 重启系统,会断开xshell,等待启动完成,重新连接
reboot
重启Samba服务器,并关闭防火墙
输入命令 systemctl restart smb 重启Samba服务器
systemctl restart smb
输入命令 systemctl stop firewalld 关闭防火墙
systemctl stop firewalld
输入命令 systemctl disable firewalld 设置开机启动自动禁用防火墙,
否则每次重启系统都会自动开启防火墙
systemctl disable firewalld
输入命令 systemctl enable smb 开机启动smb服务
systemctl enable smb
到此,Samba服务器配置完成
安装Linux Samba客户端
另启动一个Linux系统
检查是否能和Samba连通
输入命令 ping 192.168.239.100
ping 192.168.239.100
设置主机名
输入命令 hostnamectl set-hostname smblic 设置主机名为smblic
hostnamectl set-hostname smblic
用命令 exit 退出。然后重新连接。检查主机名是否已经更改
安装Samba客户端工具
输入命令 yum install samba-client –y 自动安装 Sambs客户端
yum install samba-client –y
修改客户端IP地址
将客户端的IP地址修改为:192.168.239.110
实际情况根据自己系统的IP地址来设置,前面3个部分不变,最后一个部分改成100
参考服务器端修改IP地址的方式:
IP地址:192.168.239.110
网关:192.168.239.2
输入命令 systemctl restart network 重启网络服务 ,然后重新连接xshell
systemctl restart network
创建几个文件
输入命令 touch file1 file2 file3 创建3个文件,然后用 ls 查看
touch file1 file2 file3
ls
使用zsuser连接Samba服务器访问 docs 目录
输入命令 smbclient //192.168.239.100/docs -U zsuser 使用zsuser用户连接Samba服务器, 输入前面设置的密码: smbzsuser 进入samba客服端命令模式
smbclient //192.168.239.100/docs -U zsuser
输入命令 put file1 上传文件1
put file1
输入命令 ls 查看文件是否上传成功
输入命令 quit 退出交换内容
quit
使用ss 用连接Samba服务器访问 docs 目录
输入命令 smbclient //192.168.239.100/docs -U ss 使用ss用户连接Samba服务器, 输入前面设置的密码: smbss 进入samba客服端命令模式
smbclient //192.168.239.100/docs -U ss
输入命令 put file2 上传文件
put file2
提示 NT_STATUS_ACCESS_DENIED (禁止访问状态) ,用户 ss 没有 docs目录的写入权限。
可以用 ls 查看目录下的内容
【quit】退出交互
使用ss 用连接Samba服务器访问 pubdoc 目录
输入命令 smbclient //192.168.239.100/pubdoc -U ss 使用ss用户连接Samba服务器, 输入前面设置的密码: smbss 进入samba客服端命令模式
smbclient //192.168.239.100/pubdoc -U ss
输入命令 put file2 上传文件
put file2
使用 【ls】 命令查看 ,pubdoc目录对所有用户都有权限。
输入命令【quit】退出交互模式
使用匿名用户连接Samba服务器访问 pubdoc 目录
输入命令 smbclient //192.168.239.100/pubdoc -U 密码直接回车,上传文件,并查看结果
window10客户端验证
直接在当前windows10系统上打开运行窗口
在【开始】菜单上【右键】选择【运行】
双击【docs】目录,会得到拒绝访问的提示,因为这个共享目录只允许192.168.239.110的主机访问
双击【pubdoc]目录,可以完全访问,可以新建文件等操作