1 samba文件共享
是一个文件共享程序,登录通过用户认证,samba注册登录用户必须在linux系统有相同名的用户,
1.1 安装
apt install samba smbclient
1.2 配置
编辑/etc/samba/smb.conf,添加如下内容
[database]
comment = xxx(do not arbitrarily modify the db file)
path = /home/database # 要通过samba共享的目录
public = no # 关闭所有人可见
writable = yes # 允许写入操作
查看smb.conf发现samba认证通过tdbsam
创建共享文件夹,注意文件夹权限
重启samba systemctl restart smbd
1.3 使用
创建登录samba用户名密码信息
pdbedit -a -u kimsmith
查看samba共享了哪些内容
smbclient -U kimsmith -L 192.168.80.136
1.4 windows挂载共享
在windows验证samba是否正常共享,点进去database时提示认证
1.5 linux挂载共享
1.5.1 手动挂载
linux连samba需要挂载,执行命令即可,执行命令前需创建要共享的文件夹和要挂载的文件夹/database
mount -t cifs -o username=kimsmith,password=kimsmith //192.168.80.137/database /database
192.168.80.137/database为要共享的ip+共享路径,这个路径从smbclient -U kimsmith -L 192.168.80.137查,注意,这个路径不是文件夹实际路径,而是查到的sharename列的名字
验证
1.5.2 自动挂载
创建文件存储用户名和密码用于自动挂载认证
在/etc/fstab添加如下实现samba自动挂载
//192.168.80.137/database database cifs credentials=/etec/samba/smb_auto_mount_pwd 0 0
2 NFS
2.1 安装
apt install nfs-common nfs-kernel-server
2.2 配置
先配置服务端,设置防火墙:
iptables -F
iptables-save
准备要共享的文件夹和文件
编辑配置文件,/etc/exports,添加要共享的路径和共享目标ip范围
重启服务使配置修改生效
再配置客户端:
查看服务端共享信息
挂载
自动挂载:/etc/fstab
192.168.80.137:/nfs_share_files /nfs_mount_point nfs defaults 0 0
3 autofs 自动挂载
nfs和samba都要手动挂载,如果挂载资源太多会很麻烦
fstab是手动配置挂载,autofs是需要时自动挂载,但提前也需要手动配置,只是挂载不需要输命令,而是cd进来时自动挂载
3.1 安装
apt install autofs
3.2 配置
例如要自动挂载nfs
修改autofs主配置文件/etc/auto.master,格式为 挂载目录 子配置文件,autofs默认的自动挂载配置文件为auto.misc,所以auto.master不需要修改什么,只需要把auto.misc所在行取消注释
比如要将服务器的/nfs_share_files挂载到客户端的/nfs_mount_point,则配置文件auto.misc中添加nfs_mount_point 192.168.80.137:/nfs_share_files
重启autofs服务 systemctl restart autofs
3.3 验证
4 总结与复习
linux与windows之间能否使用nfs?不能,nfs只能linux之间
samba共享流程?将待共享目录写入配置文件/etc/samba/smb.conf中,然后创共享路径,然后设置共享用户和密码(pdbedit),设置iptables,然后就ok,samba对windows和linux之间都可以分享
nfs共享流程?创建带分享路径,将分享路径写入配置文件/etc/exports中,配置iptables,重启服务,然后挂载
autofs流程?修改autofs配置文件/etc/auto.master与子配置文件然后重启autofs服务,即可,注意,自动挂载也可使用auto.misc子配置文件