很久没有安装vsftp了 今天因为某个网站需要用到 安装的时候忘了些东西 记录下来
一安装
1 | yum -y install vsftpd |
二创建用户及目录
创建新用户
安装ftp时实际已经创建了名为ftp的用户,需要使用passwd修改密码后,添加到userlist中区
若使用root不用新建,不过不推荐这种危险方式
新建用户按
这里以用户名xxx,目录/home/xxxfile为例(xxxfile即为我们做下载服务器保存的目录)
1 | adduser -d /home/xxxfile -g ftp -s /sbin/nologin xxx |
设置密码
1 | passwd xxx |
输入密码即可
再次编辑
1 | vi /etc/vsftpd/user_list |
加入刚才新建的用户xxx
wq保存退出
1 | vi /etc/vsftpd/chroot_list |
输入给xxx用户指定的文件目录/home/xxxfile
1 | xxx /home/xxxfile |
:wq保存退出
三修改配置文件
/etc/vsftpd/vsftpd.conf是主配置文件
/etc/vsftpd/ftpusers配置哪些用户不能访问FTP服务器,应该将root用户加入
/etc/vsftpd/user_list该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里设置userlist_enable=NO选项时才允许该名单中的用户访问FTP。
通过搭配/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list可以限制指定用户可以访问。
chroot_list_file是设定锁定登陆用户在其home目录的列表,要在chroot_list_enable=YES情况下才生效。
四 修改认证,排除530错误
(排除530 Login incorrect.错误)
1 | vi /etc/pam.d/vsftpd |
修改auth为pam_nologin.so,为什么自行百度
1 2 3 4 5 6 7 8 | session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed #auth required pam_shells.so auth required pam_nologin.so auth include password-auth account include password-auth session required pam_loginuid.so session include password-auth |
五 排除vsftp 500错误
OOPS: vsftpd: refusing to run with writable root inside chroot()错误
为了避免一个安全漏洞,从 vsftpd 2.3.5 开始,chroot目录必须不可写。
方法1 使用命令:
1 | chmod:a-w /home/xxxx |
xxxx 为FTP根目录
方法2:添加一项配置allow_writeable_chroot=YES到vsftpd.conf配置文件中
六排除553错误
vsftpd 553 could not create file
1 | chown -R xxx /home/ftpdir |
xxx为你vsftp的新建的用户xxx,后面的路径为你创建的文件保存目录
七 centos7下vsftp 启动/停止/重启/状态命令
启动
1 | systemctl start vsftpd |
停止
1 | systemctl stop vsftpd |
重启
1 | systemctl restart vsftpd |
状态
1 | systemctl status vsftpd |
七 centos7 vsftp防火墙设置
详见https://xiaohost.com/3115.html
八 ftp上传中文名文件乱码或者显示问号解决方法 https://xiaohost.com/1241.html
评论0