Linux - 开启FTP服务

vsftpd

 

一、Centos6.x配置ftp

1.1、安装OpenSSH-server

OpenSSH-server包含了FTP服务,通常,CentOS6.x默认已经安装了OpenSSH-server

(1)查看是否安装:rpm -q openssh-server

(2)安装openssh-server:yum -y install openssh-server

 

1.2、创建用户和目录

(1)创建用户:useradd -m ftpuser(默认/home/ftpuser即为该用户的家目录)

自定义家目录

① 创建自定义目录:mkdir -p /opt/custom_home/ftpuser

② 设置目录属主权限:chown ftpuser:ftpuser /opt/custom_home/ftpuser

③ 设置目录访问权限:chmod 750 /opt/custom_home/ftpuser

④ 创建用户并指定家目录:useradd -d /opt/custome_home/ftpuser ftpuser

⑤ 设置密码:passwd ftpuser

⑥ (可选)配置默认shell:usermod -s /bin/bash ftpuser

(2)设置密码:passwd ftpuser

 

1.3、设置SFTP访问目录

(1)配置/etc/ssh/sshd_config,文件末尾添加以下内容,/path/to/chroot/directory为实际的目录路径

Match User ftpuser
    ChrootDirectory /path/to/chroot/directory
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

(2)确保该目录存在且权限合理

sudo mkdir -p /path/to/chroot/directory
sudo chown root:root /path/to/chroot/directory
sudo chmod 755 /path/to/chroot/directory
# 如果需要用户有写权限,进一步调整目录权限
sudo chown ftpuser:ftpuser /path/to/chroot/directory
sudo chmod 750 /path/to/chroot/directory

 

1.4、重启SSH服务

(1)重启ssh服务:service sshd restart

 

 

 

二、Centos6.x创建ftp用户

2.1、开启FTP服务

启动vsftpd服务,并设置开机启动:service vsftpd start && chkconfig vsftpd on

 

2.2、防火墙

需要开放 FTP 相关端口(默认为 21,以及用于被动模式的数据传输端口范围,如 1024-1048):

sudo iptables -I INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 1024:1048 -j ACCEPT
sudo service iptables save
sudo service iptables restart

 

 

 

三、Centos7.x

3.1、vsftpd的安装和配置

(1)安装vsftpd:yum -y install vsftpd

(2)编辑vsftpd配置文件:/etc/vsftpd/vsftpd.conf

# 禁用匿名访问
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许写入权限(如果需要上传文件)
write_enable=YES 
# 限制用户在其家目录中,增强安全性
chroot_local_user=YES 

 

 

3.2、ftp用户和目录的配置

(1)创建FTP用户:useradd -m -s /sbin/nologin ftpuser-s /sbin/nologin 禁止用户通过ssh登录)

(2)设置FTP用户的密码:passwd ftpuser

(3)设置目录权限

sudo chown root:ftpuser /home/ftpuser
sudo chmod 750 /home/ftpuser
# 如果有公共上传下载目录,可适当调整权限
sudo chmod -R 770 /home/ftpuser/public

 

3.3、防火墙配置

(1)防火墙打开FTP服务的端口:firewall-cmd --permanent --add-service=ftp

(2)重新刷新防火墙配置:firewall-cmd --reload

 

3.4、启动并设置vsftpd服务

(1)启动vsftpd服务:systemctl start vsftpd

(2)设置开机启动:systemctl enable vsftpd

 

 

 

 

 

— 业精于勤荒于嬉,行成于思毁于随 —

posted @ 2024-05-16 14:36  HOUHUILIN  阅读(537)  评论(0编辑  收藏  举报