知识点导引:





smb:Service message block消息服务块;
CIFS:commom Internet file system,通用网络文件系统;
Samba功能:文件共享、打印机共享、NetBIOS协议(Windows基于主机实现互相通信机制,15个字符);
2.Samba服务:
2.1服务端程序包:通过yum install -y samba;nmbd提供netbios name service ;smbd提供cifs共享;
security = user #设定安全级别为user机制安全级别有以下3种:
share:匿名共享,安全性差
user:使用Samba服务自我管理的账号密码对用户进行验证;用户需为系统用户;
密码为访问Samba服务设定的密码。
domain:使用DC进行用户认证
passdb backen = tdbsam #密码库文件格式
共享配置:
[共享名称]定义某共享服务名
comment =:#注释信息
path =:#定义共享文件路径
browserable =:#是否可浏览,是否可被所有用户看到
writeable =:是否可写
read only =:是否为只读
write list =:可以写操作的用户列表 :”用户名”、”@组名”或者”+组名”
public =:是否公开服务
guest OK =:是否允许来宾,与public类似
实验操作步骤:

[root@server10 ~]# fdisk -l | grep sd 查看以sd开头的磁盘
Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
/dev/sda1 2048 6143 4096 2M 83 Linux
/dev/sda2 * 6144 1030143 1024000 500M 83 Linux
/dev/sda3 1030144 209715199 208685056 99.5G 8e Linux LVM
[root@server10 ~]#
[root@server10 ~]# gdisk /dev/sdb 对以sd开头的磁盘进行分区
GPT fdisk (gdisk) version 1.0.7
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries in memory.
Command (? for help): n 新建分区
Partition number (1-128, default 1): 1 创建第一个主导分区
First sector (34-209715166, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-209715166, default = 209715166) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w 保存并退出
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y 写入进程
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
[root@server10 ~]#

[root@server10 ~]# mkfs.xfs /dev/sdb1 格式化sdb1的磁盘
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=6553535 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=26214139, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@server10 ~]#
[root@server10 ~]# mkdir /data 创建data目录
[root@server10 ~]#

[root@server10 ~]# vim /etc/fstab 编辑开机启动配置文件

/dev/sdb1 sdb1的磁盘挂载到data目录下 /data xfs 文件系统xfs defaults默认参数 0不备份 0不检查磁盘
[root@server10 ~]# systemctl daemon-reload 重新加载系统进程
[root@server10 ~]# mount -a 重新加载挂载项

[root@server10 ~]# df -hT 查看磁盘容量
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs tmpfs 726M 9.1M 717M 2% /run
/dev/mapper/rl-root xfs 96G 3.9G 92G 4% /
/dev/sda2 xfs 436M 297M 140M 69% /boot
tmpfs tmpfs 363M 4.0K 363M 1% /run/user/0
/dev/sdb1 xfs 100G 746M 100G 1% /data 主要看这个
注意事项:
samba服务器必须是固定IP:192.168.7.11

[root@server10 ~]# dnf -y install samba 安装samba

[root@server10 ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak 备份samba配置文件(创建samba的配置文件)
[root@server10 ~]#
[root@server10 ~]# vim /etc/samba/smb.conf 编辑samba的配置文件

[global] 全局设置
workgroup = WORKGROUP 工作组为workgroup
server string = Samba Server %v 服务器的描述信息
netbios name = server10 计算机名称server10
security = user 安全级别用户
map to guest = bad user 映射来宾用户(来宾 坏用户就是匿名用户)
dns proxy = no dns不代理 关闭dns代理
[Anonymous] 匿名设置
path = /data/anonymous 匿名用户的目录的路径(位置)
browsable = yes 可以浏览
writable = yes 可以写入
guest ok = yes 开启来宾用户
read only = no 可以写入

[root@server10 ~]# mkdir /data/anonymous 创建匿名目录
[root@server10 ~]#
[root@server10 ~]# systemctl enable --now smb 启动samba并设置开机启动
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.

[root@server10 ~]# systemctl enable --now firewalld 启动防火墙并设置开机启动(默认新系统是关的,所以要开开)
[root@server10 ~]# firewall-cmd --add-service=samba 在防火墙里添加samba服务
success
[root@server10 ~]# firewall-cmd --runtime-to-permanent 在防火墙里永久添加运行时
success
[root@server10 ~]# firewall-cmd --list-all 查看防火墙里的所有服务
public (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: cockpit dhcpv6-client samba ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
开启win11虚拟机
开启8网卡
注意事项:
1.设置匿名用户访问samba服务器
匿名用户访问就是不需要输入用户名和密码
win11 IP地址为:192.168.7.21
2.设置安全的Samba服务器
访问共享文件夹需要输入用户名和密码


Win+R输入“cmd”回车




匿名用户是指:不用输账号密码的用户,也包括能下载不能上传的用户
创建匿名用户访问samba,匿名用户访问共享文件夹不需要输入用户名和密码
能上传的命令,但不能下载:

[root@server10 ~]# cd /data/anonymous/ 进入匿名目录
[root@server10 anonymous]#
[root@server10 anonymous]# echo "1111111" > a.txt 创建a.txt的测试文件
[root@server10 anonymous]#
[root@server10 anonymous]# ls
a.txt



更新策略





既能下载,也能上传的命令:

[root@server10 anonymous]# cd .. 返回到上一级目录
[root@server10 data]# ll 查看文件及目录的详细信息
total 0
drwxr-xr-x 2 root root 19 Feb 28 11:18 anonymous root 用户root组
[root@server10 data]#
[root@server10 data]# chown -R nobody:nobody anonymous/ 将匿名用户目录修改为nobody,组修改为nobody组
[root@server10 data]#
[root@server10 data]# ll 查看文件及目录的详细信息
total 0
drwxr-xr-x 2 nobody nobody 19 Feb 28 11:18 anonymous

可以上传
