Proftpd 服务器安装配置

yum install proftpd

如果提示没有找到源

CentOS/RHEL 5 :

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
CentOS/RHEL 6 :

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
CentOS/RHEL 7 :

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

如果还是不行,可以到http://www.proftpd.org/下载
然后./configure --sysconfdir=/etc --localstatedir=/var/proftpd && make && make install,这里指定了sysconfdir,配置文件的位置,如果不指定,默认配置文件位置是在/usr/local/etc/目录

chkconfig --level 3 proftpd on

vi /etc/proftpd.conf

更改

AuthOrder mod_auth_file.c #设置仅使用虚拟用户认证

末尾添加

AuthUserFile /etc/ftpd.passwd
AuthGroupFile /etc/ftpd.group
RequireValidShell off
PersistentPasswd off
AuthPAM off
DefaultRoot /data
PassivePorts 20000 20200

=========================================

RequireValidShell off #关闭检测/etc/shells
PersistentPasswd off #禁止PAM认证
AuthPAM off #禁止PAM认证
#这里设置用户等FTP服务器的后的根目录。如果是设置为~(DefaultRoot ~ ),那么根目录就是每个用户自己的HOME目录(ftpasswd --home 参数指定),这样每个用户就会被限制在自己的HOME目录里面。实际上我们常用的是指定一个所有用户的FTP根目录,然后通过Directory和LIMIT来分别限制用户的权限,所以假设我们的FTP目录是系统的/data目录:
DefaultRoot /data
PassivePorts 20000 20200 #开启被动模式

建立文件

touch /etc/ftpd.passwd

touch /etc/ftpd.group

修改文件权限,必须是440,其他权限会导致服务无法启动,即使给777也不行

chmod 440 /etc/ftpd.passwd

chmod 440 /etc/ftpd.group

通过proftpd -t6检查语法是否正确

如果提示unable to determine IP address of ‘主机名称’

那么编辑/etc/hosts,加上系统主机名为127.0.0.1

安装用户配置工具ftpasswd到/usr/sbin目录

cd /usr/sbin/
wget http://www.castaglia.org/proftpd/contrib/ftpasswd
chmod +x ftpasswd

ftpasswd --passwd --name {username} --file /etc/ftpd.passwd --uid {5000} --gid {5000} --home /var/ftp/username-home/ --shell /bin/false

按提示输入两次密码

示例:添加ftp用户到ftpd.passwd,账户加密文件放到/etc/ftpd.passwd,用户名test,

指定该账号在系统中所属的用户id和组id为5000(可以添加到系统现有的用户或组,只需要用id命令先查到uid和gid,后面配置用户的访问权限就只需要修改相应的系统用户对文件的访问权限就可以了),指定用户的根目录是/www/www.abc.com/

ftpasswd --passwd --file /etc/ftpd.passwd --name test --uid 5000 --gid 5000 --home /www/www.abc.com/ --shell /bin/false

按提示输入两次密码

删除用户

ftpasswd --passwd --file /etc/ftpd.passwd --name test --delete-user

因为使用ftppasswrd修改了ftpd.passwd文件,需要 chmod 440 /etc/ftpd.passwd 再次重置下权限,否则可能启动失败

启动服务

service proftpd start

or

systemctl start proftpd

查看启动状态或错误代码

service proftpd status

or

systemctl status proftpd -l

安装lftp客户端软件进行测试

yum install lftp

连接服务器

lftp test@127.0.0.1

Password:(输入密码)

ls (列出当前目录文件)

help (打开帮助)

如果ls列出目录提示 Login failed: 530 Login incorrect.

可能是因为打开了SELINUX

临时关闭:

[root@localhost ~]# getenforce
Enforcing

[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive

永久关闭:

[root@localhost ~]# vim /etc/sysconfig/selinux

SELINUX=enforcing 改为 SELINUX=disabled

重启服务reboot

或者配置SELINUX
在这里插入图片描述

另外FTP登入目录的权限设置,需要至少设置rx

防火墙相关配置

1、开放21、20端口

iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

如果已配置了拒绝所有的配置项,类似,比如这条记录的记录号是6
REJECT --reject-with icmp-host-prohibited

则必须插入到这条记录之前
iptables -I INPUT 5 -p tcp --dport 20:21 -j ACCEPT
iptables -I INPUT 5 -p tcp --dport 20000:20200 -j ACCEPT #被动模式端口

如果OUTPUT默认也是DROP,那么还需要添加一下规则。

iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

2、接受所有状态为ESTABLISHED、RELATED的连接

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -I INPUT 5 -m state --state ESTABLISHED,RELATED -j ACCEPT

编辑防火墙配置文件

vi /etc/sysconfig/iptables-config

末尾添加

IPTABLES_MODULES=“ip_conntrack_ftp”
IPTABLES_MODULES=“ip_nat_ftp”

service iptables save #保存防火墙规则

service iptables restart #重启防火墙

权限设置案例:

#注意:这里的目录是相对于FTP根目录(DefaultRoot目录,我们刚才设置的时 /data)的目录

#首先去除所有权限

DenyAll

#设置admin具有FTP根目录下的所以操作权限,所有用户具有切换目录和列出目录的权限(否则用户无法任意切换目录)


AllowUser admin


AllowALL


#设置test用户有对test目录的完整操作权限
<Directory /test>

AllowUser test


权限设置详解

http://www.proftpd.org/docs/howto/Directory.html

命令 解释
CMD Change Working Directory 改变目录
MKD MaKe Directory 建立目录的权限
RNFR ReName FRom 更改目录名的权限
DELE DELEte 删除文件的权限
RMD ReMove Directory 删除目录的权限
RETR RETRieve 从服务端下载到客户端的权限
STOR STORe 从客户端上传到服务端的权限
READ 可读的权限,不包括列目录的权限,相当于 RETR , STAT 等
WRITE 写文件或者目录的权限,包括 MKD 和 RMD
DIRS 是否允许列目录,相当于 LIST , NLST 等权限,还是比较实用的
ALL 所有权限

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装配置FTP服务器,您可以按照以下步骤进行操作: 1. 选择FTP服务器软件:常见的FTP服务器软件有vsftpd、ProFTPD和Pure-FTPd等。根据您的需求选择适合您的服务器软件。 2. 安装FTP服务器软件:根据您选择的软件不同,可以使用包管理器(如apt、yum等)或从官方网站下载安装包进行安装。例如,在Ubuntu上使用apt安装vsftpd可以执行以下命令: ``` sudo apt update sudo apt install vsftpd ``` 3. 配置FTP服务器配置文件位置根据不同的软件而有所不同。通常,配置文件位于`/etc/`目录下。您可以编辑配置文件以进行必要的更改。常见的配置选项包括监听端口、允许匿名访问、用户权限等。 4. 启动FTP服务器:根据您的操作系统和FTP服务器软件,可以使用命令或服务来启动FTP服务器。例如,在Ubuntu上启动vsftpd可以执行以下命令: ``` sudo service vsftpd start ``` 5. 防火墙设置:如果您的系统启用了防火墙,确保允许FTP流量通过相应的端口。默认情况下,FTP服务器使用TCP端口21进行控制连接,并使用TCP端口范围20-21进行数据连接。您可以相应地配置防火墙规则。 6. 用户管理:根据需要,您可以创建FTP用户和设置其权限。可以使用FTP服务器软件提供的命令行工具或管理界面来管理用户。 以上是一个基本的安装配置FTP服务器的步骤。请注意,具体的步骤可能会因您选择的软件和操作系统而有所不同。在进行安装配置之前,请确保您对操作系统和相关软件有一定的了解,以便正确地进行设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值