ftp搭建

    xiaoxiao2025-08-06  16

    <1> 搭建匿名的FTP

    1.IP配置

    vim 

    /etc/sysconfig/network-scripts/ifcfg-eth0 

    DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.1.10 NETMASK=255.255.255.0

    reboot

     

    2.安装vsftpd软件包

    rm -rf /etc/yum.repos.d/*

    vim /etc/yum.repos.d/local.repo

    [local] name=loca baseurl=file:///mnt gpgcheck=0

     

    mount  /dev/cdrom /mnt

    yum -y install vsftpd

    3.编辑配置文件

    vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=YES                //启用匿名访问 anon_root=/ftproot/                //指定匿名用户访问目录(默认/var/ftp/) anon_upload_enable=YES                //允许匿名用户上传 anon_other_write_enable=YES            //允许匿名用户删除文件、文件夹 anon_mkdir_write_enable=YES            //允许匿名用户创建文件夹 anon_umask=022                    //匿名用户上传的文件权限为644

    pasv_enable=YES                    //启用被动模式 pasv_min_port=10000                //指定被动模式最小端口 pasv_max_port=11000                //指定被动模式最大端口

    local_enable=NO                    //不启用本地用户访问 write_enable=YES                    //允许写入 local_umask=022                    //本地用户上传的文件权限为644 dirmessage_enable=YES                //启用message信息显示(如目录下存在.message文件,会显示该文件内容) xferlog_enable=YES                //启动xferlog日志文件 connect_from_port_20=YES                //数据连接端口 xferlog_std_format=YES                //指定xferlog日志格式为std listen=YES                    //启动监听

    pam_service_name=vsftpd                //pam认证模块 userlist_enable=YES                //启动userlist列表文件 tcp_wrappers=YES                    //启动TCP_WAPPER控制

    4.启动服务

    mkdir /ftproot/

    /etc/init.d/vsftpd start && chkconfig --level 35 vsftpd on

    测试

    <2>搭建本地用户

    1.IP配置 

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0

    TYPE=Ethernet

    ONBOOT=yes

    NM_CONTROLLED=no

    BOOTPROTO=static

    IPADDR=192.168.1.10

    NETMASK=255.255.255.0

    service network restart

    1.安装vsftpd软件包

    rm -rf /etc/yum.repos.d/*

    vim /etc/yum.repos.d/local.repo

    [local]

    name=loca

    baseurl=file:///mnt

    gpgcheck=0

    mount /dev/cdrom /mnt

    yum -y install vsftpd

    2.编辑配置文件

    vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO //禁用匿名访问

    pasv_enable=YES //启用被动模式

    pasv_min_port=10000 //指定被动模式最小端口

    pasv_max_port=11000 //指定被动模式最大端口

     

    local_enable=YES //启用本地用户访问

    local_root=/ftproot/ //指定本地用户访问目录(默认/home/xxx)

    write_enable=YES //允许写入

    local_umask=022 //本地用户上传的文件权限为644

    dirmessage_enable=YES //启用message信息显示(如目录下存在.message文件,会显示该文件内容)

    xferlog_enable=YES //启动xferlog日志文件

    connect_from_port_20=YES //数据连接端口

    xferlog_std_format=YES //指定xferlog日志格式为std

    listen=YES //启动监听

     

    pam_service_name=vsftpd //pam认证模块

    userlist_enable=YES //启动userlist列表文件

    tcp_wrappers=YES //启动TCP_WAPPER控制

    3.新建本地用户

    useradd -s /sbin/nologin hehe    //新建本地系统用户hehe

     

    passwd  hehe //设置hehe密码为123

    测试

    <3>搭建虚拟用户

    1.定义用户密码文件

    vim /etc/vsftpd/user

    a 123 b 123

    注:奇数为用户名,偶数为上一行用户密码

    2.转换用户密码文件为数据库文件

    db_load -T -t hash -f /etc/vsftpd/user /etc/vsftpd/user.db

    //将定义的用户密码使用hash转换为数据库文件

    3.新建PAM认证文件

    vim /etc/pam.d/haha

    #PAM-1.0

    auth    required    pam_userdb.so    db=/etc/vsftpd/user account    required    pam_userdb.so    db=/etc/vsftpd/user

    4.新建本地用户

    useradd -s /sbin/nologin -d /ftproot/ qwe

    chmod o+w /ftproot/

    5.编辑配置文件

    vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO                //禁用匿名访问

    pasv_enable=YES                    //启用被动模式 pasv_min_port=10000                //指定被动模式最小端口 pasv_max_port=11000                //指定被动模式最大端口

    guest_enable=YES                    //启用虚拟用户 guest_username=qwe                //指定虚拟用户对应的本地映射用户 user_config_dir=/etc/vsftpd/virtual            //指定虚拟用户配置文件存放目录

    local_enable=YES                    //启用本地用户访问 local_root=/ftproot/                //指定本地、虚拟用户访问的目录 write_enable=YES                    //允许写入 local_umask=022                    //本地用户上传的文件权限为644 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES                    //启动监听

    pam_service_name=haha                //pam认证模块(注:修改默认vsftpd认证PAM,修改为自建PAM) userlist_enable=YES                //启动userlist列表文件 tcp_wrappers=YES                    //启动TCP_WAPPER控制

    注:如虚拟用户不当前新建配置文件,则使用全局的虚拟用户权限

    6.新建虚拟用户配置文件

    mkdir /etc/vsftpd/virtual

    touch /etc/vsftpd/virtual/a

    touch /etc/vsftpd/virtual/b

    vim /etc/vsftpd/virtual/a

    anon_upload_enable=YES anon_other_write_enable=YES anon_mkdir_write_enable=YES anon_umask=022

    vim /etc/vsftpd/virtual/b

    anon_root=/ftproot/

    anon_upload_enable=YES

    anon_otanonymous_enable=YES

    her_write_enable=YES

    anon_mkdir_write_enable=YES

    anon_umask=022

    7.启动服务

    /etc/init.d/vsftpd start && chkconfig --level 35 vsftpd on

    8.测试

    a拥有完全权限

    b只能下载,不能上传

    <4>搭建虚拟用户与匿名用户共存

    1.定义用户密码文件

    vim /etc/vsftpd/user

    a 123 b 123

    注:奇数为用户名,偶数为上一行用户密码

    2.转换用户密码文件为数据库文件

    db_load -T -t hash -f /etc/vsftpd/user /etc/vsftpd/user.db

    //将定义的用户密码使用hash转换为数据库文件

    3.新建PAM认证文件

    vim /etc/pam.d/haha

    #PAM-1.0

    auth    required    pam_userdb.so    db=/etc/vsftpd/user account    required    pam_userdb.so    db=/etc/vsftpd/user

    4.新建本地用户

    useradd -s /sbin/nologin qwe

    chmod o+w /ftproot/

    5.编辑配置文件

    vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=YES                //启动匿名访问 anon_root=/ftproot/                //指定匿名用户访问目录(默认/var/ftp/)

    pasv_enable=YES                    //启用被动模式 pasv_min_port=10000                //指定被动模式最小端口 pasv_max_port=11000                //指定被动模式最大端口

    guest_enable=YES                    //启用虚拟用户 guest_username=qwe                //指定虚拟用户对应的本地映射用户 user_config_dir=/etc/vsftpd/virtual            //指定虚拟用户配置文件存放目录

    local_enable=YES                    //启用本地用户访问 local_root=/ftproot/                //指定本地、虚拟用户访问的目录 write_enable=YES                    //允许写入 local_umask=022                    //本地用户上传的文件权限为644 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES                    //启动监听

    pam_service_name=haha                //pam认证模块(注:修改默认vsftpd认证PAM,修改为自建PAM) userlist_enable=YES                //启动userlist列表文件 tcp_wrappers=YES                //启动TCP_WAPPER控制

    注:如虚拟用户不当前新建配置文件,则使用全局的虚拟用户权限

    6.新建虚拟用户配置文件

    mkdir /etc/vsftpd/virtual

    touch /etc/vsftpd/virtual/a

    touch /etc/vsftpd/virtual/b

    vim /etc/vsftpd/virtual/b

    anon_upload_enable=NO                //允许匿名用户上传

    7.启动服务

    /etc/init.d/vsftpd start && chkconfig --level 35 vsftpd on

    /etc/init.d/iptables stop && setenforce 0

    8.测试

    hehe拥有完全权限

    haha只能下载,不能上传

    匿名用户只能下载,不能上传

    Linux访问FTP

    lftp FTP服务器IP -u 用户名

    lftp> ls                //列表显示当前所有内容

    lftp> cd xxx            //进入指定目录

    lftp> get xxx            //下载指定文件或目录到当前位置

    lftp> pub xxx            //上传指定文件或目录到FTP

    ftp FTP服务器IP

    Name (192.168.1.10:root): xxx    //输入FTP服务器登陆用户

    Password:xxx            //输入FTP服务网登陆密码

    lftp> ls                //列表显示当前所有内容

    lftp> cd xxx            //进入指定目录

    lftp> get xxx            //下载指定文件或目录到当前位置

    lftp> pub xxx            //上传指定文件或目录到FTP

     

     

     

     

     

     

    最新回复(0)