一、安装FTP
在命令行输入sudo apt install vsftpd
完成效果如下:
进入/etc目录
gedit vsftpd.conf
修改配置
具体配置如下:
匿名访问:
配置:/etc/vsftp/vsftpd.conf
anonymous_enable=YES
anon_root= /data/pub
local_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
#listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
配置完成后,创建文件夹和文件,重启服务器
mkdir -p /data/pub
touch /data/pub/a.txt
chmod -R 777 /data
chmod a-w /data/pub
service vsftpd restart
使用命令行登录服务器
ftp 127.0.0.1
然后输入用户名
Anonymous
系统用户访问
1、修改配置文件
gedit /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
userlist_enable=YES
userlist_deny=NO
2、写入允许访问的用户名
gedit /etc/vsftpd.user_list
添加自己的用户,比如我的电脑用户是ubuntu,则在文件内写上ubuntu
配置完成后重启
service vsftpd restart
同样可以使用三种方式登录
虚拟用户访问
anonymous_enable=NO
write_enable=YES
chroot_local_user=YES
chroot_list_enable=NO
use_localtime=YES
local_enable=YES
allow_writeable_chroot=YES
xferlog_enable=YES
local_umask=022
pam_service_name=vsftpd
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=120
data_connection_timeout=120
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vuser_conf
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1
1、安装工具
安装如下工具,用于生成密码账户校验
sudo apt install db-util
2、创建账户
useradd ftpuser -s /sbin/nologin
passwd ftpuser
创建账户用于测试使用
创建配置文件夹,保存每个账户的配置
mkdir -p /etc/vsftpd/virtualconf
用于存放用户密码
vi /etc/vsftpd/virtusers
3、使用db命令生成数据库文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
修改pam配置文件
gedit /etc/pam.d/vsftpd
替换以下配置
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
配置每个用户信息
mkdir -p /home/ftpuser/ftp1
chown ftpuser.ftpuser /home/ftpuser
cd /etc/vsftpd/virtualconf/
gedit ftp1
文件内写入以下配置
local_root=/home/ftpuser/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
登录之前先重启以下ftp服务器
service vsftpd restart