基于 Ubuntu 搭建 FTP 文件服务
- 2020.08.31:必应壁纸脚本更新,获取 UHD 分辨率图片
1、使用 apt-get
安装 vsftpd:
1 | sudo apt-get install vsftpd -y |
1.1、删除掉 pam.d 中 vsftpd,因为该配置文件会导致使用用户名登录 FTP 失败
1 | sudo rm /etc/pam.d/vsftpd |
2、新建用户主目录 /home/uftp
,通过 FTP 登录后看到的根目录,并设置权限(只读)
1 | sudo mkdir /home/uftp && sudo chmod a-w /home/uftp |
2.1、新建公共目录,并设置权限(读写)
1 | sudo mkdir /home/uftp/public && sudo chmod 777 -R /home/uftp/public |
3、创建一个用户 uftp
,并设置该用户目录为 /home/uftp
1 | sudo useradd -d /home/uftp -s /bin/bash uftp |
3.1、为用户 uftp
设置密码:
1 | sudo passwd uftp |
3.2、限制用户 uftp
只能通过 FTP 访问服务器,而不能直接登录服务器:
1 | sudo usermod -s /sbin/nologin uftp |
4、新建文件 /etc/vsftpd.user_list
,用于存放允许访问 FTP 的用户
1 | sudo touch /etc/vsftpd.user_list && sudo chmod a+w /etc/vsftpd.user_list |
4.1、修改 /etc/vsftpd.user_list
,加入刚刚创建的用户
5、修改 vsftpd 配置
1 | sudo chmod a+w /etc/vsftpd.conf |
修改 /etc/vsftpd.conf
文件中的配置,直接将如下配置添加到配置文件最下方:
1 | # 限制用户对主目录以外目录访问 |
6、重启 vsftpd 服务
1 | sudo systemctl restart vsftpd.service |
通过 netstat 命令可以看到系统已经监听了 21 端口,FTP 协议默认使用 21 端口作为服务端口
1 | sudo netstat -nltp | grep 21 |
7、连接到 FTP 服务器
7.1、使用 FTP 客户端连接,如 Yummy FTP
7.2、macOS 下在 Finder 中直接按 ⌘+K,输入以下地址
1 | ftp://用户名:密码@ip |
One More Thing
1、每日必应图片的脚本 DailyBingWallpaper.sh
:
1 |
|
2、使用 apt-get
安装 jq ( json 解析工具)
1 | sudo apt-get install jq -y |
3、将 DailyBingWallpaper.sh
添加到定时任务中
1 | crontab -e |
第一次使用 crontab
命令时会提示你选择编辑器,这里选 vim 当编辑器,要修改编辑器时可以用 select-editor
1 | select-editor |
进入编辑模式,添加一行(每天零点一分执行脚本):
1 | 1 0 * * * /home/ubuntu/sh/DailyBingWallpaper.sh |
And One More Thing
点击 这里 获取我分享的必应壁纸!