Linux系统下ProFTPD安装小结

今天在Ubuntu Linux上安装了ProFTPD,遇到一些小麻烦,跟大家share一下。
1. 配置运行ProFTPD的方法
   ServerType                      inetd
   # Set the user and group that the server normally runs at.
   User                            nobody
   Group                           nobody

如果ServerType选择了inetd,/etc/init.d/proftpd start,就会报错,因为你选择了inetd运行。
ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration.
若要手动执行ProFTPD, 要把 ServerType 设成 standalone才行。

2. NIS认证
   /etc/nsswitch.conf 必须有nis服务
   # Users require a valid shell listed in /etc/shells to login.
   # Use this directive to release that constrain.
   # RequireValidShells            off
   必须把NIS Sever传过来的shell信息/usr/local/bin/bash,放在/etc/shells列表才行,否则视为invalid shell。
   另外,也可以在/etc/passwd文件中的对应shell的那个field直接进行修改为/bin/bash,则忽略远端传过来的shell信息。
   还有一个很重要的设置,
   # Uncomment this if you are using NIS or LDAP to retrieve passwords:
   PersistentPasswd                off
   PersistentPasswd 如果设置为on,就只检查/etc/passwd里面的user account,不要用uncomment,要用上述语句,切记!


3. xinet启动ProFTPD
   # Set the user and group that the server normally runs at.
   User                            root
   Group                           root

   建立/etc/xinetd.d/proftpd,然后编辑如下内容。
   service ftp
   {
    disable = no
       flags   =REUSE
       socket_type  = stream
       wait  = no
       user  = root
    server  = /usr/sbin/proftpd
      server_args  = -c /etc/proftpd/proftpd.conf
      log_on_success  += DURATION USERID
      log_on_failure  += USERID
   }
   保存之后,chmod +x proftpd

Everything gonna be alright!