CentOS开启FTP及配置用户

https://blog.csdn.net/mike427/article/details/54289929

vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。

什么是vsftpd

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

安装vsftpd

1、以管理员(root)身份执行以下命令

yum install vsftpd
  • 1
  • 2

2、设置开机启动vsftpd ftp服务

chkconfig vsftpd on
  • 1
  • 2

3、启动vsftpd服务

service vsftpd start
  • 1
  • 2

管理vsftpd相关命令:

停止vsftpd:

service vsftpd stop
  • 1
  • 2

重启vsftpd:

service vsftpd restart
  • 1
  • 2

配置防火墙

打开/etc/sysconfig/iptables文件

vi /etc/sysconfig/iptables
  • 1
  • 2

在REJECT行之前添加如下代码

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
  • 1
  • 2

保存和关闭文件,重启防火墙

service iptables start
  • 1
  • 2

配置vsftpd服务器

默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。 
vi /etc/vsftpd/vsftpd.conf 
添加ftp用户 
下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。

1、修改/etc/vsftpd/vsftpd.conf

将底下三行

#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
  • 1
  • 2
  • 3
  • 4

改为

chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
  • 1
  • 2
  • 3
  • 4

2、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。

useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
  • 1
  • 2

3、设置用户口令

passwd ftpuser
  • 1
  • 2

4、编辑文件chroot_list:

vi /etc/vsftpd/chroot_list
  • 1
  • 2

内容为ftp用户名,每个用户占一行,如:

peter
john
  • 1
  • 2
  • 3

5、重新启动vsftpd

service vsftpd restart
  • 1
  • 2

6、设置账户权限

chown -R ftpadmin.ftpadmin /path/you/set
  • 1
  • 2

另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:

http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users

其他

1.开启被动模式,数据端口范围:50000-55000

pasv_enable=YES
pasv_min_port=50000
pasv_max_port=55000
  • 1
  • 2
  • 3
  • 4

2.FirewallD 开启端口

firewall-cmd --zone=public --add-port=20-21/tcp --permanent  #添加20、21端口
firewall-cmd --zone=public --add-port=50000-55000/udp --permanent #添加一个数据传输端口50000-55000
firewall-cmd --reload  #热加载
  • 1
  • 2
  • 3
  • 4

3.500错误 
添加目录权限后会出现 
chown -R ftpuser /path/you/set 
编辑:vi /etc/vsftpd/vsftpd.conf 
添加:

allow_writable_chroot=YES
  • 1
  • 2

重启vsftp


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在 CentOS 上打开 FTP 虚拟用户,可以按照以下步骤进行操作: 1. 安装 vsftpd 服务: ``` sudo yum install vsftpd ``` 2. 创建虚拟用户的账户文件: ``` sudo touch /etc/vsftpd/virtual_users.txt ``` 3. 编辑虚拟用户的账户文件,添加虚拟用户账户和密码: ``` sudo nano /etc/vsftpd/virtual_users.txt # 添加下面的内容 # 用户名1 username1 password1 # 用户名2 username2 password2 ``` 4. 创建虚拟用户的对应目录: ``` sudo mkdir -p /home/vsftpd/username1 sudo mkdir -p /home/vsftpd/username2 ``` 5. 创建虚拟用户的 PAM 认证文件: ``` sudo touch /etc/pam.d/vsftpd.virtual ``` 6. 编辑虚拟用户的 PAM 认证文件,添加以下内容: ``` sudo nano /etc/pam.d/vsftpd.virtual # 添加下面的内容 auth required pam_userdb.so db=/etc/vsftpd/virtual_users account required pam_userdb.so db=/etc/vsftpd/virtual_users ``` 7. 使用 db_load 命令生成虚拟用户的账户数据库: ``` sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db ``` 8. 配置 vsftpd 服务文件: ``` sudo nano /etc/vsftpd/vsftpd.conf # 添加下面的内容 listen=YES anonymous_enable=NO local_enable=YES virtual_use_local_privs=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd.virtual guest_enable=YES user_sub_token=$USER local_root=/home/vsftpd/$USER hide_ids=YES pasv_min_port=40000 pasv_max_port=50000 ``` 9. 重启 vsftpd 服务: ``` sudo systemctl restart vsftpd ``` 现在,您的 CentOS 系统已经配置FTP 虚拟用户,可以使用虚拟用户进行 FTP 访问了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值