作者:用户2ng6zjfjen | 来源:互联网 | 2023-09-13 18:53
匿名安装配置安装vsftpd[root@100~]#yum-yinstallvsftpd#修改etcvsftpdvsftp.conf文件:(建议复制一个备份文件在同一目录下,以防直
匿名安装配置
安装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 ftp@192.168.100.100:~> 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 ftp@192.168.100.100:/> get abc
[root@96 ~]# ls
abc
# 将/var/ftp/ 目录权限改为777 (不然不能创建和上传)
[root@100 ~]# chmod -R 777 /var/ftp/
# 在远程主机上创建文件
lftp ftp@192.168.100.100:/> mkdir hehe
mkdir 成功, 建立 `hehe'
lftp ftp@192.168.100.100:/>
[root@100 ftp]# ls
abc hehe pub
# 从远程主机上上传文件
lftp ftp@192.168.100.100:/> put hello
lftp ftp@192.168.100.100:/>
[root@localhost ftp]# ls
abc hehe hello pub
# 删除文件会失败因为没有删除的权限
lftp ftp@192.168.100.100:/> 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 ftp@192.168.100.100:/> rm -f hello
lftp ftp@192.168.100.100:/> 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 natasha@192.168.100.100:~>
[root@100 ~]# cd /data/
[root@100 data]# touch qq
[root@100 data]# ls
qq
lftp natasha@192.168.100.100:~> ls
-rw-r--r-- 1 0 0 0 Jul 30 04:34 qq
# 创建目录
lftp natasha@192.168.100.100:~> mkdir ww
mkdir 成功, 建立 `ww'
lftp natasha@192.168.100.100:~> 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 natasha@192.168.100.100:~> rm -rf ww
rm 成功, 删除 `ww'
lftp natasha@192.168.100.100:~> ls
-rw-r--r-- 1 0 0 0 Jul 30 04:34 qq
# 上传和下载文件
lftp natasha@192.168.100.100:~> put haha
lftp natasha@192.168.100.100:~> 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 natasha@192.168.100.100:~> get qq
[root@96 ~]# ls
qq
# 因为put、get都只能对文件进行操作所以可以使用mirror对目录进行镜像
# 从远程主机上下载目录到本地
lftp natasha@192.168.100.100:~> mkdir kk
mkdir 成功, 建立 `kk'
lftp natasha@192.168.100.100:~> 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 natasha@192.168.100.100:~> mirror kk
Total: 1 directory, 0 files, 0 symlinks
[root@96 ~]# ls
kk