使用vsftpd 实现ftp上传
安装 vsftpd
yum install -y vsftpd
默认配置详解
配置地址:/etc/vsftpd/vsftpd.conf
# 允许匿名用户登陆 anonymous_enable=YES # 允许本地用户登陆 local_enable=YES # 允许本地用户拥有写权限 write_enable=YES # 本地用户的文件默认掩码022,文件的默认最大权限为666 local_umask=022 # 激活目录的欢迎信息功能 dirmessage_enable=YES # 启用上传和下载日志功能 xferlog_enable=YES # 指定FTP使用20端口进行数据传输 connect_from_port_20=YES # 启用xferlog的标准格式输出 xferlog_std_format=YES # 设置vsftpd服务器不以standalone模式运行 listen=YES # 设置PAM使用的名称 pam_service_name=vsftpd # 启动user_list文件 userlist_enable=YES # 设置vsftpd与tcp wrapper组合来进行访问控制 tcp_wrappers=YES
如果配置增加如下参数
chroot_local_user=YES chroot_list_enable=YES(这行可以没有, 也可以有) chroot_list_file=/etc/vsftpd.chroot_list
这样加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即可以浏览其主目录的上级目录。此时, 在该文件中的用户都是可以浏览其主目录的上级目录的(一行一个用户名)。
或者, 设置如下
chroot_local_user=NO chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用) chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
这样把所有不希望浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list中。此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的(一行一个用户名).
真实配置
备份原配置文件后,修改如下
listen=YES background=YES anonymous_enable=NO local_enable=YES write_enable=YES file_open_mode=0777 local_umask=000 anon_upload_enable=NO anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_upload_enable=YES anon_max_rate=0 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES chown_uploads=NO xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to FTP servers pam_service_name=vsftpd chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
创建对应的用户名
useradd -g 50 -c "ftp users" -d /www/public -s /sbin/nologin www
-g: 指定用户组
-c:用户说明
-d:指定用户根目录,即ftp根目录
-s:指定是否登录
注意事项
给ftp根目录增加777权限,否则,ftp上传文件会出现错误 553 Could not create file
本文链接:https://jeff.xin/post/23.html
--EOF--
Comments
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。