作者:蓝眼泪
第一 背景介绍
smb全称server message block 信息服务块
目的:资源共享和权限验证
samba软件名称
smb服务名称
端口号 139 445
1 匿名验证登录
share
2 本地用户验证登录
tdbsam passdb.tdb
linux用户 samba密码
pdbedit -a username
pdbedit -x username
pdbedit -L
3 别名用户登录(虚拟用户验证登录)
第二 实验:本地用户创建和密码设置
1 安装samba软件并开启smb服务
smb、cifs
2 创建用户
linux用户,samba密码
yum install -y samba
systemctl start smb
systemctl enable smb
useradd -s /sbin/nologin wangwu
pdbedit -a wangwu
3 设置密码
密码 123456
4 windows客户端验证smb服务并访问共享文件夹
windows 开始--运行
cmd
net use * /del
在windows电脑资源管理器中,地址栏中输入 \\192.168.1.130\wangwu
用户名 wangwu
密码 123456
切换回linux虚拟机中
cd /home/wangwu
ls
第三 共享盘映射成网络驱动器(挂载)
1 我的电脑 右键 映射网络驱动器
2 在对话框中的文件夹中,输入 \\192.168.1.130\wangwu,就可以看到挂载的网盘。
第四 附加信息
vim /etc/samba/smb.conf
%m 宏 主机名
:valid users=%s
@组名
printer
path=/var/spool/samba
testparm
-v
自定义共享区域
共享名 共享路径或者目录
全局配置文件 局部配置文件
global homes printers
1 访问控制
写入,读取,执行权限
1.1 配置文件开启,文件系统控制
writable=yes
sertfacl | chmod 777
1.2 文件系统开启,配置文件控制
chmod 777 /dir
read only=yes
write list=用户,@组
systemctl enable smb
systemctl start smb
2 客户端登录方式
2.1 linux端
smbclient -U 用户名 -L //server ip
smbclient -U 用户名 //服务器ip/共享名
2.2 window端
\\server ip\\share
net use * /del
netstat -antp
which smbclient
rpm -qf /usr/bin/smbclient
useradd lisi
pdbedit -a lisi
123456
smbclient -U zhangsan -L //192.168.1.130
smbclient -U lisi -L //192.168.1.130
smbclient -U wangwu -L //192.168.1.130
3 linux端验证访问共享文件
smbclient -U lisi //192.168.1.130/lisi
ls
put xxx.xx
返回linux服务器
cd /home/lisi
4 windows端验证访问共享文件
断开连接 清理连接
net use * /del
5 访问控制-通过配置控制
vim /etc/samba/smb.conf
valid users=zhangsan
systemctl restart smb
vim /etc/samba/smb.conf
read only=yes
write list=zhangsan
vim /etc/samba/smb.conf
create mask 666 #上传文件的权限
directory mask 777 #上传目录的权限
smbclient -U lisi //192.168.1.130/atguigu
smbclient -U zhangsan //192.168.1.130/atguigu
6 虚拟用户
添加别名
vim /etc/samba/smbusers
zhangsan=zs
启用别名
vim /etc/samba/smb.conf
username map=/etc/samba/smbusers
测试
smbclient -U zs //192.168.1.130/atguigu
7 映射网络驱动器(挂载)
临时挂载
mount -t cifs -o username=xxx.password=xxx
永久挂载
/etc/fstab
//192.168.1.130/atguigu /atguigu cifs defaults, username=xxx,password=xxx, 0 0
mkdir /atguigu
mount a
df -h