匿名安装配置

安装vsftpd
[root@100 ~]# yum -y install vsftpd

# 修改 /etc/vsftpd/vsftp.conf 文件:(建议复制一个备份文件在同一目录下,以防直接修改错误,而无法恢复。)
# 例如匿名用户有创建目录和上传文件的权限
[root@100 ~]# echo 'anon_mkdir_write_enable=YES' >>/etc/vsftpd/vsftpd.conf
[root@100 ~]# echo 'anon_upload_enable=YES' >>/etc/vsftpd/vsftpd.conf

保存退出,重启FTP服务器:
[root@100~]# systemctl restart vsftpd

# 关闭防火墙和selinux
[root@100 ~]# getenforce
Disabled
[root@100 ~]# systemctl stop firewalld
[root@100 ~]# systemctl disable firewalld

在 /var/ftp 目录下创建文件abc
[root@100 ~]# cd /var/ftp/
[root@100 ftp]# touch abc
[root@100 ftp]# ls
abc  pub

# 客户端验证:
[root@96 ~]# lftp -u ftp 192.168.100.100        (用户名为ftp密码为空)
口令: 
lftp [email protected]:~> ls            
-rw-r--r--    1 0        0               0 Jul 30 03:39 abc
drwxr-xr-x    2 0        0               6 Mar 23  2017 pub

# 从远程主机下载文件
lftp [email protected]:/> get abc
[root@96 ~]# ls
abc

# 将/var/ftp/ 目录权限改为777  (不然不能创建和上传)
[root@100 ~]# chmod -R 777 /var/ftp/

# 在远程主机上创建文件
lftp [email protected]:/> mkdir hehe
mkdir 成功, 建立 `hehe'
lftp [email protected]:/> 

[root@100 ftp]# ls
abc  hehe  pub

# 从远程主机上上传文件
lftp [email protected]:/> put hello 
lftp [email protected]:/> 

[root@localhost ftp]# ls
abc  hehe  hello  pub

# 删除文件会失败因为没有删除的权限
lftp [email protected]:/> ls
-rwxrwxrwx    1 0        0               0 Jul 30 03:39 abc
drwxrwxrwx    2 14       50              6 Jul 30 03:57 hehe
-rw-------    1 14       50              0 Jul 30 04:02 hello
drwxrwxrwx    2 0        0               6 Mar 23  2017 pub
lftp [email protected]:/> rm -f hello
lftp [email protected]:/> ls
-rwxrwxrwx    1 0        0               0 Jul 30 03:39 abc
drwxrwxrwx    2 14       50              6 Jul 30 03:57 hehe
-rw-------    1 14       50              0 Jul 30 04:02 hello
drwxrwxrwx    2 0        0               6 Mar 23  2017 pub

系统用户安装配置

# 安装vsftpd
[root@100 ~]# yum -y install vsftpd

# 修改 /etc/vsftpd/vsftp.conf 文件:(建议复制一个备份文件在同一目录下,以防直接修改错误,而无法恢复。)
[root@100 ~]# echo 'chroot_local_user=YES' >>/etc/vsftpd/vsftpd.conf
[root@100 ~]# echo 'chroot_list_enable=YES' >>/etc/vsftpd/vsftpd.conf
[root@100 ~]# echo 'chroot_list_file=/etc/vsftpd/chroot_list' >>/etc/vsftpd/vsftpd.conf

# 保存退出,重启FTP服务器:
[root@100 ~]# systemctl restart vsftpd

# 设置用户名和密码
[root@100 ~]# useradd natasha -d /data
[root@100 ~]# echo "12" |passwd --stdin natasha

# 在 /etc/vsftpd 目录下建立chroot_liste文件,将用户名添加进去
[root@100 ~]# touch /etc/vsftpd/chroot_list
[root@100 ~]# echo 'natasha' >/etc/vsftpd/chroot_list

# 关闭防火墙和selinux
[root@100 ~]# getenforce
Disabled
[root@100 ~]# systemctl stop firewalld
[root@100 ~]# systemctl disable firewalld

# 客户端验证:
# 系统用户登录
[root@96 ~]# lftp -u natasha,12 192.168.100.100
lftp [email protected]:~> 

[root@100 ~]# cd /data/
[root@100 data]# touch qq
[root@100 data]# ls
qq

lftp [email protected]:~> ls
-rw-r--r--    1 0        0               0 Jul 30 04:34 qq

# 创建目录
lftp [email protected]:~> mkdir ww
mkdir 成功, 建立 `ww'            
lftp [email protected]:~> ls
-rw-r--r--    1 0        0               0 Jul 30 04:34 qq
drwxr-xr-x    2 1001     1001            6 Jul 30 04:38 ww

# 删除目录
lftp [email protected]:~> rm -rf ww
rm 成功, 删除 `ww'                     
lftp [email protected]:~> ls
-rw-r--r--    1 0        0               0 Jul 30 04:34 qq

# 上传和下载文件
lftp [email protected]:~> put haha
lftp [email protected]:~> ls
-rw-r--r--    1 1001     1001            0 Jul 30 04:40 haha
-rw-r--r--    1 0        0               0 Jul 30 04:34 qq

lftp [email protected]:~> get qq
[root@96 ~]# ls
qq

# 因为put、get都只能对文件进行操作所以可以使用mirror对目录进行镜像
# 从远程主机上下载目录到本地
lftp [email protected]:~> mkdir kk
mkdir 成功, 建立 `kk'
lftp [email protected]:~> ls
-rw-r--r--    1 1001     1001            0 Jul 30 04:40 haha
drwxr-xr-x    2 1001     1001            6 Jul 30 04:41 kk
-rw-r--r--    1 0        0               0 Jul 30 04:34 qq

lftp [email protected]:~> mirror kk
Total: 1 directory, 0 files, 0 symlinks
[root@96 ~]# ls
kk