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 #指定密码认证的方式是文件的形式,并指定文件路径


account sufficient /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可查看到


2、测试ftp


  • 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客户端软件,进行测试