王力猛的博客

-=☆开发手记☆=-

老王ID:wallimn
30069次访问,排名3602(1)好友1人,关注者5
写过一些软件,VC、Delphi、Java都会一些,Oracle数据库也懂一点。这几年一直在同这些东西打交道。
wallimn的文章
原创 45 篇
翻译 0 篇
转载 7 篇
评论 72 篇
wallimn的公告

  我是一名编程爱好者,在此记录一些我编程过程中遇到的问题及解决方法,希望对遇到类似问题的朋友有所帮助。
  欢迎有共同爱好的朋友联系交流。
邮件:
wallimn@yahoo.cn
QQ:
54871876
MSN:
wallimn@hotmail.com
网络硬盘:
http://wallimn.ys168.com
最近评论
agjyfm:wow gold
fromnpu:需要一个omdt的安装程序,邮箱asheng200325@qq.com,先行谢谢楼主了!
nino:牛,我顶,今天我也遇到这个问题~谢谢~
dongzheng:那个WORD签名插件在保存关闭之后再打开,好像插件就不透明了啊
dongzheng:老王,那个WORD
文章分类
收藏
    相册
    个人相册
    友情链拉
    我的博客2
    我的网络硬盘
    我老婆的博客
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 linux服务器管理相关问题(四)--proftpd配置收藏

    新一篇: 介绍一款可视化的流程定义工具

  • 一、安装ProFTPD

     

    1、准备工作

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

     

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

    安装gcc

    如果系统没安装GCC请安装GCC程序。在FC4CD2中,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目录里面的文件只能下载,不能进行上传文件、删除,不能建立目录和删除目录。

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

     

    【配置过程】

     

    1、准备工作

    1)、添加匿名的ftpftpadmin用户

    默认的使用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运行的方式,standaloneinetd
    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 maximum number 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
    #

    <Limit SITE_CHMOD>

      DenyAll

    </Limit>

     

    <Anonymous /home/ftp>

      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

      <Limit LOGIN>

          Allow                       from all

      </Limit>

     

      # Limit WRITE everywhere in the anonymous chroot

      <Limit WRITE>

         DenyAll

      </Limit>

     

      <Directory /home/ftp/incoming/*>

        AllowOverwrite on

        <Limit WRITE STOR CWD MKD>

          Order Deny, Allow

          Allow from all

        </Limit>

        <Limit READ RMD DELE RNFR RNTO SITE_CHMOD>

          DenyAll

        </Limit>

      </Directory>

     

      <Directory /home/ftp/pub/*>

        AllowOverwrite off

        <Limit STOR CWD READ>

          Order Deny, Allow

          Allow from all

        </Limit>

     

        <Limit WRITE>

          DenyAll

        </Limit>

     

        <Limit RMD DELE RNFR RNTO SITE_CHMOD>

          DenyAll

        </Limit>

      </Directory>

    </Anonymous>

     

    <Anonymous ~>

     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

       <Limit LOGIN>

        Order                       Allow,Deny

        Allow                       from 172.22.0.0/24

        Allow                       from 172.16.22.0/24

        Deny                        from all

       </Limit>

       <Directory /*>

        AllowOverWrite              on

       <Limit SITE_CHMOD>

        DenyAll

       </Limit>

       <Limit WRITE STOR CWD MKD READ RMD DELE RNFR RNTO SITE_CHMOD>

        AllowAll

       </Limit>

       </Directory>

     

    </Anonymous>

     

     

    使用的命令:

    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

    1Porftpd.conf配置格式

     

    #全局设置

    设置项目1 参数1

    设置项目2 参数2

     

    #某个目录的设置

    <Directory "路径名">

    ...

    ...

    </Directory>

     

    #关于匿名用户的设置

    <Anonymous "匿名登陆的目录">

    ...

    ...

    <Limit 限制动作>

    ...

    ...

    </Limit>

    </Anonymous>

     

    2、参数说明

    CWDChange Working Directory 改变目录

    MKDMaKe Directory 建立目录的权限

    RNFR ReName FRom 更改目录名的权限

    DELEDELEte 删除文件的权限

    RMDReMove Directory 删除目录的权限

    RETRRETRieve 从服务端下载到客户端的权限

    STORSTORe 从客户端上传到服务端的权限

    READ:可读的权限,不包括列目录的权限,相当于RETRSTAT

    WRITE:写文件或者目录的权限,包括MKDRMD

    DIRS:是否允许列目录,相当于LISTNLST等权限,还是比较实用的

    ALL:所有权限

    LOGIN:是否允许登陆的权限

    3limit说明

    AllowUser 针对某个用户允许的Limit

    DenyUser 针对某个用户禁止的Limit

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

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

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

    DenyAll 针对所有用户禁止的Limit

  • 发表于 @ 2008年04月26日 13:42:25|评论(loading...)|编辑

    旧一篇: linux服务器管理相关问题(三)--使用crontab

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © wallimn