计算机网络的功能:数据通信,资源共享,增加可靠性,提供系统处理能力。本文主要分享在生活和工作经常使用的资源共享方法。在nfs,ftp,samab中,其中下载速度或者说性能最好的是nfs,其次ftp,最后samba。
注:所有服务器开始服务的过程:装包-->配置---->启服务,nfs,ftp,samba也是这样的过程。启动服务前把firewall和selinux关闭。
(File Transfer Protocl)文件传输协议
工作模式:主动工作模式和被动工作模式
是否可跨平台:是 linux,windows
软件包:vsftpd
]# yum -y install vsftpd
协议和端口号:tcp 21/20
默认共享目录:/var/ftp/
配置文件:/etc/vsftpd/vsftpd.conf
启动服务:systemctl start vsftpd //启动服务
systemctl enable vsftpd //开机自启
验证服务:
linux客户端:

基本功能实现。
以下是扩展:(有兴趣可以浏览)
小技巧分享:
]# ps -C vsftpd //查看进程是否起来
]# ss -anptu | grep vsftpd //查看网络链接状态
出现上图就说明服务已经起来了。
]# rpm -qc vsftpd //如果不知配置文件可以找到配置文件的位置,适合rpm和yum安装软件
]# cat /etc/services |grep ftp //如果不知道协议和端口号,可以用这样查找
windows客户端:
在浏览器或者点击我的电脑地址栏输入共享地址:
FTP(文件传输协议)是TCP/IP协议栈所提供的一种子协议,该子协议具体可以实现在以下功能:
从客户向服务器发送一个文件
从服务器向客户发送一个文件
从服务器向客户发送文件或目录列表
此外可以通过修改/var/ftp/下目录或者文件的权限,来控制访问者有什么权限!
Linux 中常用的 FTP 客户端软件有 lftp, ftp, lftpget, wget, curl 等。Windows 中可以使用浏览器,资源管理器或 Filezilla 等软件。
(Network File system)网络文件系统
是否可跨平台:否 linux
软件包:nfs-utils
]# yum -y install nfs-utils
协议和端口号:tcp/udp 2049
默认共享目录:没有默认共享目录,需要指定共享目录
配置文件:/etc/exports
配置文件内容:
]# vim /etc/exports
/content/ 192.168.1.0/24(ro) //对192.168.1.0/24共享/content目录读权限
/share 192.168.2.0/24(rw) //对192.168.2.0/24共享/share目录 有读写权限
启动服务:systemctl restart nfs //开启服务
systemctl enable nfs //开机自启
服务端:(出现如下内容说明成功)
]# exportfs -rv
exporting 192.168.1.0/24:/content
exporting 192.168.2.0/24:/share
客户端:
]# mkdir /share //创建挂载点目录(可以是任意)
]# vim /etc/fstab //开机自动挂载配置文件
192.168.2.254:/share /share nfs _netdev 0 0
目标主机地址:文件夹路径 本机挂载点 nsf defaults,_netdev 0 0
]# mount -a //有报错的可能,查看/etc/fstab内容,然后在执行
]# showmount -e 192.168.2.254
Export list for 192.168.2.254:
/share 192.168.2.0/24
/content 192.168.1.0/24
在服务器的共享目录下放文件,在客户机就可以查看了。
此处理论:(有兴趣可以看)
NFS 全称是 Network FileSystem,NFS 和其他文件系统一样,是在 Linux 内核中实现的,因此 NFS 很难做到与 Windows 兼容。
NFS 的实现使用了 RPC(Remote Procedure Call) 的机制,远程过程调用使得客户端可以调用服务端的函数。由于有 VFS 的存在,客户端可以像使用其他普通文件系统一样使用 NFS 文件系统,由操作系统内核将 NFS 文件系统的调用请求通过 TCP/IP 发送至服务端的 NFS 服务,执行相关的操作,之后服务端再讲操作结果返回客户端。
SMB(Server Messages Blocak) 信息服务块
服务端:
软件包:samba
]# yum -y install samba
协议和端口号:tcp139/445 udp137/138
注:详细的协议和端口参考以下连接
https://blog.csdn.net/wangsifu2009/article/details/6780749
配置文件:/etc/samba/smb.conf
启动服务:systemctl restart smb //开启服务
systemctl enable smb //开机自启
[common] //设置共享名
path = /common //设置共享实际路径
]# mkdir /common //常见共享目录
]# echo "test document" > /common/test.txt //创建共享文件
]# getsebool -a | grep samba //查看selinux对samba的限制
]# setsebool -P samba_export_all_rw=on //开启对samba的读写限制
]# useradd -s /sbin/nologin tom ; pdbedit -a tom //创建samba用户,需要设置秘密
注:(配置文件内容)
[global] //全局配置
[homes] //家目录共享
[printers] //打印机共享
[samba]
path = /smb/ //共享目录路径
public = yes|no //默认no;公用的
browseable = yes|no //默认yes;是否可以浏览
read only = yes|no //默认yes;只读
writable = yes|no //默认yes;可写
write list = user //默认无;可写入的用户列表
valid users = user,user1//默认所有用户;有效的用户列表
hosts allow = 客户地址 //允许的客户机地址
hosts deny = 客户地址 //禁止的客户机地址
comment = 注释 //说明
输入账户和密码:(用户tom)
共享功能实现!
linux客户端:samba-client cifs-utils
]# yum -y install samba-client cifs-utils //安装samba客户端依赖包
]# sambaclient -L 192.168.122.1 //查看服务器共享的目录
注:不用输入密码,直接回车
]# mkdir /mnt/common //创建挂载目录
]# vim /etc/fstab //设置自动挂载
//192.168.122.1/common /mnt/common cifs defaults,user=tom,pass=123456,_netdev 0 0
//目标主机地址/共享名 本机挂载点 cifs username=用户名,password=密码,_netdev 0 0
]# mount -a
功能实现!验证过程和nfs类似。注意nfs和samba的自动挂载的格式有区别,避免挂载失败!
(python也可以实现共享,以后博文将展现)
scp和rsync命令
1.scp
secure copy,linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
scp [可选参数] 源文件 目标文件
常用:-r递归复制整个目录。
-C:允许压缩。
-P port:注意是大写的P, port是指定数据传输用到的端口号
详情参考下面链接:
http://www.runoob.com/linux/linux-comm-scp.html
2.rsync
一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。
rsync [可选参数] 源文件 目标文件
http://man.linuxde.net/rsync
其他参看网络资源:
https://www.cnblogs.com/wxl-dede/p/5042398.html