Linux vsftpd移植笔记

PC_LInux安装vsftpd

Red Hat Enterprise默认没有安装vsftpd所以使用镜像文件中的安装包安装

挂载镜像:mount /dev/cdrom /media

安装vsftpd: rpm -ivh  /media/Packages/vsftpd*

开启vsftpd服务:service vsftpd start

开启启动:chkconfig vsftpd on

查看vsftpd服务状态:service vsftpd status

重启vsftpd服务:service vsftpd restart

关闭vsftpd服务:service vsftpd stop

vsftp配置:

#进入vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf 
# 禁止匿名用户anonymous登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 让登录的用户有写权限(上传,删除)
write_enable=YES
# 默认umask
local_umask=022
# 把传输记录的日志保存到/var/log/vsftpd.log
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
# 允许ASCII模式上传
ascii_upload_enable=YES 
# 允许ASCII模式下载
ascii_download_enable=YES
# 使用20号端口传输数据
connect_from_port_20=YES
# 欢迎标语
ftpd_banner=Welcome to use my test ftp server.
# 接下来的三条配置很重要
# chroot_local_user设置了YES,那么所有的用户默认将被chroot,
# 也就用户目录被限制在了自己的home下,无法向上改变目录。
# chroot_list_enable设置了YES,即让chroot用户列表有效。
# ★超重要:如果chroot_local_user设置了YES,那么chroot_list_file
# 设置的文件里,是不被chroot的用户(可以向上改变目录)
# ★超重要:如果chroot_local_user设置了NO,那么chroot_list_file
# 设置的文件里,是被chroot的用户(无法向上改变目录)
chroot_list_enable=YES
# touch /etc/vsftpd/chroot_list 新建
chroot_list_file=/etc/vsftpd/chroot_list
use_localtime=YES
# 以standalone模式在ipv4上运行
listen=YES
# PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,
# 在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers
# 文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户
# 登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。
pam_service_name=vsftpd
# 重启 vsftpd
service vsftpd restart

vsftpd移植ARM:

1、从网上取得目前最新2.2.2版本:vsftpd-2.2.2.tar.gz

2、解压vsftpd-2.2.2.tar.gz,然后进入该目录:cd vsftpd-2.2.2

3、修改vsftpd-2.2.2目录下vsf_findlibs.sh文件,屏蔽掉“

#Look for libcap (capabilities)

#if locate_library /lib/libcap.so.1;then

#echo /lib/libcap.so.1;

#elif locate_library /lib/libcap.so.2;then

#echo /lib/libcap.so.2;

#else

#locate_library /usr/lib/libcap.so&& echo -lcap;

#locate_library /lib/libcap.so &&echo -lcap;

#locate_library /lib64/libcap.so &&echo -lcap;

#fi

4make CC=arm-none-linux-gnueabi-gcc

5、编译成功后,然后make install,默认是安装在/usr/local/sbin/目录下,如果需要更改到自己的目录下,修改Makefile文件,
  
install:下面/usr/local/sbin改成你自己认为的安装目录

6、安装成功后,在/usr/local/sbin/目录下会生成vsftpd可执行文件,为了减小vsftpd的大小,运行一下arm-none-linux-gnueabi-stripvsftpd

7、把vsftpd下载到板子上/usr/local/sbin或者/usr/sbin目录下

8、在vsftpd-2.2.2目录下有一个vsftpd.conf的默认配置文件,修改此默认配置文件,把此配置文件下载到板子/etc目录下
   vsftpd
提供匿名用户、本地用户、虚拟用户,具体设置可参考提供的vsftpd.conf的配置文件,在每个选项上面都已做了说明

9 、在板子上创建必要的帐号、目录:
  #adduser nobody          //VSFTPD
默认配置中需要“ nobody 用户。可能系统已经存在此帐号,那就不用建立
  #mkdir /usr/share/empty  //VSFTPD
默认配置中需要“ /usr/share/empty 目录。可能系统已经存在此目录,那就不用建立
 
  #mkdir /var/ftp          //VSFTPD
提供匿名 FTP 服务时,需要“ ftp 用户和一个有效的匿名目录。可能系统已经存在此目录,那就不用建立
  #adduser -D /var/ftp ftp  //
可能你的系统已经存在此帐号,那就不用建立
 
  #chown root:root /var/ftp
  #chmod og-w /var/ftp
10
、创建一个本地用户,创建好之后就可以用 zz 登录
    #adduser zz
    #passwd 123456
11
、添加一个只能从 ftp 登录服务器,而不能从本地登录的用户
    #adduser
g ftp s /sbin/nologin ftpuser
    #passwd 123456
12
VSFTPD 的文件结构,主要包括:
    /usr/sbin/vsftpd ---- VSFTPD
的主程序(必需)
    /etc/rc.d/init.d/vsftpd ----
启动脚本
    /etc/vsftpd/vsftpd.conf ----
主配置文件(必需)
    /etc/pam.d/vsftpd ---- PAM
认证文件
    /etc/vsftpd/vsftpd.ftpusers ----
禁止使用 VSFTPD 的用户列表文件
    /etc/vsftpd/vsftpd.user_list ----
禁止或允许使用 VSFTPD 的用户列表文件
    /etc/vsftpd/userconf ------
指定用户个人配置文件所在的目录
    /var/ftp ----
匿名用户主目录
    /var/ftp/pub----
匿名用户的下载目录
    /var/log/vsftpd.log -------
日志文件
   
vsftpd vsftpd.conf 两个文件外,其他文件的需要具体看主配置文件的配置

运行vsftpd程序,然后在PC机启用FTP客户端软件,就可以从板子上下载文件

你可能感兴趣的:(Linux应用)