14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp相关的知识,希望对你有一定的参考价值。

- 14.4 exportfs命令
- 14.5 NFS客户端问题
- 15.1 FTP介绍
- 15.2/15.3 使用vsftpd搭建ftp
# 14.4 exportfs命令
- exportfs命令 和NFS一起安装的
例:
- 配置了一个共享目录,之后需要新增、更改、机器或者目录;首先需要更改配置,重启NFS服务,但是远程客户端正在使用NFS服务,重启服务端的NFS服务就会对远程的客户端有影响,比如,造成服务异常,进程异常,有很大可能导致系统坏掉
- 到了这种时候,只能去一台一台机器的卸除挂载点,然后才能去重启NFS服务,但,如果是1000台机器,你怎么一台一台机器的去卸载
- 想省略这种操作的办法就是使用exportfs命令

- 常用选项
-  -a 全部挂载或者全部卸载
-  -r 重新挂载
-  -u 卸载某一个目录
-  -v 显示共享目录
-  以下操作在服务端上
- vim /etc/exports //增加
- /tmp/ 192.168.133.0/24(rw,sync,no_root_squash)
- exportfs -arv //不用重启nfs服务,配置文件就会生效

- 去客户端,先关闭selinux 和防火墙,服务端也是
```
[[email protected] ~]# getenforce
Enforcing
[[email protected] ~]# setenforce 0
[[email protected] ~]# getenforce
Permissive
[[email protected] ~]# systemctl stop firewalld


[[email protected] ~]# mount -t nfs 192.168.202.131:/home/nfstestdir /mnt/
[[email protected] ~]# df -h
文件系统                          容量  已用  可用 已用% 挂载点
/dev/sda3                          28G  4.2G   24G   15% /
devtmpfs                          479M     0  479M    0% /dev
tmpfs                             489M     0  489M    0% /dev/shm
tmpfs                             489M  6.7M  482M    2% /run
tmpfs                             489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                         197M  109M   88M   56% /boot
tmpfs                              98M     0   98M    0% /run/user/0
192.168.202.131:/home/nfstestdir   28G  4.4G   24G   16% /mnt
[[email protected] ~]# 
```
- 先把挂载的卸载掉
```
[[email protected] ~]# umount /mnt
[[email protected] ~]# cd 
[[email protected] ~]# umount /mnt
umount: /mnt:未挂载
[[email protected] ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  4.2G   24G   15% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M  6.7M  482M    2% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            98M     0   98M    0% /run/user/0
```
- 每台机器都需要去卸载,太麻烦了,有没有一种好的方法呢
- 可使用exportfs 


- 先查看下服务端
- 执行下exportfs -arv  一旦执行它 就可以让你的配置文件重新生效
```
[[email protected] ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  4.4G   24G   16% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M  6.7M  482M    2% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            98M     0   98M    0% /run/user/0
[[email protected] ~]# exportfs -arv
exporting 192.168.202.0/24:/home/nfstestdir
[[email protected] ~]# 
```


- 可以验证下,先编辑文件 /etc/exports,
```
[[email protected] ~]# vim /etc/exports

/home/nfstestdir 192.168.202.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
/tmp   192.168.202.132(rw,sync,no_root_squash)
~                                                                                            
~                                                                                            
                                                                                       
~                                                                                            
:wq     
```
- 执行exportfs -arv
```
[[email protected] ~]# exportfs -arv
exporting 192.168.202.132:/tmp
exporting 192.168.202.0/24:/home/nfstestdir
[[email protected] ~]# 
```

- 再去客户端showmount 也生效了,并没有重启nfs服务,
```

[[email protected] ~]# showmount -e 192.168.202.131
Export list for 192.168.202.131:
/home/nfstestdir 192.168.202.0/24
/tmp             192.168.202.132
```
- 挂载后,现在这台aing-02机器的mnt目录下 就是 aming-01下的/tmp/ 目录
```
[[email protected] ~]# clear
[[email protected] ~]# mount -t nfs 192.168.202.131:/tmp/ /mnt/
[[email protected] ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
/dev/sda3              28G  4.2G   24G   15% /
devtmpfs              479M     0  479M    0% /dev
tmpfs                 489M     0  489M    0% /dev/shm
tmpfs                 489M  6.7M  482M    2% /run
tmpfs                 489M     0  489M    0% /sys/fs/cgroup
/dev/sda1             197M  109M   88M   56% /boot
tmpfs                  98M     0   98M    0% /run/user/0
192.168.202.131:/tmp   28G  4.4G   24G   16% /mnt
[[email protected] ~]# ls /mnt
aming.sock     php-fcgi.sock
mysql2.sql     systemd-private-f11720e7e2c142a6b2013e112e133993-vmtoolsd.service-hYcsfR
mysql_all.sql  test.com.log
mysqlbak.sql   user.sql
mysql.sock
[[email protected] ~]# 

[[email protected] ~]# ls /tmp/
aming.sock     php-fcgi.sock
mysql2.sql     systemd-private-f11720e7e2c142a6b2013e112e133993-vmtoolsd.service-hYcsfR
mysql_all.sql  test.com.log
mysqlbak.sql   user.sql
mysql.sock
[[email protected] ~]# 

```
- 下面我们再来创建一个新的文件
```
[[email protected] ~]# vim /tmp/1212.txt

dlddldlddldl
dlslsfladkjf
ldkldkfjldkjdfsf
~                                                                                            
~                                                                                                                                                                                  
~                                                                                            
:wq  


[[email protected] ~]# vim /mnt/1212.txt

ldlkaljdlajf
ldjafldjsafl
ldjadkfjldjf
~                                                                                            
~                                                                                           

~                                                                                            
:wq
```
- 看下客户端
```
[[email protected] ~]# vim /mnt/1212.txt
[[email protected] ~]# ls -l /mnt/
总用量 1976
-rw-r--r--. 1 root  root       39 11月  1 22:09 1212.txt
srw-rw-rw-. 1 root  root        0 11月  1 21:16 aming.sock
-rw-r--r--. 1 root  root    30848 10月 30 23:20 mysql2.sql
-rw-r--r--. 1 root  root  1313427 10月 30 23:16 mysql_all.sql
-rw-r--r--. 1 root  root   656917 10月 30 23:02 mysqlbak.sql
srwxrwxrwx. 1 mysql mysql       0 11月  1 21:16 mysql.sock
srw-rw-rw-. 1 root  root        0 11月  1 21:16 php-fcgi.sock
drwx------. 3 root  root       17 11月  1 21:16 systemd-private-f11720e7e2c142a6b2013e112e133993-vmtoolsd.service-hYcsfR
-rw-r--r--. 1 root  root     3097 10月 24 01:48 test.com.log
-rw-r--r--. 1 root  root     7028 10月 30 23:10 user.sql
[[email protected] ~]# 
```
- 再去服务端
```
[[email protected] ~]# ls -l /tmp/
总用量 1976
-rw-r--r--. 1 root  root       39 11月  1 22:09 1212.txt
srw-rw-rw-. 1 root  root        0 11月  1 21:16 aming.sock
-rw-r--r--. 1 root  root    30848 10月 30 23:20 mysql2.sql
-rw-r--r--. 1 root  root  1313427 10月 30 23:16 mysql_all.sql
-rw-r--r--. 1 root  root   656917 10月 30 23:02 mysqlbak.sql
srwxrwxrwx. 1 mysql mysql       0 11月  1 21:16 mysql.sock
srw-rw-rw-. 1 root  root        0 11月  1 21:16 php-fcgi.sock
drwx------. 3 root  root       17 11月  1 21:16 systemd-private-f11720e7e2c142a6b2013e112e133993-vmtoolsd.service-hYcsfR
-rw-r--r--. 1 root  root     3097 10月 24 01:48 test.com.log
-rw-r--r--. 1 root  root     7028 10月 30 23:10 user.sql
[[email protected] ~]# 
```
- no_root_squash 不限制root 所以,当我们到了挂载点下,到了这个共享目录下的时候,你就可以像在你本地磁盘使用 root用户一样,你是不受限制,通常情况下不限制root的时候多







# 14.5 NFS客户端问题
- NFS 4版本会有该问题,尤其是在centos6上会有这个问题
-  客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody

- 解决方案
1.  客户端挂载时加上 -o nfsvers=3  也就是说指定nfs的版本为3版本,不再用4了,具体操作如下
2.  如果不想卸载可以使用 remount
```
[[email protected] ~]# umount /mnt/
[[email protected] ~]# mount -t nfs -o nfsvers=3  192.168.202.131:/tmp/ /mnt/
[[email protected] ~]# 

[[email protected] ~]# mount -t nfs -oremount,nfsvers=3 192.168.202.131:/tmp/ /mnt/
[[email protected] ~]#
[[email protected] ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/sda3               28G  4.2G   24G   15% /
devtmpfs               479M     0  479M    0% /dev
tmpfs                  489M     0  489M    0% /dev/shm
tmpfs                  489M  6.7M  482M    2% /run
tmpfs                  489M     0  489M    0% /sys/fs/cgroup
/dev/sda1              197M  109M   88M   56% /boot
tmpfs                   98M     0   98M    0% /run/user/0
192.168.202.131:/tmp/   28G  4.4G   24G   16% /mnt
[[email protected] ~]# 



```


2.  第二种办法,客户端和服务端都需要
   vim /etc/idmapd.conf //
  把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务,实际上centos7 里面没有这个rpcidmapd服务,重启rpcbind就可以














# 15.1 FTP介绍
-  FTP多用于Windows传文件到linux
- 传输文件工具rz 、sz在文件超过4G,就不能用了
- [ ] FTP介绍
- FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
- FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
- 小公司用的多,大企业不用FTP(多用自动化发布工具),因为不安全










# 15.2 使用vsftpd搭建ftp服务(上)
- 先按照vsftpd
```
[[email protected] ~]# yum install -y vsftpd


已安装:
  vsftpd.x86_64 0:3.0.2-22.el7                                                       

完毕!
[[email protected] ~]# 

```
- 创建用户
这个软件包,是可以使用系统级别的账户去登录。自然而然的,如果这个账户和密码给到用户手上,用户也可以通过这个账户和密码通过SSH登录到机器上的,所以这个方式登录ftp就不安全,最好不要使用
为了安全,给ftp创建虚拟用户,映射成一个系统用户,这个用户即使给了用户和密码你也是没有办法去通过ssh登录到服务器
- 创建普通用户,创建普通用户的目的是为了让虚拟用户做一个映射的,因为毕竟登录这台机器,需要传输数据,必须要有一个用户
```
[[email protected] ~]# useradd -s /sbin/nologin virftp
[[email protected] ~]# 
```
-  -s定义shell  sbin/nologin 表示这个用户不能登录系统,这样做的目的是为了安全
-  下面编辑下虚拟用户的密码文件vim /etc/vsftpd/vsftpd_login,在这个文件里,我们需要给它定义用户名密码,它的格式 内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行
```
[[email protected] ~]# vim /etc/vsftpd/vsftpd_login

testuser1
aminglinux
user1
aaaa1111
~                                                                                    
~                                                                                    
                                                                                    
~                                                                                    
~                                                                                    
:wq      

[[email protected] ~]# vim /etc/vsftpd/vsftpd_login
```
- 保存完之后还需要给它做一个权限的设置,因为这个密码文件肯定要很安全,不能让所有的用户都可以读,所以设置为600
```
[[email protected] ~]# chmod 600 /etc/vsftpd/vsftpd_login
[[email protected] ~]# 
```
- 最后还需要把文本文件转化为计算机能识别的二进制文件,将虚拟用户的密码文件转换为计算机可以识别的文件
- 使用这个命令 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
```
[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[[email protected] ~]# ls -l /etc/vsftpd/
总用量 36
-rw-------. 1 root root   125 8月   3 14:10 ftpusers
-rw-------. 1 root root   361 8月   3 14:10 user_list
-rw-------. 1 root root  5030 8月   3 14:10 vsftpd.conf
-rwxr--r--. 1 root root   338 8月   3 14:10 vsftpd_conf_migrate.sh
-rw-------. 1 root root    36 11月  2 21:04 vsftpd_login
-rw-r--r--. 1 root root 12288 11月  2 21:07 vsftpd_login.db
[[email protected] ~]# 
```
- 下面来 创建虚拟用户配置文件所在的目录,这个目录也是自定义的,也需要在配置文件中给它定义
```
[[email protected] ~]# mkdir /etc/vsftpd/vsftpd_user_conf 
[[email protected] ~]# 

[[email protected] ~]# cd !$
cd /etc/vsftpd/vsftpd_user_conf
[[email protected] vsftpd_user_conf]# 
```
- 创建第一个用户的配置文件

cd /etc/vsftpd/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                 //连接ftp超时时间(秒)
data_connection_timeout=120         //数据传输的超时时间(秒)
max_clients=10                                //最多允许同时几个终端连接

```
[[email protected] 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_clients=10

~                                                                                    
                                                                                   
~                                                                                    
~                                                                                    
:wq  
```
- 定义完了虚拟用户的配置文件之后,再来创建虚拟用户的家目录
```
[[email protected] vsftpd_user_conf]# mkdir /home/virftp/testuser1
[[email protected] vsftpd_user_conf]# 
```
- 然后我们在touch一个文件
```
[[email protected] vsftpd_user_conf]# touch /home/virftp/testuser1/aming.txt
[[email protected] vsftpd_user_conf]# 
```
- 还需要把权限做一个修改,因为你最终要映射成virftp用户,如果这个用户没有读的权限,没有办法上床下载
```
[[email protected] vsftpd_user_conf]# chown -R virftp:virftp /home/virftp
[[email protected] vsftpd_user_conf]# 
```
- 下面这一行很重要,用来定义咱们的密码文件在哪里 vim /etc/pam.d/vsftpd
```
[[email protected] vsftpd_user_conf]# vim /etc/pam.d/vsftpd

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth
~                                                                                                                                                   
~                                                                                                                                                   
~                                                                                                                                                   
~                                                                                                                                                   
~                                                                            
~                                                                                    
~                                                                                    
"/etc/pam.d/vsftpd" 8L, 335C  
```
- 在这里,可以自定义密码文件
```
[[email protected] vsftpd_user_conf]# vim /etc/pam.d/vsftpd

#%PAM-1.0
#%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
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth
~                                                                                                                                                   
                                                                                                                                               
~                                                                                                                                                   
~ 
:wq

[[email protected] vsftpd_user_conf]# vim /etc/pam.d/vsftpd
```
-  /etc/pam.d/vsftpd 这个是用来认证的一个文件,我们去登录ftp,它需要有一个认证的过程,肯定的告诉它,通过什么样的形式去认证,认证的时候 去哪里去需要找你的密码库,输入用户名 密码,需要一个库去比对
```
[[email protected] vsftpd_user_conf]# cat !$
cat /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
session    optional     pam_keyinit.so    force revoke
auth       required	pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required	pam_shells.so
auth       include	password-auth
account    include	password-auth
session    required     pam_loginuid.so
session    include	password-auth
[[email protected] vsftpd_user_conf]# 

[[email protected] vsftpd_user_conf]# ls /lib64/security/pam_userdb.so
/lib64/security/pam_userdb.so
[[email protected] vsftpd_user_conf]# 


```
- 这个地方需要注意这个东西 lib64/security/pam_userdb.so 这个文件有没有
- 之后再来编辑下vsftpd的主配置文件,这个文件是作为vsftpd的最大的最重要的配置文件,有几行需要更改下
```
[[email protected] vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf

# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd‘s
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
# When SELinux is enforcing check for SE bool ftp_home_dir
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd‘s)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
"/etc/vsftpd/vsftpd.conf" 127L, 5030C    
```
1. anonymous_enable=NO          不允许匿名用户登录
2. anon_upload_enable=NO          不允许上传文件
3. anon_mkdir_write_enable=NO   不允许创建目录
- 改完这几行之后 再在最先增加这几行
```
# Make sure, that one of the listen options is commented !!
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
                
```
-  改为
```
# Make sure, that one of the listen options is commented !!
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
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
:wq
[[email protected] vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf
[[email protected] vsftpd_user_conf]# 

```
- 改为配置文件,来启动服务
```
[[email protected] vsftpd_user_conf]# systemctl start vsftpd
[[email protected] vsftpd_user_conf]# ps aux |grep vsftp
root       3892  0.0  0.0  53216   576 ?        Ss   21:46   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       3894  0.0  0.0 112680   980 pts/0    R+   21:46   0:00 grep --color=auto vsftp
[[email protected] vsftpd_user_conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1112/nginx: master  
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      1068/rpc.mountd     
tcp        0      0 0.0.0.0:45780           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1030/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2146/master         
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1112/nginx: master  
tcp        0      0 0.0.0.0:50976           0.0.0.0:*               LISTEN      920/rpc.statd       
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::3306                 :::*                    LISTEN      2185/mysqld         
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::20048                :::*                    LISTEN      1068/rpc.mountd     
tcp6       0      0 :::21                   :::*                    LISTEN      3892/vsftpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1030/sshd           
tcp6       0      0 :::53143                :::*                    LISTEN      920/rpc.statd       
tcp6       0      0 ::1:25                  :::*                    LISTEN      2146/master         
tcp6       0      0 :::46623                :::*                    LISTEN      -                   
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
[[email protected] vsftpd_user_conf]# 
```
- tcp6       0      0 :::21                   :::*                    LISTEN      3892/vsftpd
- ftp 用到的端口是21端口,22是sshd 远程  23 端口是telnet(现在几乎没人用)
- 服务已经启动完了 ,剩下的就是做测试











# 15.3 使用vsftpd搭建ftp服务(下)
- 测试,可以在windows上安装一个filezlla client 
- 但是为了方便测试,安装一个linux上的客户端
yum install -y lftp
```
[[email protected] ~]# yum install -y lftp

已安装:
  lftp.x86_64 0:4.4.8-8.el7_3.2                                                      

完毕!
[[email protected] ~]# 
[[email protected] ~]# lftp [email protected]
口令: 
lftp [email protected]:~> ls      
-rw-r--r--    1 1003     1003            0 Nov 02 13:25 aming.txt
lftp [email protected]:/> 
```
- 它都支持用那些命令呢,可以按一个? 回车
```
lftp [email protected]:/> ?
    !<shell-command>                     (commands)                           alias [<name> [<value>]]             attach [PID]
    bookmark [SUBCMD]                    cache [SUBCMD]                       cat [-b] <files>                     cd <rdir>
    chmod [OPTS] mode file...            close [-a]                           [re]cls [opts] [path/][pattern]      debug [<level>|off] [-o <file>]
    du [options] <dirs>                  exit [<code>|bg]                     get [OPTS] <rfile> [-o <lfile>]      glob [OPTS] <cmd> <args>
    help [<cmd>]                         history -w file|-r file|-c|-l [cnt]  jobs [-v] [<job_no...>]              kill all|<job_no>
    lcd <ldir>                           lftp [OPTS] <site>                   ln [-s] <file1> <file2>              ls [<args>]
    mget [OPTS] <files>                  mirror [OPTS] [remote [local]]       mkdir [-p] <dirs>                    module name [args]
    more <files>                         mput [OPTS] <files>                  mrm <files>                          mv <file1> <file2>
    [re]nlist [<args>]                   open [OPTS] <site>                   pget [OPTS] <rfile> [-o <lfile>]     put [OPTS] <lfile> [-o <rfile>]
    pwd [-p]                             queue [OPTS] [<cmd>]                 quote <cmd>                          repeat [OPTS] [delay] [command]
    rm [-r] [-f] <files>                 rmdir [-f] <dirs>                    scache [<session_no>]                set [OPT] [<var> [<val>]]
    site <site-cmd>                      source <file>                        torrent [-O <dir>] <file|URL>...     user <user|URL> [<pass>]
    wait [<jobno>]                       zcat <files>                         zmore <files>
lftp [email protected]:/> 
```
- 常用的有哪些命令 get put
- 把aming.txt get到当前目录下来,quit 退出
```
lftp [email protected]:/> get aming.txt
lftp [email protected]:/> quit
[[email protected] ~]# ls
aming.txt  anaconda-ks.cfg
[[email protected] ~]# ls -lt |head
总用量 4
-rw-r--r--. 1 root root    0 11月  2 21:25 aming.txt
-rw-------. 1 root root 1261 10月  5 22:26 anaconda-ks.cfg
[[email protected] ~]# 
```
- 也可以自己去windows 下载一个 filezilla ,记得下载客户端,不要下载server


以上是关于14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp的主要内容,如果未能解决你的问题,请参考以下文章

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

14.4 exportfs命令;14.5 NFS客户端问题;15.1 FTP介绍;15.2—15.3

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

14.4 exportfs命令;14.5 NFS客户端问题;15.1 FTP介绍;15.2/15.3 使用vsftpd搭建ftp

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

14.5