文件共享服务
文件共享服务
1. 常见共享服务(对比ftp)
- 协议不同
- 浏览器 ftp://
- smb
- 对操作系统的支持程度不同
- ftp可以用于所有操作系统
- Samba是对微软smb协议的仿写
- NFS支持Linux,Windows客户端需要收费
- 交互便利性不同
- ftp不能在客户端本地通过直接复制粘贴上传文件
- Samba、NFS采用挂载访问
- NFS可以映射为网络驱动器
2. Samba服务
2.1 Samba服务的安装
yum install samba -y
2.2 Samba服务的配置
- 主配置文件:/etc/samba/smb.conf
[share] # 共享名称
comment=2023cnm share # 备注
path=/data/share # 共享目录
read only=No # 是否只读
2.3 Samba用户的设置
不能使用Linux自己的用户管理方式,需要模拟Windows用户体系,类似ftp的虚拟用户。
smbpasswd命令
- -a 添加用户,注意:需要在linux上有一个同名用户,才能通过linux设置用户权限
useradd suser1 smbpasswd -a suser1
- -x 删除用户
pdbedit
- -L 查看用户
2.4 Samba服务的启动和停止
systemctl start smb
systemctl stop smb
2.5 访问
- Linux客户端
# 访问samba用户家目录
mount -t cifs -o username=samba用户 //samba服务器ip/samba用户 /mnt
# 访问共享目录
mount -t cifs -o username=samba用户 //samba服务器ip/配置文件中指定的目录 /mnt
Windows客户端
- 资源管理器直接访问
\samba服务器ip共享目录
- 映射网络驱动器
net use Z: \\服务器地址\共享目录名 /user:用户名
- 资源管理器直接访问
3. NFS服务
3.1 NFS服务的安装
yum install nfs-utils rpcbind -y
3.2 NFS服务的配置
- 配置文件:/etc/exports
/data/share *(rw,sync,all_squash)
配置说明:
/data/share
为共享目录,建议将其属组改为nfsnobody
,只为NFS共享目录单独使用
mkdir -p /data/share chown nfsnobody:nfsnobody /data/share
*
为允许谁访问,还可以是ip(如:192.168.74.10)或网段(192.168.74.0/24),*代表所有读写权限:
- rw:可读写
- ro:只读
用户映射:
- root_squash:如果访问的是root用户,权限压缩为匿名用户(映射为nfsnobody用户)
- no_squash:如果访问的是root用户,对共享用户有root权限,为无盘用户准备,应避免使用
- all_squash:无论用户身份,都压缩为匿名用户,建议使用,足够安全
- noallsquash:和all_squash相反
其他选项:
- secure:限制客户端只能从小于1024的端口连接
- insecure:允许客户端从大于1024的端口连接
- sync:数据同步写入内存缓冲区和磁盘,数据一致性有保障,但是效率低
- async:先写内存缓冲区,必要时才写入磁盘,效率高,但是可能丢数据
3.3 NFS服务的启动和停止
systemctl start nfs
systemctl stop nfs
3.4 访问
- 需挂载使用
mount -t nfs nfs服务器ip:/data/共享目录名 /mnt
- 客户端查看nfs服务器是否共享目录
showmount -e nfs服务器ip