vsFTP部署

来源:互联网 发布:二级域名 端口号 编辑:程序博客网 时间:2024/06/05 04:31

    • 预备组件
    • 建立虚拟用户
    • 生成虚拟用户口令认证文件
    • 编辑vsftpd的PAM认证
    • 建立本地映射用户并设置宿主权限
    • 配置 vsftpdconf
      • 2 新建chroot_list文件
    • 虚拟用户权限配置
    • FTP效果验证
    • 常用配置组合
    • 查看ftp日志
    • 示例vsftpconf

1. 预备组件

yum -y install vsftpd install pam* install db4 db4-utils// 设置开机启动chkconfig vsftpd on

2.建立虚拟用户

// 以下为四个准备开启虚拟用户名称user1user2user3user4// 添加虚拟用户名、密码。奇数行为用户名,偶数行为密码。vi /etc/vsftpd/vftpuser.txtuser1passwd12user2passwd12user3passwd12user4passwd12

3.生成虚拟用户口令认证文件

 // 把刚添加的vftpuser.txt虚拟用户口令转换成系统的口令认证文件。db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vu_list.db

4.编辑vsftpd的PAM认证

vim /etc/pam.d/vsftpd注释掉所有内容 并录入下面两行auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vu_listaccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vu_list

5. 建立本地映射用户并设置宿主权限

// 创建用户前,不要创建/disk/ftpuseradd -d /disk/ftp -s /sbin/nologin user1useradd -d /disk/ftp -s /sbin/nologin user2 useradd -d /disk/ftp -s /sbin/nologin user3 useradd -d /disk/ftp -s /sbin/nologin user4注: 提示 “useradd: cannot create directory /disk/ftp”,不理会。// 一次性创建每个虚拟用户根目录mkdir -p /disk/ftp/user{1..4}// 目录的权限应该是770,owner是root,group是ftp(这里的用户组应该是当前系统已有的用户组,不存在的用户组无效,用户组为ftp是造成后面编辑无权限)chmod -R 770 /disk/ftpchown -R  root:hadoop /disk/ftp

6.配置 vsftpd.conf

// 设置虚拟用户配置项,修改成以下属性。vim /etc/vsftpd/vsftpd.conf // 12行anonymous_enable=NO  // 95行#users to NOT chroot().添加以下部分:#虚拟用户配置文件存放位置user_config_dir=/etc/vsftpd/vsftpd_user (注意:这里的" vsftpd_user "目录,可以不用改.但是下面一个根据系统用户而改.)#开启虚拟用户guest_enable=YES#FTP虚拟用户对应的系统用户,注意:这里的"vftpuser是对应挂钩的用户,比如hadoop."guest_username=vftpuser// 限定用户只在自己目录, 取消下面几行的注释xferlog_file=/var/log/vsftpd.log        // 39行chroot_list_enable=YES                  // 103行chroot_list_file=/etc/vsftpd/chroot_list // 105行// 123行pam_service_name=vsftpd

6.2 新建chroot_list文件

touch /etc/vsftpd/chroot_list

7.虚拟用户权限配置

// 创建虚拟用户放置主目录mkdir /etc/vsftpd/vsftpd_user配置用户权限// 依次创建4个文件,并输入配置信息vi /etc/vsftpd/vsftpd_user/user{1..4}// 配置信息,将 * 分别替换成 1,2,3,4local_root=/disk/ftp/user*anon_world_readable_only=nowrite_enable=yesanon_upload_enable=yesanon_other_write_enable=yesanon_mkdir_write_enable=yes修改端口默认的连接端口号:添加此行:117行 listen 下添加: listen_port=21001     //117行vim +117 /etc/vsftpd/vsftpd.conf vim +44 /etc/services 将其中的 ftp 21/tcp 改为 ftp 21001/tcp , ftp     // 44行 启动 vcftp/etc/init.d/vsftpd {stop|start|restart|status}

FTP效果验证

// 服务搭载主机ip:开房端口号123.456.789.012:3456// 使用ftp 软件即可连接和使用注意: 防火墙问题

8.常用配置组合:

1.可浏览local_root=/disk/ftp/tonecananon_world_readable_only=no1-1.禁浏览local_root=/disk/ftp/tonecananon_world_readable_only=yes (默认设置)2.可上传local_root=/disk/ftp/tonecanwrite_enable=yesanon_upload_enable=yes3.浏览+下载+上传local_root=/disk/ftp/tonecananon_world_readable_only=nowrite_enable=yesanon_upload_enable=yes4.浏览+下载+上传+删除local_root=/disk/ftp/tonecananon_world_readable_only=nowrite_enable=yesanon_upload_enable=yesanon_other_write_enable=yes5.浏览+下载+上传+创建目录+删除local_root=/disk/ftp/tonecan (指定FTP只能登陆到这里)anon_world_readable_only=no (只读,不能下载)write_enable=yes (可写入)[不能单独使用,相当于写开关]anon_upload_enable=yes (可上传)anon_other_write_enable=yes (可删除)anon_mkdir_write_enable=yes (可创建目录)6.浏览+下载+上传+创建目录+不可删除local_root=/disk/ftp/tonecananon_world_readable_only=nowrite_enable=yesanon_upload_enable=yesanon_other_write_enable=yesanon_mkdir_write_enable=yescmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RMD,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

9.查看ftp日志

tail -f    /var/log/xferlog # ABOR - 取消文件传输# CWD - 更改目录# DELE - 删除文件# LIST - 列目录# MDTM - 返回文件的更新时间# MKD - 远程新建文件夹# NLST - 远程目录列表名称# PASS - 发送密码# PASV - 进入被动模式# PORT - 打开一个传输端口# PWD - 显示当前工作目录# QUIT - 退出# RETR - 检索远程下载文件# RMD - 删除远程目录# RNFR - rename from 重命名源# RNTO - rename to    重命名为# SITE - 站点特定的命令# SIZE - 返回文件大小# STOR - 上传文件# TYPE - 设置传输类型# USER - 发送用户名# ACCT* - 发送帐户信息# APPE - 附加到远程文件(续传)# CDUP - CWD到当前目录的父# HELP - 帮助# MODE - 设置传输模式# NOOP - 什么都不做# REIN* - 重新初始化连接# STAT - 返回服务器状态# STOU - 存储文件的唯一# STRU - 设置文件的传输结构# SYST - 返回系统类型

示例vsftp.conf

”’
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
guest_enable=YES
guest_username=vftpuser
user_config_dir=/etc/vsftpd/vsftp_user
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
”’

原创粉丝点击