今天在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!!!
【编辑推荐】