CentOS 7下安装及配置VsFTP(详细)

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

安装及配置VsFTP

# 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帐号和目录

# 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

修改指定目录的所有者

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

配置禁止登陆的FTP用户

# vim /etc/vsftpd/ftpusers
# vim /etc/vsftpd/user_list

修改shell配置

# vim /etc/shells

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

修改默认21端口

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

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

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

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

# 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用户管理

删除用户

userdel 选项 用户名

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

为用户设置密码

passwd 选项 用户名

可使用的选项:

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

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

# passwd

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

# passwd 用户名
上一篇 CentOS下安装配置Nginx
下一篇 Java集合小结
目录
文章列表
1 Flutter中控件高度设置问题
Flutter中控件高度设置问题
2
BeanUtils 实现 Map 与 Bean 进行相互转换
BeanUtils 实现 Map 与 Bean 进行相互转换
3
Flutter Widget之Column
Flutter Widget之Column
4
高中数学基础:二项分布与二项式定理
高中数学基础:二项分布与二项式定理
5
Gitlab HTTP 413 curl 22 Request Entity Too Large
Gitlab HTTP 413 curl 22 Request Entity Too Large
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。