一、安装ProFTPD

1 、准备工作

一般系统自带的RPM 包的版本太老,有些Bug 并且有些功能不全,下载较新的ProFTPD 服务器进行安装。如果是自己练习或者内部使用,可以使用新版的,如果做服务器,提供正式的服务,一定使用稳的版本,这是一个良好的习惯。

下载地址: http://www.proftpd.org/download.html

安装gcc

如果系统没安装GCC 请安装GCC 程序。在FC4 的CD2 中,RedHat 这点比较讨厌,在Debian 系统中就简单了。

#rpm -ivh libstdc++-devel-4.0.0-8.i386.rpm

#rpm -ivh gcc-c++-4.0.0-8.i386.rpm

2 、编译安装ProFTPD

我们这里使用手工编译安装,配置文件放到/etc/proftpd/ 目录下,其他文件使用默认的安装目录,bin 文件为/usr/l数据库专家 认证l/sbin/proftpd 。

#tar -zxvf proftpd-1.3.0rc3.tar.gz                  // 解压源文件 #cd proftpd-1.3.0rc3                            // 进入目录 #mkdir /etc/proftpd                             // 建立配置文件目录 #./configure --sysconfdir=/etc/proftpd              // 生产config 文件 #make                                       // 编译文件 #make install                                  // 安装 # which proftpd                                // 查看系统文件位置

/usr/l数据库专家 认证l/sbin/proftpd

注意:为规范服务器的管理,配置文件放到/etc/proftpd 目录下。

3 、手工启动ProFTPD

# /usr/l数据库专家 认证l/sbin/proftpd

注:查看ProFTPD 是否启动可以使用ps –aux |grep proftpd 查看进程中是否有proftpd 。

4 、配置启动脚本,让ProFTPD 跟随服务器自己启动,我们把启动文件放到/etc/rc.l数据库专家 认证l 文件中。这种配置仅限于RedHat 系列的服务器。

#cp contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd   // 将系统脚本拷贝到启动目录 # echo "/etc/init.d/proftpd start" >>/etc/rc.l数据库专家 认证l        // 将启动脚本加到自启动文件中

二、配置proftpd 服务器

【目的】

1 、匿名用户能够登陆系统,并且能够向incoming 目录上传文件、建立目录,不能下载、删除、文件和目录,不能对目录和文件进行改名;pub 目录里面的文件只能下载,不能进行上传文件、删除,不能建立目录和删除目录。

2 、ftpadmin 用户可以对整个ftp 的进行管理,可以对文件进行上传、下载、删除、移动、改名等全部操作,对目录进行建立、删除、移动、改名等全部操作。

【配置过程】

1 、准备工作

(1 )、添加匿名的ftp 和ftpadmin 用户

默认的使用ftp 用户,一般系统安装后都会天加该用户,使用finger ftp 命令进行查询,看是否有ftp 用户。如果系统有该用户,使用vipw 命令修改ftp 用户的根为/dev/null (这个目录可以随便定义,根据你的需要进行选择,这理为了实验,随便找个目录)。如果没有该用户,我们自己添加该用户。

# useradd -s /bin/false -d /dev/null ftp # finger ftp # useradd -s /bin/false -d /var/ftp ftpadmin # finger ftpadmin

#passwd ftpadmin

(2 )、如果没有/var/ftp 目录,建立/var/ftp 根目录:

# mkdir /var/ftp # mkdir /var/ftp/incoming         // 匿名用户可以写,不可以下载、删除、执行 # mkdir /var/ftp/pub              // 匿名用户不能写、下载、删除、执行 # chgrp ftp /var/ftp/incoming       // 将incoming 目录的所属组改为ftp # chgrp ftp /var/ftp/pub            // 将pub 目录的所属组改为ftp # chown ftpadmin /var/ftp/pub      // 将/var/ftp/pub 的目录属主该为ftpadmin # chown ftp /var/ftp/incoming/      // 将/var/ftp/incoming 的目录属主该为ftp # chmod –R 775 /var/ftp/incoming/  // 改变incoming 目录为属主和同组为全部权限,其他可读权限 # chmod –R 755 /var/ftp/pub       // 改变pub 目录权限为属主全部权限,同组和其他为可读权限

可以使用下面命令进行确认:

# ls –l /var/ftp

total 16

drwxrwxr-x  2 ftp      ftp 4096 Mar 19 00:49 incoming

drwxr-xr-x   2 ftpadmin  ftp 4096 Mar 19 00:01 pub

(3 )建立log 文件

# mkdir /var/log/proftpd # touch /var/log/proftpd/proftpd.log

2 、修改配置文件

修改/etc/prftpd/proftp.conf # ServerName "FTP Server "  # 服务器的名字 ServerType standalone     #proftpd 运行的方式, 有standalone 和inetd DeferWelcome off        # 只有在认证用户之后才显示欢迎信息 ServerIdent off      # 登陆的时候不显示ftp 服务器的相关信息,增加安全性 # User

nobody    #

以nobody,nogroup

的身份运行程序 Group

nogroup # Port 21          # 指定FTP 的端口,默认是21 端口 # Umask 002          # 新文件的权限掩码 ShowSymlinks

off          #

不显示链接文件的目标文件 DefaultRoot

~  !username # ~

用户只能访问自己的目录,!usernmae

用户除外 RequireValidShell

off  #

用户是否拥有shell,

关闭安全 #

UseReverseDNS off          # 关闭DNS 反向查询, 节省连接时间

IdentLookups off # TimeoutLogin

60        #

登陆时等待输入密码的时间 TimeoutIdle

300       #

登陆后允许IDLE

的时间 TimeoutNoTransfer

600  #

没有数据传输时允许IDLE

的时间

# AllowStoreRestart on       # 允许断点续上传AllowRetrieveRestart on       # 允许断点续下载

AllowForeignAddress                                on              # 要允许FXP 写成on

# PassivePorts 50000 65534        # 指定被动模式端口的范围

# MultilineRFC2228 on         #FTP 安全扩展 # MaxClients

100 "Sorry, the m

aximum n

umber of allowed users are already connected (%m)"

#

最大链接数限制MaxInstances

100       #

最大实例数为30, MaxClientsPerHost

2

"

每个IP

只允许2

个连接"  #

每个IP

只能有两个连接ServerLog

/var/log/proftpd/ #SystemLog               /var/log/proftpd/system_log ExtendedLog

/var/log/proftpd/proftpd.log ALL # AllowOverwrite on #

DenyAll

User                          ftp

Group                         ftp

AnonRequirePassword           off

MaxClients                    50

MaxClientsPerHost             3 "Sorry, you may not connect more than five times."

Umask                         002     002

# We want clients to be able to login with "anonymous" as well as "ftp"

UserAlias                     anonymous ftp

# We want 'welcome.msg' displayed at login, and '.message' displayed

# in each newly chdired directory.

DisplayLogin                  welcome.msg

DisplayFirstChdir             .message

TransferRate RETR 2000

TransferRate STOR 2000

Allow                       from all

# Limit WRITE everywhere in the anonymous chroot

DenyAll

AllowOverwrite on

Order Deny, Allow

Allow from all

DenyAll

AllowOverwrite off

Order Deny, Allow

Allow from all

DenyAll

DenyAll

User                           ftpadmin

Group                          ftp

# Limit the maximum number of anonymous logins

MaxClients                     10

# We want 'welcome.msg' displayed at login, and '.message' displayed

# in each newly chdired directory.

DisplayLogin                   welcome.msg

DisplayFirstChdir              .message

Umask                          002 002

# Limit WRITE everywhere in the anonymous chroot

Order                       Allow,Deny

Allow                       from 172.22.0.0/24

Allow                       from 172.16.22.0/24

Deny                        from all

AllowOverWrite              on

DenyAll

AllowAll

使用的命令:

1 、查看端口:ftp 使用21 端口

netstat –anl

2 、查看进程

ps –axu |grep proftpd

3 、重启ftp 服务

/etc/init.d/proftpd stop

/etc/init.d/proftpd start

4 、修改网卡地址

(1 )修改网络配置文件

vi /etc/network/interfaces

auto eth0

iface eth0 inet static

address 172.xx.xx.6  # 将172.xx.xx.6 改成你要改的ip 地址,保存推出

netmask 255.255.255.0

network 172.xx.xx.0

broadcast 172.xx.xx.255

gateway 172.xx.xx.254

# dns-* options are implemented by the resolvconf package, if installed

dns-nameservers 172.xx.xx.11

(2 )重新启动网络

/etc/init.d/networking restart 附录1

1 、Porftpd.conf 配置格式

# 全局设置

设置项目1 参数1

设置项目2 参数2

# 某个目录的设置

...

...

# 关于匿名用户的设置

...

...

...

...

2 、参数说明

CWD :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 :所有权限

LOGIN :是否允许登陆的权限

3 、limit 说明

AllowUser 针对某个用户允许的Limit

DenyUser 针对某个用户禁止的Limit

AllowGroup 针对某个用户组允许的Limit

DenyGroup 针对某个用户组禁止的Limit

AllowAll 针对所有用户组允许的Limit

DenyAll 针对所有用户禁止的Limit

linux proftpd 关闭匿名用户,linux服务器管理相关问题(四)--proftpd配置相关推荐

  1. linux proftpd 关闭匿名用户,Linux ProFTPd安装与卸载详细介绍_Linux_脚本之家

    Linux系统上ProFTPd安装与卸载的详细过程 yum install proftpd vi /etc/proftpd.conf ← 修改ProFTPD的配置文件 ServerType stand ...

  2. 在linux中关于组的命令,linux 用户和组管理相关的命令

    linux 用户和组管理相关的命令 用户管理 useradd建立用户帐号 语 法:useradd [options] LOGIN 参 数:-u UID: [UID_MIN, UID_MAX]定义在/e ...

  3. 史上最牛最强的linux学习笔记 7.用户和用户组管理

    写在最前面:前面留下来的几章内容,今天补一下. 昨天在安装虚拟机后,不知道如何创建用户.修改用户密码(还有不知道如何将ip地址配置到文件里,现在都没敢重启虚拟机)!说白了,不是不知道命令,只是一直报错 ...

  4. LINUX系统中的用户和用户组管理(一)【转】

    本文转载于https://www.cnblogs.com/zhongguiyao/p/9165917.html 一.用户账户管理 Linux/Unix是一个用户.多任务的操作系统:在讲Linux账号及 ...

  5. linux ssh关闭icmp,ICMP协议服务器怎么开启关闭ICMP协议?

    一.ICMP协议简介 ICMP(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议簇的一个子协议,用于在IP主机.路由器之间传递控制 ...

  6. linux如何设置账号全民,linux基本练习:用户和组管理的相关练习

    linux用户和组管理命令的相关练习: 1.创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003), 附件组为linux: #groupadd -g 3003 di ...

  7. Linux黑科技与用户及组管理

    目录 一.Linux有趣的黑科技 二.用户管理-用户操作中的chage命令 三.组管理 四.用户信息查看 前言 一.Linux有趣的黑科技 1.首先保证自己的网络属于连接状态 2.然后安装epel源 ...

  8. Linux常用命令:用户、权限管理

    目录 一.运行模式 二.用户管理(重点) 1.添加用户 2.修改用户 3.设置密码 4.删除用户 5.查看当前用户:whoami 6.查看登录用户:who 7.查看登录用户:w 8. 退出登录账户: ...

  9. Linux:ftp匿名用户无法登录,530 Permission denied.Login failed.

    匿名用户登录ftp,产生报错: 530 Permission denied.                                                 Login failed. ...

最新文章

  1. 基于熵权法优劣解距离法_基于优劣解距离法的火电机组单辅机运行状态评估
  2. 从qspi启动linux时间,Zynq-Linux移植学习笔记(二十三)——QSPI速度配置
  3. ipynb和py文件一样吗_文件描述符了解一下
  4. Java实现消息发送
  5. 碎片时间学习前端,我推荐这些~
  6. NET问答:什么场景下应该选择 struct 而不是 class ?
  7. Android 4.0 Launcher源码分析系列(二)
  8. TypeError object of type ‘type‘ has no len()—Python报错问题:
  9. idea自动构建web项目_构建Web应用程序以自动执行系统管理员任务
  10. Sending and Receiving Binary Data
  11. 用友A8 mysql配置文件_用友nc 读取配置文件方法
  12. java数组排序方法
  13. ipad 模拟 触控板_如何将蓝牙鼠标或触控板连接到iPad
  14. 怎么给图片加边框线?图片加边框的方法
  15. 增长黑客手册——03
  16. python微信转账记录_python 处理微信对账单数据的实例代码
  17. 【壁纸】 Kali Linux 2019.13 原版壁纸
  18. 《Python数据分析与挖掘实战》Chapter8中医证型关联规则挖掘笔记
  19. 【笔记】玩转CSS3新特性_from_JSPang
  20. ⭐程序员必备软件图鉴⭐(建议收藏)

热门文章

  1. 洛克王国服务器维护,《洛克王国》4月19日服务器更新公告
  2. 怎么录制电脑上正在播放的视频音频
  3. IP电话面临的几个问题
  4. 二维码,计算机视觉,物联网产品----论计算机视觉产品的应用化
  5. Nokia S60v5 javaME 禁用 softkeypad
  6. springboot项目集成log4j2打成jar包 ,引入外边的log4j2文件,运行日志无法打印
  7. GD32移植STM32HAL库接口
  8. Shiro过滤器(1)-先从filter路径开始讲起
  9. AMBA APB学习记录(AMBA 2.0)
  10. 书法比赛评分系统-JAVA【数据库设计、源码、开题报告】