以下所有实验都在redhat7.0上
1.samba介绍
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源。
2.samba功能
windows和linux系统之间共享文件。采用smb协议和CIFS文件系统。
3.samba的优点:
1、既可以共享文件,也可以共享打印机。
2、既可以基于用户访问控制,也可以基于客户机IP的访问控制。
3、支持文件的在线编辑。即不用将文件下载到本地修改之后再上传到服务器。
4.samba的安装
1.安装samba服务器软件
服务端
yum install samba samba-common samba-client -y
测试端
yum install samba-client -y
2.启动服务
systemctl restart smb 重启服务
systemctl enable smb 允许开机启动
systemctl status smb 查状态
3.smb用户的添加删除
添加smb用户时必须是本地存在的用户
smbpasswd -a student 添加用户
New SMB password: 输入smb当前用户密码
Retype new SMB password: 确认密码
pdbedit -L 查看cmb用户信息
pdbedit -x student 删除smb用户
4.共享目录的基本设定
vim /etc/samba/smb.conf 主配置文件
[haha] 共享名称(等于作为磁盘名字)
comment = 对共享目录的描述
path = 共享目录的绝对路径
workgroup = redhat 组的名字
5.sambad 的配置参数
匿名用户访问
guest ok = yes
map to guest = bad user
访问控制
hosts allow = 仅允许 相当于白名单
hosts deny = 仅拒绝 相当于黑名单
可以看见172.25.254.250成功了而172.25.254.100失败了
可以看见172.25.254.100成功了而172.25.254.250失败了
valid users = 当前共享的有效用户
valid users =westos #当前共享的有效用户为westos
valid users =@westos #当前共享的有效用户为westos组
valid users =+westos #当前共享的有效用户为westos组
读写控制
所有用户可写
chnod o+w /共享的目录名
vim /etc/samba/smb.conf
writable = yes
指定用户可写
write list = student #student为可写用户
write list = @student #student为可写用组
write list = +student #student为可写用组
admin users = westos #共享的超级用户指定
6.smb多用户挂载
在client上
vim /root/haha
username=student
password=westos
chmod 600 /root/haha ##使这个文件不让别的任何人看见,因为里面记录的使账号和密码
yum install cifs-utils -y
mount -o credentials=/root/haha,multiuser,sec=ntlmssp //172.25.254.250/haha /mnt/
credentials=/root/haha 指定挂载时所用到的用户文件
multiuser 支持多用户认证
sec=ntlmssp 认证方式为标准smb认证方式
su - kiosk
ls /mnt
ls: cannot access /mnt: Permission denied #因为没有作smb的认证所以无法访问smb共>享
cifscreds add -u westos 172.25.254.250
Password: ##smb用户westos的密码
ls /mnt