vsftp软件包的所有文件说明

2016.9.25 0 条评论 1.31k 次阅读 0 人点赞

下面以CentOS7上安装的vsftpd-3.0.2为例,来看看vsftp软件包的所有文件。

vsftp软件包版本信息

[root@jianxiangqiao ~]# rpm -q vsftpd
vsftpd-3.0.2-10.el7.x86_64

vsftp软件包的所有文件

[root@jianxiangqiao ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/lib/systemd/system-generators/vsftpd-generator
/usr/lib/systemd/system/vsftpd.service
/usr/lib/systemd/system/vsftpd.target
/usr/lib/systemd/system/vsftpd@.service
/usr/sbin/vsftpd
/usr/share/doc/vsftpd-3.0.2
...    <--省略了软件说明文档
/usr/share/doc/vsftpd-3.0.2/vsftpd.xinetd
/usr/share/man/man5/vsftpd.conf.5.gz
/usr/share/man/man8/vsftpd.8.gz
/var/ftp
/var/ftp/pub

vsftpd软件结构说明

/etc/logrotate.d/vsftpd
logrotate日志管理工具的vsftpd配置文件。

/etc/pam.d/vsftpd
vsftpd使用PAM模块时的相关配置文件。主要用来作为身份认证之用,还有一些用户身份的抵挡功能, 也是通过这个文件来达成的。

[root@jianxiangqiao ~]# cat /etc/pam.d/vsftpd
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

/etc/vsftpd
vsftpd配置文件存放目录。

/etc/vsftpd/ftpusers
PAM模块(/etc/pam.d/vsftpd)所指定的禁止登入FTP服务器的用户的配置文件。绝大部分系统帐号都在这个这个文件里,默认root无法通过FTP登入:

[root@jianxiangqiao ~]# cat /etc/vsftpd/ftpusers 
# Users that are not allowed to login via ftp
root
bin
daemon
...

/etc/vsftpd/user_list
vsftpd用户列表。和主配置文件/etc/vsftpd/vsftpd.conf中的参数userlist_deny有关。如果userlist_deny=YES(默认)禁止列出的所有用户登入;如果userlist_deny=NO只允许列出的用户登入。文件内容:

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
...

/etc/vsftpd/vsftpd.conf
vsftpd的主配置文件!可以使用man 5 vsftpd.conf来查看详细的配置说明。

/etc/vsftpd/vsftpd_conf_migrate.sh
迁移老的vsftpd配置文件的脚本,将/etc下的vsftpd.*移动到/etc/vsftpd目录下,并在/etc下创建软链接,一般用不到。内容如下:

[root@jianxiangqiao ~]# cat /etc/vsftpd/vsftpd_conf_migrate.sh 
#!/bin/bash
#move old config files and symlink them
#shipped with vsftpd-2.0.1-6
PREFIX="vsftpd"
for file in $( ls /etc/${PREFIX}.* ); do
    if [ ! -L $file ]; then
        new=`echo $file | sed s/${PREFIX}\./${PREFIX}\\\\//g | sed s/\.rpmsave//g`
        mv -f ${file} ${new}
        ln -s ${new} ${file}
        echo $file moved to $new
    fi
done

/usr/lib/systemd/system-generators/vsftpd-generator
/usr/lib/systemd/system/vsftpd.service
/usr/lib/systemd/system/vsftpd.target
/usr/lib/systemd/system/vsftpd@.service

Systemd下的vsftpd服务配置文件。

[root@jianxiangqiao ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@jianxiangqiao ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@jianxiangqiao ~]# systemctl start vsftpd
[root@jianxiangqiao ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2016-09-25 15:51:14 CST; 3s ago
  Process: 6399 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 6400 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─6400 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Sep 25 15:51:14 jianxiangqiao.com systemd[1]: Starting Vsftpd ftp daemon...
Sep 25 15:51:14 jianxiangqiao.com systemd[1]: Started Vsftpd ftp daemon.

/usr/sbin/vsftpd
vsftpd软件包唯一的二进制可执行文件。

[root@jianxiangqiao ~]# file `which vsftpd`
/usr/sbin/vsftpd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=a27cef7730bdb62ba4a7527ceb475ec5ccb18d77, stripped

/usr/share/doc/vsftpd-3.0.2
...
/usr/share/doc/vsftpd-3.0.2/vsftpd.xinetd

vsftpd的软件说明文档。包含每个配置文件的说明、安装、安全配置等信息。

/usr/share/man/man5/vsftpd.conf.5.gz
/usr/share/man/man8/vsftpd.8.gz

vsftpd的man用户手册。可以使用man [8] vsftpd查看vsftpd命令的用户手册和man [5] vsftpd.conf查看vsftpd.conf配置文件的用户手册。

/var/ftp
/var/ftp/pub

预设的ftp根目录。

还有部分文件默认并不存在,要使用的时候需要自行创建,如:
/etc/vsftpd/chroot_list
这个文件的主要功能是可以将某些账号的使用者chroot在他们的home目录下!但这个文件要生效与 vsftpd.conf 内的chroot_list_enable和chroot_list_file两个参数有关。如果你想要将某些实体用户限制在他们的home目录下而不许到其他目录去,可以打开这个设定项目!

健翔桥的奇迹

IT工程师/摄影历史/跑步骑行