文件传输共享
秘钥
说明:秘钥就是一个参数,就是在明文和密文之间转换所传递的参数。
分类:
- 对称秘钥加密:加密和解密使用的秘钥是一样的
- 非对称秘钥加密:使用不同的秘钥进行加密和解密操作
名词
- 秘钥:秘密的钥匙
- 公钥:公开的钥匙
- 私钥:私有的钥匙
主机信任,在使用ssh协议远程连接另一台计算机是需要输入用户名和密码,添加主机信任就是不需要密码就可远程连接,需要配置秘钥对(公钥和私钥)实现,具体步骤如下:
#主机1 ssh-keygen #生成秘钥对,连续回车,默认会在~/.ssh目录下创建id_rsa(私钥)、id_rsa.pub(公钥) #主机2 创建文件:~/.ssh/authorized_keys 将主机1的公钥(id_rsa.pub)内容粘贴到该文件中,尽管很长,但是是一行 连接测试: 在主机1上:ssh root@主机2的IP 首次连接可能需要一次密码,以后就不再需要了
scp命令
格式:scp 原文件 目标文件
实例
scp 1.txt 2.txt #本地到本地 scp 1.txt root@10.36.137.9:/root/ #本地到远程 scp root@10.36.137.9:/root/test.log . #远程到本地
说明:默认连接远程主机是需要密码的,建立主机信任后即可实现无密码的访问
rsync命令
作用:在本地与本地,本地与远程之间进行数据的同步,备份等操作
使用
安装命令:
yum install -y rsync
基本格式:
rsync [选项] 源地址 目标地址
基本实例:
rsync -av root@10.36.137.9:/root/123 . rsync -av 123 root@10.36.137.9:/root/
- 选项说明:
-a 归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD, -a选项后面可以跟一 个 --no-OPTION 这个表示关闭-rlptgoD中的某一个例如 -a--no-l 等同于-rptgoD -r 对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r, 但是传输的是目录必须加-r选项 -v 打印一些信息出来,比如速率,文件数量等 -l 保留软链结 -L 像对待常规文件一样处理软链结,如果是SRC中有软连接文件,则加上该选项后将会把软连接指向 的目标文件拷贝到DST -p 保持文件权限 -o 保持文件属主信息 -g 保持文件属组信息 -D 保持设备文件信息 -t 保持文件时间信息 --delete 删除那些DST中SRC没有的文件 --exclude=PATTERN 指定排除不需要传输的文件,等号后面跟文件名, 可以是万用字符模式(如*.txt) --progress 在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、 同步的文件传输速度等等 -u 加上这个选项后将会把DST中比SRC还新的文件排除掉,不会覆盖 常用的有 -a -v —delete —exclude
典型应用场景
同步指定的yum源,备份线上服务器的数据等
Samba服务器
基本说明:
- Smaba是在linux或unix系统上实现了SMB协议的一个免费软件
- SMB是一种在局域网之间共享文件或打印机的通讯协议
- SMB协议由服务器和客户端构成
安装步骤
安装:
yum install -y samba samba-client
无密码访问配置:
vim /etc/samba/smb.conf 100行左右修改如下: security = share #security = user #passdb backend = tdbsam 249行左右添加如下: [share] #共享名称 browseable = yes #是否可以浏览 writable = yes #是否可写 public = yes #是否公开 path = /share #共享目录
- 有密码访问配置:
添加用户: useradd test #创建用户 pdbedit -a test #添加用于samba管理的用户,必须是系统中已经存在的用户 pdbedit -L #查看samba用户
启动管理
- 添加到开机启动:
chkconfig smb on
- 启动控制:
service smb start|stop|restart
- 添加到开机启动:
windows主机测试
1.使用快捷操作:win + r 2.在搜索栏输入:\\服务器IP 3.根据提示输入samba用户名及密码 4.能够看到用户家目录就OK了 5.添加指定目录共享,方法见无密码访问配置
windows共享文件夹给Linux
在windows下创建一个文件夹(tp5),然后共享之
1.创建文件夹,右键共享 2.共享设置可以添加everyone用户,给予读写权限 3.需要关闭密码保护共享文件,否则需要密码 4.在linux下测试一下:smbclient -L windowsIP
在虚拟机中安装:
yum install -y cifs-utils
将windows共享的文件夹挂载到linux指定的目录
检查共享:smbclient -L 10.36.137.225 [-U Jerry] 挂载目录: mount -t cifs [-o username="Jerry",password=""] //10.36.137.225/tp5 /mnt mount.cifs -o username="Jerry",password="" //10.36.137.225/tp5 /mnt 开机挂载:/etc/fstab //10.36.137.225/tp5 /mnt cifs defaults,username="Jerry",password="" 0 0
FTP服务器
安装依赖:
yum install -y gcc openssl-devel perl
下载软件:
wget -c https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.46.tar.bz2
解压文件:
tar -jxvf pure-ftpd-1.0.46.tar.bz2
进入目录
cd pure-ftpd-1.0.46
配置
./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-tls
编译安装
make && make install
添加用户管理
useradd jiege #创建用户jiege mkdir /jiege #创建共享目录 chown -R jiege:jiege /jiege #将jiege目录权限设置为jiege用户jiege组 cd /usr/local/pureftpd/ #进入安装目录 ./bin/pure-pw useradd ftp_huayong -u jiege -d /jiege #添加用户 ftp_huayong #ftp登录用户名 -u:实际访问时的用户权限 -d:指定共享的目录 需要设置登录密码:123456
创建虚拟的用户数据库
./bin/pure-pw mkdb
修改配置文件:/usr/local/pureftpd/etc/pure-ftpd.conf
PureDB /usr/local/pureftpd/etc/pureftpd.pdb PIDFile /var/run/pure-ftpd.pid
启动FTP服务
./sbin/pure-ftpd ./etc/pure-ftpd.conf 查询端口号:netstat -tunpl
NFS服务器
基本说明
- network file system,网络文件系统,采用的是RPC协议
- RPC是远程过程调用协议
- 也是客户端服务器的结构
安装步骤:
yum install -y nfs-utils
在NFS服务器上修改配置文件:/etc/exports
打开:vim /etc/exports 添加:/jiege 10.36.137.0/24(rw,sync,no_root_squash) 权限介绍: rw :读写; ro :只读; sync :同步模式,内存中数据时时写入磁盘; async :不同步,把内存中数据定期写入磁盘中; no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制, 就像是对本机的目录操作一样。不安全,不建议使用; root_squash:和上面的选项对应,root用户对共享目录的权限不高, 只有普通用户的权限,即限制了root; all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份; anonuid/anongid :要和root_squash 以及all_squash一同使用, 用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。 介绍了上面的相关的权限选项后,再来分析一下刚刚配置的那个/etc/exports文件。其中要共享的目录为/home,信任的主机为192.168.137.0/24这个网段,权限为读写,同步,限定所有使用者,并且限定的uid和gid都为501。
启动服务
service rpcbind start service nfs start 若在启动服务后再次修改共享配置文件:/etc/exports 可以重启服务,也可使用命令使1其立即生效:exportfs -arv
客户端测试
需要安装:nfs_utils 检查共享目录:showmount -e 10.36.137.227 挂载目录:mount -t nfs 10.36.137.227:/jiege /mnt/usb 开机挂载:10.36.137.227:/jiege /mnt/usb nfs defaults,nolock 0 0