在Ubuntu9.4下配置ftp服务,我用的是最常用的vsftpd 。
首先,在线安装vsftpd:(以下都是在root权限下操作)
# apt-get install vsftpd
执行成功后,会在home下生成ftp账户:/home/ftp.
然后,修改/etc/vsftpd.conf:
#独立模式启动 *
listen=YES
#验证方式 *
pam_service_name=vsftpd
# 开启写权限
write_enable=YES
#允许上传
anon_upload_enable=YES
# 接受匿名用户,默认无密码请求,可根据实际情况开启或关闭
anonymous_enable=YES
# 接受本地用户,即登录系统的用户
local_enable=YES
listen=YES
#验证方式 *
pam_service_name=vsftpd
# 开启写权限
write_enable=YES
#允许上传
anon_upload_enable=YES
# 接受匿名用户,默认无密码请求,可根据实际情况开启或关闭
anonymous_enable=YES
# 接受本地用户,即登录系统的用户
local_enable=YES
#新增文件权限设定,本地用户新增档案时的umask 数值。默认值为077。不过,其他大多数的FTP服务器都是使用022
local_umask=022
local_umask=022
(最好还是改为local_umask=022,因为在默认的权限下,修改或新建文件后文件无法显示,因为没有读权限)
# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改
xferlog_enable=YES
# 日志使用标准 xferlog 格式
#xferlog_std_format=YES
# 使用 port 模式连接,并启用 20 端口
connect_from_port_20=YES
# 用户登陆后 idle 时间,超过设置超则被踢出服务器
#idle_session_timeout=600
#指定登录转向目录
local_root=/var/www/myApp
#所有帐户都只能访问当前目录,即不能访问local_root指定目录的上级目录
chroot_local_user=YES
# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改
xferlog_enable=YES
# 日志使用标准 xferlog 格式
#xferlog_std_format=YES
# 使用 port 模式连接,并启用 20 端口
connect_from_port_20=YES
# 用户登陆后 idle 时间,超过设置超则被踢出服务器
#idle_session_timeout=600
#指定登录转向目录
local_root=/var/www/myApp
#所有帐户都只能访问当前目录,即不能访问local_root指定目录的上级目录
chroot_local_user=YES
更多配置参见:Vsftpd服务安装设置
配置好你想要的服务,要重启vsftpd才能让配置生效:
/etc/init.d/vsftpd restart
其它的命令还有开启:
/etc/init.d/vsftpd start
关闭vsftpd:
/etc/init.d/vsftpd stop
遇到的问题:
默认创建的账户ftp无法登录,可自己创建账户:
useradd -m username #username可随意
passwd yourpassword #yourpassword为你的密码
passwd yourpassword #yourpassword为你的密码
如果想删除不想用的帐户,可以编辑:/etc/passwd,删除对应用户名的那一行,即可。
更多安全方面的问题还有待研究。
(/etc/vsftpd.conf配置部分参考:http://wiki.ubuntu.org.cn/Vsftpd%E6%9C%8D%E5%8A%A1%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE ,其它内容大部分来源于网络,恕不能一一列出。 )