欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

exportfs命令 ,NFS客户端问题 , FTP介绍 , 使用vsftpd搭建ftp

程序员文章站 2024-03-24 08:58:04
...

exportfs命令

exportfs命令用来管理当前NFS共享的文件系统列表。

Options:
-a:全部卸载或全部挂载
-r:重新挂载
-u:卸载某个目录
-v:显示共享目录

常用组合: exportfs -arv
服务端更改配置文件后,不重启服务,直接执行该命令就可以使更改后的配置文件生效。

注意: 在重启nfs服务之前需要先将所有挂载点卸载,否则将发生程序错误,严重者会拖垮系统。

以上操作均在服务端进行!!!

NFS客户端问题

针对NFS4版本在centos6中应用存在如下问题:
客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、数组为nobody。

解决方法:

  • 方法1:在客户端进行挂载时加上选项-o nfsvers=3
[aaa@qq.com ~]# monunt -t nfs -o nfsvers=3 192.168.8.130:/tmp/ /mnt/

如果目录已经挂载,而又不想卸载,执行如下命令:

[aaa@qq.com ~]# monunt -t nfs -o remount,nfsvers=3 192.168.8.130:/tmp/ /mnt/
  • 方法2:客户端和服务端都需要
[aaa@qq.com ~]# vim /etc/idmapd.conf

把该配置文件中的“Domain = local.domain.com”改为“Domain = xxx.com”(此处xxx.com自定义),然后重启rpcidmapd服务(在centos7中直接重启rpcbind服务)。


FTP服务介绍

FTP(file transfer protocol)文件传输协议,用于在Internet上控制文件的双向传输。FTP主要作用是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷贝到本地计算机,或把本地文件传送到远程计算机。
该服务在小公司用的比较多,由于FTP服务的安全性较差,所以大公司不使用该服务。

使用vsftpd搭建ftp服务(上)

安装vsftpd工具

centos中默认自带vsftpd安装包。

[aaa@qq.com ~]# yum install -y vsftpd

创建用户:

[aaa@qq.com ~]# useradd -s /sbin/nologin virftp

说明: vsftpd可以使用系统级别的用户进行登录,但是这样做不安全,所以需要使用vsftpd创建一个虚拟用户。在此创建一个系统普通用户的作用是使vsftpd的虚拟用户来进行映射,然后完成数据的传输。

编辑虚拟用户密码文件

[aaa@qq.com ~]# vim /etc/vsftpd/vsftpd_login
testuser1
123456

更改文件权限:
[aaa@qq.com ~]# chmod 600 /etc/vsftpd/vsftpd_login

注: 该文件中内容奇数行为用户名,偶数行为用户密码。

文件转换: 将该密码文件转换成计算机能识别的二进制文件。

[aaa@qq.com ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

创建虚拟用户配置文件

创建文件存放目录:
[aaa@qq.com ~]# mkdir /etc/vsftpd/vsftpd_user_conf

[aaa@qq.com ~]# cd /etc/vsftpd/vsftpd_user_conf

创建指定虚拟用户配置文件:  
[aaa@qq.com vsftpd_user_conf]# vim testuser1
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
#空闲用户保留时间
data_connection_timeout=120
#数据传输超时时间
max_client=10
#客户端最大连接数量

注: 在此保持虚拟用户配置文件和虚拟用户名称一致。

创建虚拟用户家目录

[aaa@qq.com vsftpd_user_conf]# mkdir /home/virftp/testuser1

创建一个文件:
[aaa@qq.com vsftpd_user_conf]# touch /home/virftp/testuser1/adai.txt
[aaa@qq.com vsftpd_user_conf]# chown -R virftp:virftp /home/virftp

虚拟用户密码匹配

[aaa@qq.com vsftpd_user_conf]# vim /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

说明: 在该文件中添加这两行内容,用于指定用户密码文件位置。
注意: 在centos6中“/lib64/security/pam_userdb.so”该文件区分版本(32位、64位)。

编辑vsftpd主配置文件

[aaa@qq.com vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf
……
anonymous_enable=NO
anon_upload_enable=NO
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_user_conf
allow_writeable_chroot=YES

启动服务:

[aaa@qq.com vsftpd_user_conf]# systemctl start vsftpd

[aaa@qq.com vsftpd_user_conf]# ps aux |grep vsftpd
root      3671  0.0  0.0  52708   564 ?        Ss   18:40   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
[aaa@qq.com vsftpd_user_conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::21                   :::*                    LISTEN      3671/vsftpd

说明: FTP服务监听21端口;sshd监听22端口;telnet监听23端口。

使用vsftpd搭建ftp服务(下)

测试

如果在Windows系统进行测试,可以在Windows安装filezilla软件。在Linux中测试,安装lftp工具。

[aaa@qq.com ~]# yum install -y lftp

用法:

[aaa@qq.com ~]# lftp aaa@qq.com
口令: 
#登录
lftp aaa@qq.com0.0.1:~> ls      
drwxr-xr-x    2 1002     1002           22 Aug 24 10:19 testuser1
lftp aaa@qq.com0.0.1:/> ?
#查询在lftp中可执行的命令
#常用命令:put、get
lftp aaa@qq.com0.0.1:/> get testuser1/adai.txt
lftp aaa@qq.com0.0.1:/> quit

[aaa@qq.com ~]# ls
adai.txt  anaconda-ks.cfg

说明: 下载(get)的内容会保存到当前目录下。


xshell使用xftp传输文件

  1. 在xshell按快捷键 ctrl+alt+f ,会自动弹出一个xftp的提示下载界面
  2. 进入到下载界面

exportfs命令 ,NFS客户端问题 , FTP介绍 , 使用vsftpd搭建ftp

  1. 选择下载以后,会进入一个填写资料的页面,上面的是免费的,下面的收费的,我们选择上面一个填写资料

exportfs命令 ,NFS客户端问题 , FTP介绍 , 使用vsftpd搭建ftp

  1. 邮箱项,很重要。因为会在你的邮箱里有下载地址和使用教程,是通过邮箱发送,而且最好使用一些比较权威的邮箱;如果是qq邮箱国外发送邮件会有一些延迟;

exportfs命令 ,NFS客户端问题 , FTP介绍 , 使用vsftpd搭建ftp

  1. 获取到下载地址开始下载,就可以直接下载了

exportfs命令 ,NFS客户端问题 , FTP介绍 , 使用vsftpd搭建ftp

  1. 下载完成后,直接默认安装,就可以使用了,这时再使用xshell登录主机,按下ctrl+alt+f;就会弹出一个xftp的页面

exportfs命令 ,NFS客户端问题 , FTP介绍 , 使用vsftpd搭建ftp

  1. 打开之后会进入到root目录下,使用的是ssh协议

exportfs命令 ,NFS客户端问题 , FTP介绍 , 使用vsftpd搭建ftp

  1. 这时在虚拟机上暂停掉21端口,会发现仍然可以传输文件
systemctl stop vsftpd
  1. 若是需要下载linux系统里的文件,只需双击,或者直接拖动到左边(桌面)就会有下载的文件

总结

  • xftp走的是ssh协议,不属于ftp,这种只要是linux开启了sshd服务就可以用。
  • vsftp获取其他ftp软件实现的是ftp服务,windows上可以搭建,linux上也可以搭建