FTP标准命令TCP端口号为21,Port方式数据端口为20。
这里在iptables和selinux关闭的条件下进行
FTP的安装
yum install vsftpd ##服务端安装
yum install lftp ##客户端安装
FTP服务的启动和关闭
/etc/init.d/vsftpd start ##开启FTP服务
chkconfig vsftpd on ##开启自启
/etc/init.d/vsftpd stop ##关闭FTP服务
FTP服务主要文件
rpm -ql vsftpd
/var/ftp ##ftp默认发布目录
/etc/vsftpd ##ftp配置文件
FTP配置文件参数
write_enable=YES ##允许匿名用户上传
anon_upload_enable=YES
anon_root=/direcotry ##匿名用户家目录
anon_umask=022 ##匿名用户上传文件默认权限修改
anon_mkdir_write_enable=YES ##允许匿名用户建立目录
anon_world_readable_only=NO ##允许匿名用户下载
anon_other_write_enable=YES ##允许匿名用户删除
chown_uploads=YES ##匿名用户使用的用户身份修改
chown_username=whoever
anon_max_rate=102400 ##最大上传速率,单位为字节
local_enable=YES ##本地用户登陆限制
write_enable=YES ##本地用户写权限限制
local_root=/directory ##本地用户家目录修改
local_umask=022 ##本地用户上传文件权限
chroot_local_user=YES ##限制本地用户浏览根目录,这里需要家目录权限u-w
chroot_local_user=NO ##用户黑名单/etc/vsftpd/ftpusers
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES ##用户白名单建立
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
userlist_deny=NO ##/etc/vsftpd/user_list默认为临时黑名单,设置次参数后本文件变为白名单
user_config_dir=/etc/vsftpd/userconf ##在/etc/vsftpd/userconf目录下以用户名为文件名的文件即为该用户的独立配置。
FTP虚拟账号
touch /etc/vsftpd/ftpuser ##文件名自定义,内容一行为用户名一行为密码
user1
123
user2
123
user3
123
db_load -T -t hash -f /etc/vsftpd/ftpuser ftpuser.db ##hash加密
vim /etc/pam.d/ckvsftpd ##文件名自定义
account required pam_userdb.so db=/etc/vsftpd/ftpuser
auth required pam_userdb.so db=/etc/vsftpd/ftpuser
vim /etc/vsftpd/vsftpd.conf ##在配置文件里添加如下两行参数。
local_root=/ftpuserhome/$USER
user_sub_token=$USER
pam_service_name=ckvsftpd ##修改之后本地用户不可用,或者直接修改/etc/pam.dvsftpd文件
guest_enable=YES
mkdir /ftphome
mkdir /ftphome/user1
mkdir /ftphome/user2
mkdir /ftphome/user3
chmod 500 /ftphome/*
chown ftp /ftphome/*
FTP报错
get: Access failed: 550 Failed to open file
没有权限下载,需要修改配置文件
put: Access failed: 553 Could not create file.
没有上传权限,需要给目录添加w权限。
没有权限登录,或服务没有启动