文件系统的存储分离
CIFS简介:
CIFS(Common Internet File
System)文件系统也称通用Internet文件系统,它使程序可以访问远程Internet计算机上的文件并要求此计算机的服务。CIFS使用客户/服务器模式。客户程序请求远在服务器上的服务程序为它提供服务,服务器获得请求并返回响应。CIFS是公开的开放的SMB协议版本。SMB协议现在是在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行。可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。
CIFS功能:
.访问服务器本地文件并读写这些文件
2.与其它用户一起共享一些文件块
3.在断线时自动恢复与网络的连接
4.使用统一码文件名
Samba简介:
Samba是在Linux和Unix系统上实现SMB协议的一个免费软件,提供CIFS(Common Internet File
System)协议,由服务器及客户端程序构成,SMB(Server Messages
Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
samba服务器的安装及访问调试
环境搭建
yum install samba samba-client samba-common -y
##若安装有问题用search查看安装版本
systemctl stop firewall
建立目录
设置安全上下文
在目录中建立文件
添加一个本机用户设置密码
注意:
smb用户和本机用户并不冲突
但是smb用户必须是本机用户
smbpasswd -a 本地用户
pdedit -L ##查看
编辑配置文件
vim /etc/samba/smb.conf
[hello] ##共享名称
comment ##共享说明
path ##共享目录路径
登陆smb用户查看
可以看到里面的文件
smbclient -L //172.25.254.136 -U student ##查看用户
smbclient //172.25.254.136/hello -U student
用户的添加与删除
useradd 用户名
useradd -M 用户名 ##不包含家目录的创建
smbpasswd -a 用户名 ##添加密码
pdbedit -x 用户名 ##用户的删除
共享系统建立目录时要修改selinux的属性,此方式修改只针对修改目录
semange fcontext -a -t samba_share_t '/redhat(/.*)?'
restorecon -FvvR /redhat
共享自己创建的目录
共享系统建立目录时要修改linux的属性,此方式修改只针对修改目录,一旦开放,selinux不保护目录访问
vim /etc/samba/smb.conf
添加
setsebool -P samba_export_all_rw on ##可以读写
setsebool -P samba_export_all_ro on ##只读
测试
smbclient //172.25.254.136/共享名称 -U student
功能未开放之前看不到/mnt下的文件
功能打开可以看到
timeout
本地解析作成hostname
永久挂载
vim /etc/rc.d/rc.local
mount //172.25.254.210/student /mnt -o username=student,password=redhat
chmod +x /etc/rc.d/rc.local
reboot
smb用户的访问控制
挂载命令
mount //ip/共享名称 /挂载目录/ -o username=用户名,password=密码
正常情况下本机可以挂载
挂载黑名单
编辑配置文件并重起
hosts deny = ip
有多个限制用户时,用逗号连接
白名单
hosts allow = ip ##之允许该ip,其余默认为黑名单
测试
smbclient //ip/共享名称 -U student
看是否可以进入查看
匿名用户的访问
在windows中,匿名用户被称为guest
修改配置文件,添加125行
添加329行允许匿名
测试:
用匿名用户进行挂载
username=guest,password=“”
(也可以不写password)
对共享目录的操作
给目录权限,挂载并建立文件,权限拒绝
编辑配置文件
vim /etc/samba/smb.conf
systemctl restart smb
复制318行到想操作的目录下
重新挂载生效
可以建立文件
writeable list = + | @student ##指定student组用户可写
writeable list = student ##指定student用户可写
valid users = student ##指定student用户可登陆
valid users = + | @student ##指定student用户组可登陆
browseable = no(设定该目录不允许被浏览,该目录会被隐藏)
browseable = yes(设定该目录允许被浏览,不隐藏)
admin users = student ##指定管理用户
smb多用户挂载
在服务主机添加新用户
useradd tom
在客户主机
yum install cifs-utils
vim /root/passfile
username=smb用户
password=smb用户密码
mount -o credentials=/root/passfile,multiuser,sec=ntlmssp //172.25.254.136/hello /mnt/
使用mount命令查看刚才的挂载信息
cifscreds add -u student 172.25.254.136 ##以名单student用户身份认证
设定共享管理员
uname -r 查看版本
必须将匿名用户阿访问关闭,否则将以匿名访问