文件传输共享
秘钥
- 说明:秘钥就是一个参数,就是在明文和密文之间转换所传递的参数。
- 分类:
- 对称秘钥加密:加密和解密使用的秘钥是一样的
- 非对称秘钥加密:使用不同的秘钥进行加密和解密操作
- 主机信任,在使用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 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
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
./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-tls
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
- 修改配置文件:/usr/local/pureftpd/etc/pure-ftpd.conf
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
PIDFile /var/run/pure-ftpd.pid
./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