一、cifs文件系统
CIFS是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。
- cifs可以实现的功能
1.访问服务器本地文件并读写这些文件
2.与其它用户一起共享一些文件块
3.在断线时
自动恢复与网络的连接
4.使用统一码(Unicode)文件名:文件名可以使用任何字符集,而不局限于为英语或西欧语言设计的字符集。
二、SMB服务
1.SMB服务的安装
实验环境:reset两台虚拟机,配置网络,yum源
服务端ip:172.25.254.168 客户端ip:172.25.254.169
desktop:hostnamectl set-hostname server.example.com
server: hostnamectl set-hostname client.example.com
在服务端:
yum install samba samba-client samba-common -y systemctl start smb systemctl enable smb systemctl stop firewalld systemctl disable firewalld smbpasswd -a student ##用户必须存在,但时设置密码与主机用户密码无关 smbpasswd -a westos
pdbedit -L ##查看已经存在的smb用户 pdbedit -x student ##删除smb用户student
在客户端:
yum install samba-client -y smbclient -L //172.25.254.168 -U student smbclient //172.25.254.168/student -U student ##输入密码登陆系统,ls查看文件
ps:服务端的selinux必须为disbled或者setsebool samba_enable_home_dirs on
2.文件的上传
方法一:局限性很大
先在客户端cd 到要上传文件的所在目录
smbclient //172.25.254.168/student -U student put file ##上传文件
方法二:在客户端挂在服务端的共享文件夹的硬盘,挂在后就可以进行多种操作
mount //172.25.254.168/student /mnt -o username=student,password=123
方法一:
vim /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local
方法二:
vim /etc/fstab ##若服务端未启动则会导致无法开机
3.smb的基本配置
服务端:rpm -qc samba-common ##查看smb的配置文件名 vim /etc/samba/smb.conf ##修改组信息 syetmctl restart smb
客户端:
服务端:
vim /etc/samba/smb.conf ##添加白名单,黑名单和白名单相同,将allow改为deny就可以 syetmctl restart smb
客户端:
4.对于指定目录的共享
-
自己新建的目录
vim /etc/samba/smb.conf
semanage fcontext -a -t samba_share_t '/westos(/.*)?' ##前提为selinux是enforcing,此时才需要修改安全上下文
客户端:
smbclient //172.25.254.117/DIR -U student
- 系统自带目录
vim /etc/samba/smb.conf
systemctl restart smb
sytemctl restart smb setsebool samba_export_all on
客户端:
- 对于[DIR]参数的更改
browseable=yes|no ##是否可以看到,若改为no
smbclient -L //172.25.254.117 ##登陆后看不到DIR
writable=yes|no ##是否可写
write list=student ##需要注释writable那一项才会生效,只有student登陆才可写
write list=@student ##student组的用户可写,@可以换为+
usermod -G student westos ##给westos用户添加一个附加组student
admin users=student ##需要注释write list=@student,把writable=yes的注释去掉,让它生效
5.多用户安全挂载(只对认证过的用户可看)
客户端:
yum install cifs-utils -y ##认证工具 man mount.cifs ##查看工具使用 vim /root/smbpass ##添加登陆用户和密码
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.168/mnt /mnt cd /mnt ls
cifscreds add -u student 172.25.254.117 ##在westos用户下重新认证
6.匿名用户的查看
服务端:
vim /etc/samba/smb.conf systemctl restart smb
客户端:
smbclient //172.25.254.117/DIR
mount //172.25.254.117/DIR /mnt -o username=guest,password="" ##""表示密码为空