书接上回,咱们把用户建立好,权限分配完以后,接下来要做的就是建立ftp服务。用来上传代码之类的。
一:更新系统安装包列表打开控制台,使用以下代码更新安装包列表
##本篇结尾 经过上述配置操作,现在就可以通过软件往服务器中传文件了。下回我们一块儿配置mysql,以及给Django”安家“,让apache可以找到它。
sudo apt-get update
此时系统会提示你输入密码,输入完以后坐等安装包列表更新完毕。更新完毕后,通过以下指令下载vsftp
sudo apt-get install vsftpd
指令下载vsftp如果遇到以下这样的错误提示
Could not get lock /var/lib/dpkg/lock
大致操作为:
ps -A | grep apt #找到并且杀掉所有的apt-get 和apt进程sudo kill -9 进程ID #杀掉第一个apt进程sudo rm /var/lib/dpkg/lock #移除锁定文件
> 然后就可以继续使用apt-get命令了
二:开启并启动服务
安装完成后,初试情况下服务默认为禁用,需要手动开启。在控制台中键入
systemctl start vsftpdsystemctl enable vsftpd
输入密码验证身份后,服务启动;
同时,需要启动vsftpd使其在下次开启时自动启动服务:
service vsftpd start
接下来,如果你服务器上启用了 UFW 防火墙,则需要打开端口 20 和 21,
sudo ufw allow 20/tcpsudo ufw allow 21/tcpsudo ufw status
三:配置config文件
修改任何配置文件之前,请先备份!(别问我为什么要强调这点)
使用cp命令进行复制文件
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
打开config文件
sudo vi /etc/vsftpd.conf
也可以先
cd /etc
然后
vi vsftpd.conf
注:二者功能是一样的,只不过前者通过vi打开了etc中的文件,后者是先移动到目录etc内,再去打开文件。由于篇幅有限,vi和cd以及cp的具体操作我在这里就不赘述了,请朋友们自行在搜索引擎内查找相关资料。
根据下面的提示进行修改,朋友们也可以根据文档中的提示,根据需要自行修改。
listen=NOlisten_ipv6=NOanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YES#chroot_local_user=YES即本地用户将进入 chroot 环境,当登录以后默认情况下是其 home 目录。chroot_local_user=YES chroot_list_enable=YESchroot_list_file=/etc/vsftpd.userlistsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=vsftpdssl_enable=NO
配置完毕后,保存关闭该文件(`:wq`)然后开始配置vsftpd.userlist:
vi /etc/vsftpd.userlist
如果是照抄我上面的配置的话,userlist中写入允许登录的账号即可。通过以下代码重启服务使其生效
systemctl restart vsftpd 和 service vsftpd restart
最后,使用软件登录就可以了。(我是macOS系统,我用的是FileZilla)
tips:
如果你自行修改了
chroot_local_user和chroot_local_user
导致无法登录的话,请根据下表进行调整:
chroot_local_user=YES | chroot_local_user=NO | |
chroot_list_enable=YES | 用户都被限制在其主目录下; 使用chroot_list_file指定的用户列表例外,不受任何限制 | 用户都不受限制; 使用chroot_list_file指定的用户列表将被限制在其主目录下 |
chroot_list_enable=NO 不使用chroot_list_file指定的用户列表 | 所有用户都被限制在其主目录下 | 所有用户都不被限制其主目录下 |
喜欢我的原创连载内容,就请给我一点点在看
往期内容:- 如何让Django项目在自己的服务器上跑起来(Step One)
- SpringBoot 中 ConfigurationProperties
- 每30秒学会一个Python小技巧,GitHub星数4600+
前端基础到进阶(1):HTML基础入门