您的位置:首页 > 运维架构 > Linux

centos7安装FTP,并配置用户只可访问指定文件夹

2017-09-02 14:24 826 查看
使用root账号登录centos系统

检查是否已安装vsftp

rpm -qa |grep vsftpd #未输出信息,表示未安装vsftp


通过yum安装vsftp

yum -y install vsftpd


ftp启动、重启、停止、状态查询命令

service vsftpd start        #启动ftp
service vsftpd stop         #停止ftp
service vsftpd restart      #重启ftp
service vsftpd status       #查询ftp状态


设置为开机启动(可设置)

chkconfig vsftpd on


设置配置文件

vi /etc/vsftpd/vsftpd.conf


修改如下内容:

anonymous_enable=NO            #设置不允许匿名账户登录
chroot_local_user=YES          #所有用户限制在主目录中
chroot_list_enable=NO          #不启动限制用户名单,直接限制所有用户
userlist_enable=NO             #当为YES时只有userlist_file文件中指定的用户才能登录
allow_writeable_chroot=YES     #(在文件尾部新增)防止用户有写入权限时报错
local_root=/home/www            #(在文件尾部新增)设置用户的根目录


重启ftp

service vsftpd restart


创建ftp用户

创建用户组

groupadd ftpgroups


创建用户

# useradd 添加用户命令   -d /home/www 指定用户根目录  -g ftpgroups 加入用户组  ftptest用户名

useradd -d /home/www -g ftpgroups ftptest


设置用户密码

passwd ftptest          # passwd(命令) ftptest(用户名,根据你实际情况写)


设置不允许用于系统登录

usermod -s /sbin/nologin ftptest  #ftptest(用户名,根据你实际情况写)


设置文件权限

chmod 755 /home/www


设置目录拥有者

chown -R ftptest:root /home/www      #ftptest:ftp用户名 ; /home/www:文件目录


设置防火墙

查看防火墙状态,如果未启动,直接跳过本步骤

systemctl status firewalld


开放20、21端口(阿里云服务器还需配置安全组开放防火墙)

firewall-cmd --permanent --zone=public --add-port=20/tcp
firewall-cmd --permanent --zone=public --add-port=20/udp
firewall-cmd --permanent --zone=public --add-port=21/tcp
firewall-cmd --permanent --zone=public --add-port=21/udp
firewall-cmd --reload #重新载入


至此ftp服务安装成功,如果出现不能访问或不能写入的情况,就还需要设置SELinux(关闭)

sestatus -v     #查看SELinux状态,如果SELinux status参数为enabled即为开启状态

setenforce 0    #临时关闭(不用重启机器)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos ftp
相关文章推荐