linux中怎么解决开启iptables和setlinux实现ftp登陆

linux中怎么解决开启iptables和setlinux实现ftp登陆,第1张

如果要开启防火墙:/etc/init.d/iptables stop或者services iptables stop

如果要开启selinux:setenforce 0

建议关闭防火墙以及selinux

ftp ###加载ip_nat_ftp模块(若没有编译进内核),以使ftp能被正确NAT

modprobe ip_conntrack_ftp ###加载ip_conntrack_ftp模块

# 用DNAT作端口映射

iptables -t nat -A PREROUTING -d a.b.c.d -p tcp --dport 21 -j DNAT --to 192.168.0.5

iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 21 -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.0.5-p tcp --sport 21 -m --state ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.0.5 -p tcp --sport 20 -m --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 20 -m --state ESTABLISHED -j ACCEPT

iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 1024: -m --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.0.5 -p tcp --sport 1024: -m --state ESTABLISHED -j ACCEPT

# 用SNAT作源地址转换(关键),以使回应包能正确返回

iptables -t nat -A POSTROUTING -d 192.168.0.5 -p tcp --dport 21 -i eth0 -j SNAT --to 192.168.0.1

最后配置自动启动文件,这样开机就自动启动服务了

什么是vsftpd

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

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

安装vsftpd

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

yum install vsftpd

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

chkconfig vsftpd on

3、启动vsftpd服务

service vsftpd start

管理vsftpd相关命令:

停止vsftpd: service vsftpd stop

重启vsftpd: service vsftpd restart

配置防火墙

打开/etc/sysconfig/iptables文件

vi /etc/sysconfig/iptables

在REJECT行之前添加如下代码

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

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

service iptables start

配置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

改为

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

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

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

4、设置用户口令

passwd ftpuser

5、编辑文件chroot_list:

vi /etc/vsftpd/chroot_list

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

peter

john

6、重新启动vsftpd

service vsftpd restart

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11416036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存