第二十五课 笔记14.1~15.5

14.1 NFS介绍

·        NFS是Network File System的缩写

·        NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本

·        NFS数据传输基于RPC协议,RPC即Remote Procedure Call的简写,服务端与客户端本身不能直接通信,需要借助RPC协议完成

·        NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致

·        NFS服务端上的NFS服务通过RPC协议(rpcbind服务)给客户端提供服务,NFS服务不监听任何的端口,rpcbind会监听111端口。 NFS服务借助PRC协议通信。

14.2 NFS服务端安装配置

·        yum install -y nfs-utils rpcbid                                #服务端机器A上安装NFS的相关包,同时客户端机器B上安装相应的NFS包:yum install -y nfs-utils,实际上也会安装rpcbind包

·        vim /etc/exports  #服务端机器上编辑 /etc/exports文件,加入如下内容:

·        /home/nfstestdir192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)                               #包括要分享出去的目录、分享给哪些机器的IP段及特殊选项

·        mkdir /home/nfstestdir  #服务端机器上创建要分享的目录

·        chmod 777 /home/nfstestdir #更改目录权限为777,便于实验

·        systemctl start rpcbind  #启动rpcbind服务,其监听端口是111,命令netstat -lntp查看到,一般安装完rpcbind服务后会自动启动

·        systemctl start nfs  #服务端机器上启动nfs服务,启动nfs服务后,会自动启动rpc相关的一些服务(与nfs服务相关联),命令:ps aux |grep rpc可查看到

·        systemctl enable rpcbind

·        systemctl enable nfs #服务端上使nfs服务开机即启动

14.3 NFS配置选项

1、NFS配置选项

·        rw 读写

·        ro 只读

·        sync 同步模式,内存数据实时写入磁盘

·        async 非同步模式

·        no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大,root用户读写共享目录不受限制

·        root_squash 与上面选项相对,客户端上的root用户受到约束,被限定成某个普通用户

·        all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户

·        anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

2、客户端挂载

·        yum install -y nfs-utils #客户端上先要安装nfs相应的包

·        showmount -e 192.168.133.130 #查看,服务器端是否可nfs挂载,该ip为NFS服务端ip,注意关闭服务端和客户端的防火墙:systemctl stop firewalld,并双向关闭selinux:setenforce 0

·        mount -t nfs192.168.133.130:/home/nfstestdir /mnt #挂载服务端的共享目录,挂载类型为nfs,指定nfs服务器ip及共享的目录

·        df -h

·        touch /mnt/test.txt

·        ls -l /mnt/test.txt #可以看到文件的属主和属组都为1000,因上一节配置选项里指定anonuid=1000,anongid=1000

14.4 exprtfs命令

1、exportfs命令常用选项

若要在服务器机器上停掉或重启nfs服务,此时其他机器均挂载着其共享目录且可能在进行读写,那么停掉或重启nfs服务会导致其他机器读写进程挂起,故重启nfs服务之前需要将其他机器上挂载的该共享目录卸载

·        -a        #全部挂载或者全部卸载

·        -r         #重新挂载

·        -u        #卸载某一个目录

·        -v        #显示共享目录

2、nfs服务端操作

·        vim /etc/exports                #编辑exports文件,增加如下内容,共享/tmp目录

/tmp/ 192.168.133.0/24(rw,sync,no_root_squash)

·        exportfs -arv                     #不用重启nfs服务,配置文件就会生效

3、nfs客户端操作

·        mkdir /testdir

·        mount -t nfs -onolock 192.168.133.130:/tmp/testdir

·        touch /testdir/test.txt

·        ls -l !$

·        -oremount,nfsvers=3 #重新挂载,并指定nfs为3版本

14.5 NFS客户端问题


NFS 4 版本会有问题:客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody

·        解决方案一:客户端挂载时加上选项“-o nfsvers=3” 指定nfs为3版本,不想卸载可加选项“-oremount,nfsvers=3” 重新挂载

·        解决方案二:客户端和服务端都需要编辑文件/etc/idmapd.conf,把“#Domain =local.domain.edu” 改为 “Domain = xxx.com” (xxx.com随意定义),然后再重启rpcidmapd服务(systemctl restart rpc)

15.1 FTP介绍

·        FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。

·        FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

·        小公司用的多,大企业不用FTP,因为不安全

15.2 15.3 使用vsftpd搭建FTP服务(上)(下)


1、搭建FTP服务

·        yum install -y vsftpd #CentOS上默认自带vsftpd安装包 

·        useradd -s /sbin/nologin virftp                #创建一个虚拟用户,映射成系统中一个普通用户

·        vim /etc/vsftpd/vsftpd_login                    #编辑虚拟用户的密码文件,定义用户名和密码,该文件为自定义的,内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行

testuser1

passwd-1

testuser2

passwd-2

·        chmod 600 /etc/vsftpd/vsftpd_login

·        db_load -T -t hash -f/etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db #将文本的密码文件转换为计算机可识别的二进制文件

·        mkdir /etc/vsftpd/vsftpd_user_conf                                        #创建虚拟用户的配置文件所在的目录,自定义的

·        cd /etc/vsftpd/vsftpd_user_conf

·        vim testuser1                                                                       #创建第1个用户的配置文件,配置文件名须与用户名保持一致,并对应,加入如下内容

local_root=/home/virftp/testuser1#定义虚拟用户的家目录

anonymous_enable=NO#不允许匿名用户

write_enable=YES

local_umask=022#定义新创建的目录或文件的权限

anon_upload_enable=NO#不允许匿名用户上传

anon_mkdir_write_enable=NO #不允许匿名用户创建目录

idle_session_timeout=600 #空闲会话超时时间600s

data_connection_timeout=120 #数据传输超时时间120s

max_clients=10 #最大客户端数为10

·        mkdir /home/virftp/testuser1                         #创建虚拟用户的家目录    

·        touch /home/virftp/testuser1/test.txt #创建测试文件

·        chown -R virftp:virftp /home/virftp                 #更改虚拟用户家目录的所属主和所属组为virftp

·        vim /etc/pam.d/vsftpd                                   #编辑用于认证文件vsftpd文件,在最前面加上如下内容,定义密码文件路径

auth sufficient/lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login #指定密码认证的方式是文件的形式,并指定文件路径

accountsufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login #指定账户存储形式是文件的形式,并指定文件路径

·        vim /etc/vsftpd/vsftpd.conf                          #编辑vsftpd的主配置文件,作如下修改

将“anonymous_enable=YES”改为“anonymous_enable=NO”

将“#anon_upload_enable=YES”改为“anon_upload_enable=NO”

将“#anon_mkdir_write_enable=YES”改为“anon_mkdir_write_enable=NO”

·        再在最下面增加如下内容:

chroot_local_user=YES

guest_enable=YES

guest_username=virftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf#指定虚拟用户配置文件所在路径

allow_writeable_chroot=YES

·        systemctl start vsftpd  #启动vsftpd服务,其监听端口为21,命令netstat -lntp可查看到

 

测试ftp(windows  可以使用filezilla client)

·        yum install -y lftp                                #linux机器上安装ftp客户端,也可按“Ctrl+Alt+F”组合键下载Xftp

·        lftp testuser1@127.0.0.1                    #使用已定义的用户登录测试

·        执行命令ls,看是否正常输出,正常时可看到上面配置步骤里创建的,若不正常需要查看日志/var/log/messages和/var/log/secure

·        输入“?”可查看支持的命令,例如执行命令:get test.txt,可将文件下载到当前目录下,命令quit退出

·        windows下安装filezilla客户端软件,进行测试

15.4 Xshell使用xftp传输文件

·        在linux窗口界面下可按“Ctrl+Alt+F”组合键下载Xftp,安装后,点进已打开的会话界面,依然按“Ctrl+Alt+F”组合键可登录,并进行文件上传和下载

15.5 使用pure-ftpd搭建ftp服务(pure-ftpd更加简单)


1、用pure-ftpd搭建ftp服务

·        yum install -y epel-release                        #安装pure-ftpd包前先安装epel扩展源

·        yum install -y pure-ftpd

·        vim /etc/pure-ftpd/pure-ftpd.conf               #编辑pure-ftpd配置文件,找到pureftpd.pdb这行,把行首的“#”删除,该行指定密码文件

·        systemctl stop vsftpd                               #pure-ftpd也属于一个ftp软件,同样会监听21号端口,故启动pure-ftpd之前须将vsftpd服务停掉,否则端口冲突,会报错

·        systemctl start pure-ftpd

·        mkdir /data/ftp                                         #创建测试目录,分配给pure-ftp用户

·        useradd -u 1010 pure-ftp                         #创建系统用户

·        chown -R pure-ftp:pure-ftp /data/ftp        #将目录的属主和属组改为pure-ftp

·        pure-pw useradd ftp_user1 -upure-ftp  -d /data/ftp #创建用于ftp客户端登录的用户ftp_user1,“-u”选项指定系统用户pure-ftp,“-d”选项用于指定目录,该命令运行后会提示输入用户密码

·        pure-pw mkdb                                        #把密码生成系统可识别的文件

·        pure-pw list/userdel/usermod/passwd    #pure-pw常见用法:列出所有用户、删除用户、修改用户、修改用户密码

 

2、测试ftp

·        touch /data/ftp/test123.txt                                            #创建测试文件

·        chown pure-ftp:pure-ftp/data/ftp/test123.txt                #更改测试文件的属主和属组

·        lftp ftp_user1@127.0.0.1                                             #使用已定义的用户登录测试


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值