• 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 限制用户对主目录以外目录访问
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

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
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash

export PATH=$PATH

SAVEPATH="/home/uftp/public/Pictures/Bing/"`date "+%Y/"``date "+%m"`
NAME=$(date "+%d")
URL="https://bing.com/HPImageArchive.aspx?format=js&n=1&mkt=zh-CN"

mkdir -p $SAVEPATH

JSON=`curl -s $URL`
echo $JSON > $SAVEPATH/$NAME.json
imgUrl="https://www.bing.com"`echo $JSON | jq ".images" | jq -r ".[0].urlbase"`"_UHD.jpg"
curl -s -o $SAVEPATH/$NAME.jpg "$imgUrl"

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

点击 这里 获取我分享的必应壁纸!