FTP service setup
Setup vsftpd
sudo apt-get install vsftpd -y
Start vsftpd
- check whether the port 21 is working
sudo netstat -nltp | grep 21
- if the above not start, you can do it manually
sudo systemctl start vsftpd.service
- check whether the port 21 is working
Config the User directory
- make a directory
sudo mkdir /home/uftp
- make a welcome file
sudo touch /home/uftp/welcome.txt
- config user and create passwd
sudo useradd -d /home/uftp -s /bin/bash uftp
sudo passwd uftp
- remove the file to avoid login failed.
sudo rm /etc/pam.d/vsftpd
- make a directory
Do some limitation
make the user only access the ftp instead of login the server
sudo usermod -s /sbin/nologin uftp
config again
sudo chmod a+w /etc/vsftpd.conf
# 限制用户对主目录以外目录访问 chroot_local_user=YES # 指定一个 userlist 存放允许访问 ftp 的用户列表 userlist_deny=NO userlist_enable=YES # 记录允许访问 ftp 用户列表 userlist_file=/etc/vsftpd.user_list # 不配置可能导致莫名的530问题 seccomp_sandbox=NO # 允许文件上传 write_enable=YES # 使用utf8编码 utf8_filesystem=YES
* create the access file for user list `sudo touch /etc/vsftpd.user_list` `sudo chmod a+w /etc/vsftpd.user_list` modify the user_list as followed: `uftp`
* config the access authority
* the main dir only read `sudo chmod a-w /home/uftp`
* the pulic dir can be read and wrote `sudo mkdir /home/uftp/public && sudo chmod 777 -R /home/uftp/public`
* restart the service `sudo systemctl restart vsftpd.service`
- Prepare the domain and just make the analyze ip then everything will be ok.