SAMBA
SAMBA实验:
基于linux和windows之间的资源共享。
核心:
1)smbd守护进程,主要用来数据共享
2)nmbd守护进程,主要用来让客户端能够访问linx服务器
实验步骤:
1)环境搭建:
linux服务器:
IP:10.0.0.3/24 仅主机模式
windows客户发端:
IP:10.0.0.100/24 仅主机模式
2)客户端和服务器能够相互ping通
客户端:ping 10.0.0.100
服务器端:ping 10.0.0.3
3)Linux服务器端
yum install samba samba-client -y (若未安装,则需要yum安装)
或者:rpm -qa|grep samba 可以查看到以下软件包:
samba-4.1.1-31.el7.x86_64
samba-client-4.1.1-31.el7.x86_64
4)SAMBA 配置文件及所在目录
cd /etc/samba
vim smb.conf
说明:
[] 共享命名
; 关键字注释
# 说明注释
①workgroup = MYGROUP #务器所在的工作组
②server string = Samba 服务器名称,% v 服务器版本号
③netbios name = 在网络邻居中的名子,不设则用原来的主机名
④hosts allow= 指定允许访问 samba 服务器的IP。
⑤log file= /var/log/samba/log.%m设置日志文件路径
⑥max log size = 对日志文件长度做限制( KB )
⑦security = 设置安全等级( samba 有四个安全等级,share,user,server,domain)
⑧encrypt passwords = 设置用户密码加密
⑨smb passwd file = 密码文件路径
5)共享说明:
[globle] --全局设置,服务器总设置
[homes] --默认登录用户的家目录,只对当前登录用户共享
[printers] --共享打印机
6)配置文件写入如下内容开启共享
vim /etc/samba/smb.conf
在文件结尾写入
[read] --共享名称
path = /mnt/share --共享的目录
public = yes --公开的共享
writable = no --设定是否可写入,删除等权限。
保存退出
testparm 检查smb.conf配置是否正确
systemctl restart smb
systemctl restart nmb
7)在samba通添加用户:
smbpasswd -a 用户名 --此处的用户名为samba服务器
mkdir -p /mnt/share(Linux)中存在的用户名
chmod -R 777 /mnt/share
8)Windows客户端验证
Workstation / Server / Computer browser 这三个服务,支持创建和维护到远程服务器的客户端网络连接的服务。启动类型是“自动”启动状态。
Win + R -->输入:\\Samba_Server_ip-->输入第7步添加的用户名和对应密码
9)验证写权限
vim /etc/samba/smb.conf 中写入
[write]
path = /mnt/write
public = yes
writable = yes
保存退出
mkdir -p /mnt/write
chmod -R o+w /mnt/write
systemctl restart smb
systemctl restart nmb
10)客户端验证
Win + R -->输入:\\Samba_Server_ip-->输入第7步添加的用户名和对应密码
验证是否可以创建文件
11)验证部分用户可以写
vim /etc/samba/smb.conf 中写入
[s_write]
path = /mnt/write
public = yes
writable = no
valid users = tom +test test01
invalid users = test02
write list = tom
保存退出
mkdir -p /mnt/s_write
chmod -R o+w /mnt/s_write
systemctl restart smb
systemctl restart nmb
12)客户端验证
Win + R -->输入:\\Samba_Server_ip-->输入第7步添加的用户名和对应密码
验证tom是否可以登录并且创建文件
验证test01是否可以登录,但是不可以创建文件
验证test02用户拒绝访问s_write共享
Windows做共享 linux访问
1)创建用户user1和user2 设置密码:123456
2)windows下新建文件夹abc(最好是英文的),设置user1和user2的文件夹权限
3)开启abc文件夹的共享,设置user1和user2的共享权限
4)linux客户端访问
①yum install samba-client -y
②mount -t cifs //192.168.10.5/abc /mnt abcd -o username=user1
注意:abc为共享名
【此IP为windows共享服务器的IP地址,abc为共享文件夹名】
【-o选项中 =号两边不能有空格,需输入user1的密码】
5)通过samba-client软件访问共享
smbclient //192.168.10.5/abc -U user1
回车后输入密码就可以登录到windows共享服务器
smbclient中常用的命令:
get file1 ---下载file1到当前目录
mget file1 file2 --连续下载多个文件,每个文件下载时都需要按y确认
put file1 --上传文件到共享目录里
mput file1 file2 --上传多个文件到共享目录,每个文件上传时都需要按y确认
prompt --使用mget和mput 下载或者上传多个文件时,自动确认(自动按y键确认)