CentOS 7 下安装及配置VsFTP

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

安装及配置VsFTP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# rpm -qa | grep vsftpd    //查看系统是否已经安装vsftpd
# yum install vsftpd //使用yum命令安装vsftp
# which nologin //检查nologin位置,通常在/usr/sbin/nologin或者/sbin/nologin下
/usr/sbin/nologin
# useradd -d /data/www -s /usr/sbin/nologin www //使用useradd命令创建帐户。增加用户www,根目录是/data/www
# passwd www //为FTP用户设定或修改密码
# vim /etc/vsftpd/vsftpd.conf //修改配置文件
anonymous_enable=NO #禁止匿名用户访问
local_enable=YES
write_enable=YES #允许本地用户登录并允许其上传文件
chroot_local_user=YES #将本地用户锁定在主目录中,不允许切换到上一级目录中
# systemctl start vsftpd //启动vsftp服务
# systemctl restart vsftpd //重启vsftp服务
# systemctl enable vsftpd //自启动vsftp服务
# chmod a-w /data/www //解决500 OOPS: vsftpd: refusing to run with writable root inside chroot()
# mkdir /data/www/index
# chown -R www /data/www/index

扩展配置

添加ftp帐号和目录

1
2
# useradd -d /data/www -s /usr/sbin/nologin www  //增加用户www,根目录是/data/www
# useradd -d /home/appblog -g ftp -s /usr/sbin/nologin appblog //增加用户appblog,组是FTP,根目录是/home/appblog

修改指定目录的所有者

1
2
# chown -R www.www /data/www  //将此目录及该目录下所有文件和子目录的拥有者设置成组www的用户www
# chgrp -R ftp /home/appblog //将此目录及该目录下所有文件和子目录的拥有组设置成组ftp

配置禁止登陆的FTP用户

1
2
# vim /etc/vsftpd/ftpusers
# vim /etc/vsftpd/user_list

修改shell配置

1
# vim /etc/shells

如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去

修改默认21端口

修改默认FTP端口,比如使用210

1
2
3
# vim /etc/vsftpd/vsftpd.conf  //添加listen_port=210
# systemctl restart vsftpd
# netstat -an | grep 210 //查看端口是否正常启动

注意需要在云服务器控制台开启对应端口

如需自行配置系统防火墙,CentOS 7.0默认使用的是firewall作为防火墙,可改为iptables防火墙

1
2
3
4
5
6
# systemctl stop firewalld.service  //停止firewall
# systemctl disable firewalld.service //禁止firewall开机启动
# firewall-cmd --state //查看默认防火墙状态(关闭后显示not running,开启后显示running)
# vi/etc/sysconfig/iptables //编辑iptables防火墙配置文件
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 210 -j ACCEPT
# systemctl restart iptables

FTP用户管理

删除用户

1
userdel 选项 用户名

常用的选项是-r,它的作用是把用户的主目录一并删除。

为用户设置密码

1
passwd 选项 用户名

可使用的选项:

  • passwd -l 用户名 //锁定口令,即禁用账号
  • passwd -u 用户名 //口令解锁
  • passwd -d 用户名 //使账号无口令,此命令将用户的口令删除,用户下一次登录时,系统将不再询问口令
  • passwd -f 用户名 //强迫用户下次登录时修改口令

如果默认用户名,则修改当前用户的口令:

1
# passwd

如果是超级用户,可以用下列形式指定任何用户的口令:

1
# passwd 用户名

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :