编译安装vsftpd (基于Arch linux)

依赖:

  • rpcsvc-proto-1.4.2
1
2
3
./configure --sysconfdir=/etc
make
make install
  • libtirpc-1.3.2
    1
    2
    3
    ./configure --prefix=/usr --sysconfdir=/etc --disable-static --disable-gssapi
    make
    make install
  • libnsl-1.3.0
1
2
3
4
autoreconf -fi
./configure --sysconfdir=/etc
make
make install

编译安装vsftpd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
install -v -d -m 0755 /usr/share/vsftpd/empty &&
install -v -d -m 0755 /home/ftp &&
groupadd -g 47 vsftpd &&
groupadd -g 45 ftp &&

useradd -c "vsftpd User" -d /dev/null -g vsftpd -s /bin/false -u 47 vsftpd &&
useradd -c anonymous_user -d /home/ftp -g ftp -s /bin/false -u 45 ftp

# 如果你是gcc-10以及以上的gcc版本,会出现隐式类型转换失败的错误,让它显式转换:
sed -e "s/kVSFSysStrOpenUnknown;/(enum EVSFSysUtilOpenMode)&/" -i sysstr.c
make
install -v -m 755 vsftpd /usr/sbin/vsftpd &&
install -v -m 644 vsftpd.8 /usr/share/man/man8 &&
install -v -m 644 vsftpd.conf.5 /usr/share/man/man5 &&
install -v -m 644 vsftpd.conf /etc