Linux--文件共享方案

文件传输共享

秘钥

  • 说明:秘钥就是一个参数,就是在明文和密文之间转换所传递的参数。

  • 分类:

    • 对称秘钥加密:加密和解密使用的秘钥是一样的
    • 非对称秘钥加密:使用不同的秘钥进行加密和解密操作
  • 名词

    • 秘钥:秘密的钥匙
    • 公钥:公开的钥匙
    • 私钥:私有的钥匙
  • 主机信任,在使用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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值